Come unire umani e agenti AI in un unico spazio di lavoro
Immagina che il tuo messenger di lavoro non sia solo un flusso di messaggi dai colleghi, ma un ambiente vivente dove i digital twin gestiscono metà dei tuoi compiti. Sembra una scena di un romanzo di fantascienza, ma il team di Mininglamp-OSS ha deciso di renderlo realtà nel codice. Stanno costruendo OCTO — una piattaforma aperta dove umani e agenti AI (li chiamano "Lobster") lavorano fianco a fianco.
Il pezzo centrale di tutta questa idea è octo-server. Ho esplorato il repository e voglio condividere perché questo backend in Go merita la tua attenzione se stai pensando di integrare LLM nei tuoi processi di business.
Cosa c'è sotto il cofano dell'ufficio digitale
Se togli tutto il marketing attorno ai "digital doubles", octo-server è un potente livello di gestione. Unisce REST API, WebSocket per la comunicazione in tempo reale e l'orchestrazione degli agenti. La caratteristica chiave è che l'AI qui non è aggiunta di lato come chatbot — è un partecipante a pieno titolo nelle conversazioni fin dall'inizio.
Il progetto è scritto in Go, il che ha senso per un sistema che deve gestire diverse connessioni parallele e richieste a servizi diversi. WuKongIM viene utilizzato come motore di messaggistica istantanea. Gli sviluppatori non hanno reinventato la ruota e hanno optato per una soluzione di messaggistica pronta all'uso, concentrandosi invece sulla logica di interazione.
Cosa rende interessante questo backend
Nella mia esperienza, spesso va così: un cliente vuole un "assistente intelligente", e inizi a improvvisare workaround per collegare l'API del modello con l'interfaccia del messenger. I creatori di OCTO hanno adottato un approccio diverso.
L'orchestrazione dei Lobster è integrata nel core. Il server gestisce autonomamente le sessioni degli agenti, il routing delle richieste e le chiamate agli strumenti. Gli agenti girano su OpenClaw, e il server intreccia senza soluzione di continuità le loro risposte nel dialogo complessivo.
L'architettura è abbastanza flessibile. Mentre MySQL e Redis sono offerti out of the box, puoi sostituire lo storage e persino il motore di messaggistica. Il piano di controllo di WuKongIM è separato da un sottile confine, quindi puoi inserire la tua soluzione se necessario.
L'approccio local-first è un bel tocco. Gli autori insistono sul fatto che tutto ciò che può girare sul tuo hardware — chat, embedding, agenti — dovrebbe girare lì. Il cloud rimane un'opzione, non un requisito obbligatorio. Per il settore enterprise, dove inviare dati a OpenAI potrebbe causare problemi, questo è un enorme vantaggio.
Come funziona l'elaborazione delle richieste
Vediamo cosa succede quando una richiesta arriva nel sistema:
- Autenticazione. Token, cookie e persino frame Diffie-Hellman crittografati per WebSocket sono supportati.
- Autorizzazione. RBAC è implementato qui, tenendo conto delle organizzazioni e dei diritti di accesso a canali specifici.
- Esecuzione. La logica di business gira. Se necessario, una sessione Lobster viene avviata o ripresa.
- Dispatch. Il messaggio va a WuKongIM, e se il canale è collegato al mondo esterno — vengono attivati gli adapter.
- Risposta. Il client riceve un JSON unificato con tag di tracing e metriche.
Struttura del progetto
Il codice è organizzato in modo ordinato, quindi orientarsi non sarà un problema:
internal/api/— qui vivono gli handler per tutto: utenti, gruppi, file e webhook.internal/service/— il "cervello" del sistema, incluso il controllo degli accessi e quell'orchestrazione degli agenti.internal/agent/— tutto ciò che riguarda i Lobster: archiviazione delle sessioni ed esecuzione degli strumenti.internal/im/— client per lavorare 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
Cosa usare questo per
octo-server è una buona scelta se stai costruendo un portale aziendale interno di nuova generazione. Invece di passare da Jira, Slack e la console di gestione AI, ottieni un unico punto di accesso. Ad esempio, uno sviluppatore scrive in chat: "Crea un task per la correzione di un bug in produzione", e l'agente non si limita a capire il testo — va in octo-matter e crea effettivamente il task.
Il progetto sarà utile anche per costruire assistenti AI personalizzati che necessitano di accesso all'intero contesto di conversazione del team. Grazie al codice open source e alla licenza Apache 2.0, puoi adattare il sistema a requisiti di sicurezza specifici.
Come eseguirlo e se vale la pena provarlo
La quick start è standard per i progetti Go: clone, build, run con config.
git clone https://github.com/Mininglamp-OSS/octo-server.git
cd octo-server
go build -o octo-server .
./octo-server --config ./configs/tsdd.yaml
Per la funzionalità completa, però, avrai bisogno anche di un database MySQL e di un'istanza WuKongIM in esecuzione. Se non vuoi gestire ogni componente separatamente, hanno un repository octo-deployment con un Docker Compose pronto che fa partire l'intero stack di servizi con un singolo comando.
Tieni presente che il progetto è un lavoro derivato da TangSengDaoDao. Questo lascia il segno sulla struttura del codice. La documentazione è ancora scarsa in alcuni punti, quindi in situazioni complicate dovrai immergerti nel codice sorgente.
Per chi è? Prima di tutto per chi cerca una base pronta all'uso per creare sistemi collaborativi self-hosted con integrazione profonda di LLM. Se hai solo bisogno di una chat, ci sono soluzioni più semplici. Ma se hai bisogno di "Lobster" che gestiscano il lavoro di routine per te — OCTO vale una serata del tuo tempo.
Progetti correlati