logo
icon

OneCLI

Pasarela y bóveda de credenciales de código abierto para agentes de IA. Almacena las claves API una vez, las inyecta de forma transparente cuando tus agentes hacen llamadas HTTP — nunca ven las claves reales.

template cover
Implementado1 veces
Editorglasschan
Creado2026-08-01
Etiquetas
AISecurityVaultCredentialsAI AgentsGateway

OneCLI — Bóveda de Secretos para Agentes de IA (creado por SEAFOODHOLDHAND)

OneCLI es la pasarela de credenciales de código abierto que se sitúa entre tus agentes de IA y los servicios a los que llaman. Almacena las claves API reales una vez en la bóveda cifrada de OneCLI, da a tus agentes claves placeholder (p. ej. FAKE_KEY), y la pasarela OneCLI inyecta las credenciales reales de forma transparente en las solicitudes salientes — los agentes nunca ven los secretos reales.

Esta plantilla despliega una instancia completa de OneCLI con un solo clic.

Arquitectura

[Zeabur LB] → Aplicación OneCLI (una sola imagen, dos procesos)
                  ├─ :10254  → Dashboard Web Next.js (UI + API)
                  └─ :10255  → Pasarela Rust (proxy de inyección de credenciales)
[PostgreSQL]  → Base de datos OneCLI (agentes, secretos, registros de auditoría)

La imagen de la app OneCLI (ghcr.io/onecli/onecli:latest) incluye:

  • Dashboard web Next.js en el puerto 10254 (UI, gestión de agentes, gestión de secretos)
  • Pasarela Rust en el puerto 10255 (proxy transparente de inyección de credenciales)
  • Migraciones de Prisma se ejecutan automáticamente al iniciar el contenedor
  • SECRET_ENCRYPTION_KEY auto-generada y persistida en /app/data/ (AES-256-GCM)

⚠️ Léelo antes de guardar credenciales reales — Seguridad

Por defecto, esta plantilla se despliega en modo usuario único / local: el dashboard se abre sin login. Cualquiera que pueda llegar al dominio de tu dashboard puede ver y gestionar todas las claves API almacenadas. OneCLI es un almacén de credenciales — exponerlo por defecto en internet público no es seguro.

Antes de guardar cualquier secreto real, haz UNO de los siguiente:

  1. Bloquea el dashboard con Google OAuth — en el servicio onecli del panel de Zeabur, define NEXTAUTH_SECRET + GOOGLE_CLIENT_ID + GOOGLE_CLIENT_SECRET juntos (los tres, luego reinicia). Consulta "Configuración Post-Despliegue" más abajo.
  2. O mantén el dashboard en un dominio privado / no público (p. ej. accesible solo por VPN o red privada), para que solo tú puedas abrirlo.

El Dominio de la Pasarela (adonde los agentes envían peticiones) siempre es público — eso es correcto, la pasarela autentica cada llamada con un access token por agente. La preocupación es solo el Dominio del Dashboard en modo local por defecto.

Cómo Funciona

  1. Abre https://your-domain.zeabur.app en tu navegador
  2. Accederás directamente al dashboard (no requiere login en modo usuario único)
  3. Crea tu primer agente y obtén un access token
  4. Añade las claves API reales a la bóveda
  5. Dirige el cliente HTTP de tu agente de IA a la URL de la pasarela
Tu Agente → [FAKE_KEY] → Pasarela OneCLI → [REAL_KEY] → API Externa (OpenAI, GitHub, etc.)
                                                 ↓
                                        Log de auditoría + rate limit

Funcionalidades

  • Inyección transparente de credenciales — los agentes hacen llamadas HTTP normales, la pasarela maneja la auth
  • Cifrado AES-256-GCM en reposo — los secretos se descifran solo en el momento de la solicitud
  • Coincidencia por host y ruta — enruta secretos a endpoints específicos de API
  • Soporte multi-agente — cada agente obtiene su propio access token con scopes
  • Pasarela Rust — proxy HTTP rápido y memory-safe con intercepción MITM
  • Dos modos de auth — usuario único (sin login) o Google OAuth (equipos multi-usuario)
  • Integración con Vault — conecta Bitwarden para inyección de credenciales bajo demanda
  • Log de auditoría completo — ve exactamente qué está haciendo cada agente

Primer Inicio de Sesión

Después de que se complete el despliegue (puede tomar 2-3 minutos para el inicio inicial + migraciones):

  1. Abre https://your-domain.zeabur.app en tu navegador
  2. Accederás directamente al dashboard (no requiere login en modo usuario único)
  3. Crea tu primer agente y obtén un access token
  4. Añade secretos a la bóveda
  5. Dirige el cliente HTTP de tu agente de IA a la URL de la pasarela

Configura tu Agente de IA

Una vez que tengas un token de agente y al menos un secreto almacenado:

# Ejemplo: enrutar llamadas de OpenAI a través de OneCLI
curl https://your-gateway-domain.zeabur.app/v1/chat/completions \
  -H "Authorization: Bearer <your-agent-access-token>" \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4","messages":[{"role":"user","content":"Hello!"}]}'

En el código de tu agente, simplemente usa un placeholder como FAKE_OPENAI_KEY y OneCLI lo intercambiará por la clave real.

Configuración Post-Despliegue (Opcional)

Personaliza estas variables de entorno en el panel de Zeabur bajo el servicio onecli:

Habilitar Google OAuth (modo multi-usuario):

  • NEXTAUTH_SECRET → tu NextAuth secret
  • GOOGLE_CLIENT_ID → tu Google OAuth client ID
  • GOOGLE_CLIENT_SECRET → tu Google OAuth client secret

Puerto de Pasarela Personalizado:

  • GATEWAY_PORT → por defecto 10255

Notas

  • La clave de cifrado (SECRET_ENCRYPTION_KEY) se genera automáticamente en el primer inicio y se persiste en /app/data/. No pierdas este volumen — sin él, todos los secretos almacenados son irrecuperables.
  • La pasarela Rust usa intercepción HTTPS (MITM) para inyectar credenciales. Tu agente debe confiar en el certificado CA de OneCLI (o usar --insecure-skip-verify en desarrollo).
  • Las migraciones de base de datos se ejecutan automáticamente a través del script de entrypoint.
  • La imagen all-in-one pesa ~500MB (Next.js + pasarela Rust). Más pequeño que ejecutarlos por separado.

Más información: https://github.com/onecli/onecli

Si encuentras algún problema durante el despliegue, avísanos a través de GitHub issues: https://github.com/glasschan/seafoodholdhand-zeabur-templates