>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Go

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.

OCTO OCTO

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:

  1. Autenticazione. Token, cookie e persino frame Diffie-Hellman crittografati per WebSocket sono supportati.
  2. Autorizzazione. RBAC è implementato qui, tenendo conto delle organizzazioni e dei diritti di accesso a canali specifici.
  3. Esecuzione. La logica di business gira. Se necessario, una sessione Lobster viene avviata o ripresa.
  4. Dispatch. Il messaggio va a WuKongIM, e se il canale è collegato al mondo esterno — vengono attivati gli adapter.
  5. 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