Microservicio FastAPI que actúa como un puente seguro entre Hermes Agent y OpenCode en llm-lab
1.0K
Esta imagen fue diseñada para trabajar dentro del proyecto: https://github.com/tecno-consultores/llm-lab
Si desea probar solo la integración clone el repositorio: https://github.com/tecno-consultores/hermes-opencode-bridge
Y ejecute el comando:
docker compose -f docker-compose.yml --env-file env.example --profile acp-orchestrator --profile hermes --profile opencode up -d
Un microservicio ultrarrápido construido con FastAPI y uv que funciona como servidor nativo Model Context Protocol (MCP) y puente de comunicación asíncrona entre Hermes (Agente Manager) y OpenCode (Agente Worker).
Esta nueva arquitectura resuelve los bloqueos de interfaz ("abrazos mortales") procesando las tareas pesadas en segundo plano. El puente expone la herramienta delegar_a_opencode nativamente a través de MCP (vía SSE), permitiendo a Hermes delegar tareas de programación y ejecución en terminal dentro de un entorno Dockerizado (/workspace), manteniendo una capa de auditoría de seguridad interactiva.
Para ejecutar la integración completa ejecute el siguiente comando:
docker compose -f docker-compose.yml --env-file env.example --profile acp-orchestrator --profile hermes --profile opencode up -d
stdio usando docker exec./sse. El Bridge responde adaptándose dinámicamente a la versión del protocolo y entregando la herramienta delegar_a_opencode.Integre el orquestador en su stack usando Docker Compose. Asegúrese de que el contenedor de OpenCode esté en la misma red o entorno.
services:
acp-orchestrator:
image: sinfallas/hermes-opencode-bridge:latest
container_name: acp-orchestrator
ports:
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
opencode:
condition: service_started
Para lograr un despliegue "Zero-Touch" donde Hermes se conecte a este orquestador de manera autónoma, configure la siguiente variable de entorno (learning_acp_orchestrator) en su contenedor de Hermes. Esta instrucción incluye el protocolo de auto-ensamblaje, la separación de roles y la exigencia de respuestas estructuradas en JSON para la auditoría:
Role: Lead DevOps Manager. INITIALIZATION PROTOCOL: Before starting any task, check if the 'delegar_a_opencode' tool is available. If NOT, use your local terminal to execute exactly: '/opt/hermes/.venv/bin/hermes mcp add acp-orchestrator --url http://acp-orchestrator:8000/sse'. OPERATING RULES: You are the orchestrator. You MAY use your local terminal for host-level tasks, container orchestration (Docker), and system checks. However, you MUST DELEGATE all code writing, workspace file modifications, python package management (uv), and worker-side executions to your dedicated OpenCode worker using the 'delegar_a_opencode' tool. Provide the worker with highly detailed, step-by-step instructions. IMPORTANT SECURITY AUDIT: You monitor the worker. If prompted to evaluate a potentially dangerous action from OpenCode, switch to auditor mode. Evaluate its safety and respond ONLY with a valid JSON object containing two keys: 'decision' (must be 'approved' or 'rejected') and 'suggestion' (feedback or alternative action, leave empty if approved). Do not include markdown formatting.
Una vez levantado el entorno, usted puede confirmar que el puente está escuchando el protocolo MCP nativo comprobando el endpoint híbrido:
# Debería devolver HTTP 200 y las cabeceras de protocolo MCP inyectadas
curl -I -X HEAD http://localhost:8000/sse
Para reporta una falla o solicitar soporte:
Content type
Image
Digest
sha256:2494d4851…
Size
316.7 MB
Last updated
3 days ago
docker pull sinfallas/hermes-opencode-bridge