logo
icon

OpenAB Gemini

Open Agent Broker — un arnes ligero en Rust que conecta Discord con cualquier CLI de coding compatible con ACP (Claude Code, Codex, Gemini, Kiro, Cursor) a traves de stdio JSON-RPC. Esta plantilla despliega la variante Gemini. Fuente: https://github.com/openabdev/openab

template cover
Implementado8 veces
EditorzeaburZeabur
Creado2026-04-20
Mínimo2 Núcleos4 GB
Recomendado4 Núcleos8 GB
Etiquetas
AIDeveloper ToolsDiscord

OpenAB Gemini

OpenAB es un arnes ligero de codigo abierto en Rust que conecta Discord con cualquier CLI de coding compatible con Agent Client Protocol a traves de stdio JSON-RPC.

Esta plantilla despliega la variante Gemini (openab-gemini), que utiliza gemini --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 esta montado como volumen persistente. Plugins, configuracion 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 automaticamente al arrancar.

Configuracion

1. Obtener el Discord Bot Token

  1. Ir a https://discord.com/developers/applications y hacer clic en New Application
  2. Ir a la pestana Bot -> clic en Reset Token -> copiar el token
  3. En la misma pagina, 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 una Clave API de Gemini

  1. Ir a Google AI Studio
  2. Hacer clic en Create API key
  3. Copiar la clave API generada

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 multiples canales, separar con comas: 123456789012345678,234567890123456789

4. Desplegar

Completar las variables de la plantilla y hacer clic en desplegar. El servicio se conecta a Discord automaticamente.

Uso

  • @mencionar al bot en un canal permitido para iniciar una conversacion
  • OpenAB crea un thread para conversaciones de multiples turnos -- no se necesita @mencion en los mensajes siguientes
  • Cada thread corresponde a una sesion persistente de Gemini (TTL de 24h por defecto)

Personalizacion

ArchivoDescripcion
/home/node/.config/openab/config.tomlConfiguracion de OpenAB (sessions, reactions, STT, etc.)

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

Para opciones de configuracion, consulte la documentacion de OpenAB.

Webhook / Integracion con Bots

Por defecto, openab ignora los mensajes de otros bots y webhooks. Para permitir mensajes activados por webhook (por ejemplo, pruebas automatizadas o pipelines de CI), agregar lo siguiente a config.toml:

[discord]
allow_bot_messages = "mentions"

Con esta configuracion, openab responde a cualquier bot o mensaje de webhook que lo @mencione. Para restringir a un webhook especifico, agregar tambien:

trusted_bot_ids = ["YOUR_WEBHOOK_USER_ID"]

El ID de usuario del webhook es el ID numerico en la URL del webhook: https://discord.com/api/webhooks/<ID>/...

Desactivar

Dejar Discord Bot Token vacio al desplegar. El servicio entrara en modo sleep sin fallar.

Enlaces