logo
icon

OpenAB Claude

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
Implementado34 veces
EditorzeaburZeabur
Creado2026-04-10
Mínimo2 Núcleos4 GB
Recomendado4 Núcleos8 GB
Etiquetas
AIDeveloper ToolsDiscordSlack

OpenAB

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

Esta plantilla despliega la variante Claude (openab-claude), que utiliza claude-agent-acp como backend de agente.

Notas Importantes

  • Etiqueta de imagen: Esta plantilla usa una versión fijada (0.8.1-beta.5). 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 inicia como root y cambia al usuario node (uid 1000) antes de ejecutar openab. Si encuentra problemas de permisos, reinicie el servicio — los permisos se corrigen automáticamente al arrancar.

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. Obtener un Auth Token (elegir uno)

MétodoCómo obtenerlo
Anthropic API KeyIr a console.anthropic.com/settings/keys → Create Key → copiar la clave sk-ant-api...
Zeabur AI Hub TokenIr a Zeabur AI Hub → API Keys → Create → copiar el token
Claude OAuth TokenEjecutar claude setup-token en la terminal (requiere suscripción Claude Pro/Max/Team/Enterprise) → abrir la URL mostrada → autorizar → pegar el código → copiar el token sk-ant-oat...

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.

Uso

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

Integración con GitHub (Opcional)

El agente puede usar gh (GitHub CLI) para revisar PRs, crear issues, comentar, fusionar, etc. Como el contenedor no tiene navegador, la autenticación usa device flow:

  1. Dile al bot en Discord: "log in to GitHub"
  2. El bot responderá con un código único y una URL (ej. https://github.com/login/device)
  3. Abre la URL en tu teléfono o computadora, ingresa el código y autoriza
  4. El bot confirma el inicio de sesión — gh está autenticado para esta sesión

Ver gh-auth-device-flow.md para detalles técnicos.

Personalización

ArchivoDescripción
/home/node/CLAUDE.mdInstrucciones del agente — Claude lo lee en cada sesión
/home/node/.config/openab/config.tomlConfiguración de OpenAB (sessions, reactions, STT, etc.)
/etc/claude-code/managed-settings.jsonModo de permisos de Claude Code

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 vacío al desplegar. El servicio entrará en modo sleep sin fallar.

Enlaces