>_ DevTrendses

Idioma

Inicio

Lenguajes

Secciones

Frontend Backend Móvil DevOps AI / ML GameDev Blockchain Embebidos Seguridad
Go

Cómo unir humanos y agentes de IA en un espacio de trabajo único

Imagina que tu messenger de trabajo no es solo un flujo de mensajes de colegas, sino un entorno vivo donde los gemelos digitales manejan la mitad de las tareas por ti. Suena a escena de una novela de ciencia ficción, pero la gente de Mininglamp-OSS decidió hacerlo realidad en código. Están construyendo OCTO — una plataforma abierta donde humanos y agentes de IA (ellos los llaman "Lobsters") trabajan lado a lado.

La pieza central de toda esta idea es octo-server. Revisé el repositorio y quiero compartir por qué este backend en Go merece tu atención si estás pensando en integrar LLMs en tus procesos de negocio.

OCTO OCTO

Qué hay bajo el capó de la oficina digital

Si quitamos todo el marketing alrededor de los "gemelos digitales," octo-server es una potente capa de gestión. Une la API REST, WebSocket para comunicación en tiempo real y la orquestación de agentes. La característica clave es que la IA aquí no está añadida a un lado como un chatbot — es un participante completo en las conversaciones desde el principio.

El proyecto está escrito en Go, lo cual tiene sentido para un sistema que necesita manejar múltiples conexiones paralelas y solicitudes a diferentes servicios. WuKongIM se utiliza como motor de mensajería instantánea. Los desarrolladores no reinventaron la rueda y optaron por una solución de mensajería lista para usar, concentrándose en la lógica de interacción en su lugar.

Qué hace interesante este backend

En mi experiencia, a menudo sucede así: un cliente quiere un "asistente inteligente," y empiezas a improvisar soluciones para conectar la API del modelo con la interfaz del messenger. Los creadores de OCTO tomaron un enfoque diferente.

La orquestación de Lobsters está integrada en el núcleo. El servidor gestiona las sesiones de los agentes, el enrutamiento de solicitudes y las llamadas a herramientas por sí mismo. Los agentes se ejecutan en OpenClaw, y el servidor entrelaza sus respuestas sin problemas en el diálogo general.

La arquitectura es bastante flexible. Aunque MySQL y Redis vienen incluidos de serie, puedes cambiar el almacenamiento e incluso el motor de mensajería. El plano de control de WuKongIM está separado por un límite delgado, así que puedes conectar tu propia solución si es necesario.

El enfoque local-first es un buen detalle. Los autores insisten en que todo lo que pueda ejecutarse en tu hardware — chats, embeddings, agentes — debería ejecutarse ahí. La nube sigue siendo una opción, no un requisito obligatorio. Para el sector empresarial, donde enviar datos a OpenAI podría traerte problemas, esto es una gran ventaja.

Cómo funciona el procesamiento de solicitudes

Veamos qué sucede cuando llega una solicitud al sistema:

  1. Autenticación. Se admiten tokens, cookies e incluso tramas Diffie-Hellman cifradas para WebSocket.
  2. Autorización. Se implementa RBAC, teniendo en cuenta las organizaciones y los derechos de acceso a canales específicos.
  3. Ejecución. Se ejecuta la lógica de negocio. Si es necesario, se inicia o reanuda una sesión de Lobster.
  4. Dispatch. El mensaje se envía a WuKongIM, y si el canal está vinculado al mundo exterior — se activan los adaptadores.
  5. Respuesta. El cliente recibe un JSON unificado con etiquetas de trazabilidad y métricas.

Estructura del proyecto

El código está bien organizado, así que orientarte no será un problema:

  • internal/api/ — aquí residen los handlers para todo: usuarios, grupos, archivos y webhooks.
  • internal/service/ — los "cerebros" del sistema, incluyendo el control de acceso y esa orquestación de agentes.
  • internal/agent/ — todo lo relacionado con los Lobsters: almacenamiento de sesiones y ejecución de herramientas.
  • internal/im/ — cliente para trabajar con WuKongIM.
graph TD
  subgraph Clients[Clients]
    Web[octo-web<br/>Web / PC]
    Android[octo-android<br/>Android]
    iOS[octo-ios<br/>iOS]
  end

  subgraph Core[Core Services]
    Server[octo-server<br/>Backend API]
    Matter[octo-matter<br/>Task / Todo]
    Summary[octo-smart-summary<br/>AI Summary]
    Admin[octo-admin<br/>Admin Console]
  end

  subgraph Shared[Shared Libraries & Integrations]
    Lib[octo-lib<br/>Core Go Library]
    Adapters[octo-adapters<br/>Third-party Adapters]
  end

  Web --> Server
  Android --> Server
  iOS --> Server
  Admin --> Server
  Server --> Matter
  Server --> Summary
  Server --> Adapters
  Server -.uses.-> Lib
  Matter -.uses.-> Lib
  Adapters -.uses.-> Lib

Para qué usar esto

octo-server es una buena opción si estás construyendo un portal corporativo interno de nueva generación. En lugar de cambiar entre Jira, Slack y la consola de gestión de IA, obtienes un único punto de entrada. Por ejemplo, un desarrollador escribe en el chat: "Crear una tarea para corregir un bug en producción," y el agente no solo entiende el texto — entra en octo-matter y realmente crea la tarea.

El proyecto también será útil para construir asistentes de IA personalizados que necesiten acceso a todo el contexto de conversación del equipo. Gracias al código fuente abierto y la licencia Apache 2.0, puedes adaptar el sistema a requisitos de seguridad específicos.

Cómo ejecutarlo y si vale la pena probarlo

El inicio rápido es estándar para proyectos en Go: clonar, compilar, ejecutar con configuración.

git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .
./octo-server --config ./configs/tsdd.yaml

Aunque para tener toda la funcionalidad, también necesitarás una base de datos MySQL y una instancia de WuKongIM en ejecución. Si no quieres tratar con cada componente por separado, tienen un repositorio octo-deployment con un Docker Compose listo para usar que levanta toda la pila de servicios con un solo comando.

Ten en cuenta que el proyecto es una obra derivada de TangSengDaoDao. Esto deja su huella en la estructura del código. La documentación todavía es escasa en algunos lugares, así que en situaciones complicadas tendrás que profundizar en el código fuente.

¿Para quién es esto? Ante todo, para quienes buscan una base lista para usar para crear sistemas colaborativos autoalojados con integración profunda de LLM. Si solo necesitas un chat, hay soluciones más simples. Pero si necesitas "Lobsters" que manejen el trabajo rutinario por ti — OCTO vale la pena dedicarle una tarde.

Proyectos relacionados