logo
icon

OpenAB Grok

Open Agent Broker — un arnés ligero en Rust que conecta Discord y Slack con cualquier CLI de coding compatible con ACP a través de stdio JSON-RPC. Esta plantilla usa Grok Build (el CLI oficial de coding agent de xAI) como backend mediante `grok agent stdio`. Fuente: https://github.com/openabdev/openab

template cover
Implementado0 veces
EditorzeaburZeabur
Creado2026-05-17
Mínimo2 Núcleos4 GB
Recomendado4 Núcleos8 GB
Etiquetas
AIDeveloper ToolsDiscordSlack

OpenAB Grok

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 ejecuta la variante Grok — usa Grok Build, el CLI oficial de coding agent de xAI, como backend mediante grok agent stdio.

Notas Importantes

  • Etiqueta de imagen: Esta plantilla usa una versión fijada (0.8.3-beta.11). Para actualizar, cambie la etiqueta de imagen en Zeabur Dashboard → Servicio → Configuración. Etiquetas disponibles: GitHub Packages.
  • Almacenamiento persistente: /home/agent está montado como volumen persistente. Las credenciales de Grok (~/.grok/auth.json), settings y config se conservan entre reinicios.

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 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

3. Elegir un método de autenticación

Grok Build soporta tres fuentes de credenciales. Elige la que se adapte a tu caso de uso.

MétodoCuándo usarCómo
API KeyFacturación pay-per-token, despliegues CI / botObtén una clave en console.x.ai → pégala en la variable GROK_CODE_XAI_API_KEY
Device-AuthSuscripción de pago SuperGrokDeja GROK_CODE_XAI_API_KEY vacío. Tras el despliegue, ejecuta runuser -u agent -- grok login --device-auth en la terminal Exec del servicio. El CLI imprime un código corto + URL — abre la URL en cualquier dispositivo, introduce el código y aprueba. El token se guarda en /home/agent/.grok/auth.json (persiste entre reinicios).
Deployment KeyClientes empresariales de xAIAñade GROK_DEPLOYMENT_KEY como variable personalizada en Zeabur Dashboard → Servicio → Variables tras desplegar. Tiene prioridad sobre auth.json.

💡 A diferencia de los flujos OAuth que se vinculan a un puerto loopback, el device-auth de Grok funciona en cualquier entorno headless (sin port-forward, sin truco curl-the-callback).

4. Desplegar

Completa las variables y haz clic en desplegar. El servicio se conecta a Discord automáticamente. Si usaste Device-Auth, ejecuta el comando de login del paso 3 después de que el servicio esté en ejecución.

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 / WeCom)

Para conectar Telegram, LINE, Feishu/Lark, Google Chat, MS Teams o WeCom, 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, wecom

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 múltiples turnos — no se necesita @mención en los mensajes siguientes
  • Cada thread corresponde a una sesión persistente de Grok (TTL de 24h por defecto)

Personalización

ArchivoDescripción
/home/agent/.config/openab/config.tomlConfiguración de OpenAB (sessions, reactions, STT, etc.)
/home/agent/.grok/auth.jsonCredenciales OAuth de Grok (gestionadas por grok login)
/home/agent/.grok/config.tomlConfiguración runtime de Grok

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 el archivo y reinicie: rm /home/agent/.config/openab/config.toml

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

Desactivar

Dejar Discord Bot Token y SLACK_BOT_TOKEN vacíos al desplegar. El servicio entrará en modo sleep sin fallar.

Enlaces