logo
icon

OpenAB Codex

Open Agent Broker — un arnés ligero en Rust que conecta Discord y Slack con cualquier CLI de coding compatible con ACP (Claude Code, Codex, Gemini, Kiro) a través de stdio JSON-RPC. Fuente: https://github.com/openabdev/openab

template cover
Implementado47 veces
EditorzeaburZeabur
Creado2026-04-19
Mínimo2 Núcleos4 GB
Recomendado4 Núcleos8 GB
Etiquetas
AIDeveloper ToolsDiscordSlack

OpenAB Codex

OpenAB es un arnés ligero de código abierto en Rust que conecta Discord y Slack con cualquier CLI de coding compatible con Agent Client Protocol a través de stdio JSON-RPC.

Esta plantilla despliega la variante Codex (openab-codex), que utiliza codex-acp como backend de agente.

Notas Importantes

  • Etiqueta de imagen: Esta plantilla usa una versión fijada (0.8.3-beta.4). Para actualizar, cambie la etiqueta de imagen en Zeabur Dashboard → Servicio → Configuración. Etiquetas disponibles: GitHub Packages.
  • Almacenamiento persistente: /home/node está montado como volumen persistente. Plugins, configuración y credenciales se conservan entre reinicios.
  • Permisos de archivos: El contenedor se ejecuta directamente como el usuario node (uid 1000). Si encuentra problemas de permisos en el volumen persistente, reinicie el servicio.

Configuración

1. Obtener el Discord Bot Token

  1. Ir a https://discord.com/developers/applications y hacer clic en New Application
  2. Ir a la pestaña Bot → clic en Reset Token → copiar el token
  3. En la misma página, bajar y habilitar Message Content Intent en Privileged Gateway Intents
  4. Ir a OAuth2 → URL Generator → marcar scope bot → marcar permisos: Send Messages, Send Messages in Threads, Create Public Threads, Read Message History, Add Reactions, Manage Messages
  5. Copiar la URL generada y abrirla en el navegador para invitar al Bot al servidor

2. Autenticación (elegir una)

Opción A: OpenAI API Key (facturación por token — ver precios)

  1. Ir a platform.openai.com/api-keys
  2. Clic en Create new secret key → copiar la clave
  3. Completar OpenAI API Key al desplegar
  4. El servicio ejecuta codex login --with-api-key automáticamente en el primer arranque — no se necesita intervención manual

Opción B: Suscripción ChatGPT (Plus/Pro/Business — uso incluido en el plan)

  1. Dejar OpenAI API Key vacío al desplegar
  2. Después de que el servicio inicie, ir a Zeabur Dashboard → Servicio → Exec
  3. Ejecutar el login como el usuario node para que las credenciales tengan el dueño correcto desde el inicio:
    runuser -u node -- codex login --device-auth
    
  4. Abrir la URL mostrada en el terminal y autorizar con la cuenta de ChatGPT
  5. Las credenciales se guardan en /home/node/.codex/auth.json en el volumen persistente y se actualizan automáticamente — las nuevas conversaciones aplican la nueva autenticación inmediatamente, sin reinicio (solo reinicie si quiere invalidar las sesiones existentes en memoria). Este paso solo es necesario una vez

3. Obtener IDs de canales de Discord

  1. Abrir Discord → Ajustes de usuario (icono de engranaje) → Avanzado → activar Modo desarrollador
  2. Clic derecho en el canal donde quieres que el Bot responda → Copiar ID del canal
  3. Para múltiples canales, separar con comas: 123456789012345678,234567890123456789

4. Desplegar

Completar las variables y hacer clic en desplegar. El servicio se conecta a Discord y/o Slack automáticamente.

Configuración de Slack (Opcional)

OpenAB soporta Slack mediante Socket Mode — no se necesita URL pública.

  1. Ir a https://api.slack.com/appsCreate New AppFrom scratch
  2. Socket Mode → Habilitar → generar App-Level Token con scope connections:write → copiar el token xapp-... (SLACK_APP_TOKEN)
  3. Event Subscriptions → Habilitar → añadir bot events: app_mention, message.channels, message.groups
  4. OAuth & Permissions → Bot Token Scopes → añadir: app_mentions:read, chat:write, channels:history, groups:history, channels:read, groups:read, reactions:write, files:read, users:read
  5. Install App → Instalar en el workspace → copiar el token xoxb-... (SLACK_BOT_TOKEN)
  6. En cada canal de Slack donde quieras usar el bot, ejecuta /invite @YourAppName

Rellena SLACK_BOT_TOKEN y SLACK_APP_TOKEN antes de desplegar. Discord y Slack pueden funcionar simultáneamente.

Añadir plataformas de mensajería (Telegram / LINE / Feishu / Google Chat / MS Teams)

Para conectar Telegram, LINE, Feishu/Lark, Google Chat o MS Teams, despliega la plantilla OpenAB Gateway en el mismo proyecto Zeabur. Luego añade estas variables de entorno a este servicio:

  • GATEWAY_URL = ws://openab-gateway:8080/ws
  • GATEWAY_PLATFORM = uno de telegram, line, feishu, googlechat, teams

Reinicia el servicio. El script de arranque inyecta automáticamente el bloque [gateway] en config.toml.

Uso

  • @mencionar al bot en un canal de Discord o Slack permitido para iniciar una conversación
  • OpenAB crea un thread para conversaciones de multiples turnos — no se necesita @mencion en los mensajes siguientes
  • Cada thread corresponde a una sesión persistente de Codex (TTL de 24h por defecto)

Personalización

ArchivoDescripción
/home/node/.config/openab/config.tomlConfiguración de OpenAB (sessions, reactions, STT, etc.)

config.toml se crea a partir de una plantilla integrada en el primer arranque. Después, edite el archivo directamente — las variables de entorno solo se usan para la configuración inicial. Para restablecer los valores predeterminados, elimine y reinicie: rm /home/node/.config/openab/config.toml

Para opciones de configuración, consulte la documentación de OpenAB.

Desactivar

Dejar Discord Bot Token y Slack Bot Token vacios al desplegar. El servicio entrará en modo sleep sin fallar.

Enlaces