Hoe mensen en AI-agents samenbrengen in één werkruimte
Stel je voor dat je werk-messenger niet zomaar een stroom van berichten van collega's is, maar een levende omgeving waar digitale twins de helft van je taken voor je afhandelen. Het klinkt als een scène uit een sciencefictionroman, maar de mensen bij Mininglamp-OSS besloten om dit in code te verwezenlijken. Ze bouwen OCTO — een open platform waar mensen en AI-agents (ze noemen ze "Lobsters") zij aan zij werken.
Het centrale onderdeel van dit hele idee is octo-server. Ik heb me verdiept in de repository en wil delen waarom deze Go-backend je aandacht verdient als je nadenkt over het integreren van LLM's in je bedrijfsprocessen.
Wat er onder de motorkap zit van het digitale kantoor
Als je de marketingpraat rond "digitale tweelingen" weglaat, is octo-server een krachtige beheerlaag. Het verbindt REST API, WebSocket voor real-time communicatie en agent-orchestratie. De belangrijkste functie is dat AI hier niet als een chatbot aan de kant wordt bevestigd — het is een volwaardige deelnemer aan gesprekken vanaf het begin.
Het project is geschreven in Go, wat logisch is voor een systeem dat veel parallelle verbindingen en verzoeken naar verschillende services moet afhandelen. WuKongIM wordt gebruikt als de instant messaging-engine. De ontwikkelaars hebben het wiel niet opnieuw uitgevonden en kozen voor een kant-en-klare messaging-oplossing, waarbij ze zich richtten op de interactielogica.
Wat deze backend interessant maakt
Uit mijn ervaring gaat het vaak zo: een klant wil een "slimme assistent," en je begint met het in elkaar flansen van workarounds om de API van het model te verbinden met de messenger-interface. De makers van OCTO kozen een andere aanpak.
Lobster-orchestratie is ingebouwd in de kern. De server beheert zelf agent-sessies, request-routing en tool-aanroepen. Agents draaien op OpenClaw, en de server verweeft hun reacties naadloos in het totale gesprek.
De architectuur is vrij flexibel. Hoewel MySQL en Redis standaard worden aangeboden, kun je de opslag en zelfs de messaging-engine verwisselen. Het WuKongIM control plane is gescheiden door een dunne grens, dus je kunt je eigen oplossing aansluiten indien nodig.
De local-first aanpak is een leuke toevoeging. De auteurs benadrukken dat alles wat op je hardware kan draaien — chats, embeddings, agents — daar ook moet draaien. Cloud blijft een optie, geen verplichting. Voor de enterprise-sector, waar het verzenden van data naar OpenAI je in de problemen kan brengen, is dit een enorm voordeel.
Hoe request-verwerking werkt
Laten we kijken wat er gebeurt wanneer een verzoek het systeem binnenkomt:
- Authenticatie. Tokens, cookies en zelfs versleutelde Diffie-Hellman frames voor WebSocket worden ondersteund.
- Autorisatie. RBAC is hier geïmplementeerd, met rekening houdend met organisaties en toegangsrechten tot specifieke kanalen.
- Uitvoering. Bedrijfslogica draait. Indien nodig wordt een Lobster-sessie gestart of hervat.
- Verzending. Het bericht gaat naar WuKongIM, en als het kanaal gekoppeld is aan de buitenwereld — worden adapters geactiveerd.
- Antwoord. De client ontvangt een uniforme JSON met tracing-tags en metrics.
Projectstructuur
De code is netjes georganiseerd, dus navigeren zal geen probleem zijn:
internal/api/— handlers bevinden zich hier voor alles: gebruikers, groepen, bestanden en webhooks.internal/service/— de "hersenen" van het systeem, inclusief toegangscontrole en die agent-orchestratie.internal/agent/— alles gerelateerd aan Lobsters: sessie-opslag en tool-uitvoering.internal/im/— client voor het werken met 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
Waarvoor dit te gebruiken
octo-server is een goede keuze als je een next-generation intern bedrijfsportaal bouwt. In plaats van te schakelen tussen Jira, Slack en de AI management console, krijg je één enkel toegangspunt. Een developer typt bijvoorbeeld in de chat: "Maak een taak aan voor het oplossen van een prod-bug," en de agent begrijpt niet alleen de tekst — het gaat naar octo-matter en maakt daadwerkelijk de taak aan.
Het project is ook nuttig voor het bouwen van aangepaste AI-assistenten die toegang nodig hebben tot de volledige conversatiecontext van het team. Dankzij de open source-code en Apache 2.0-licentie kun je het systeem aanpassen aan specifieke beveiligingsvereisten.
Hoe het te draaien en of het de moeite waard is
De quick start is standaard voor Go-projecten: klonen, bouwen, draaien met 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
Voor volledige functionaliteit heb je echter ook een MySQL-database en een draaiende WuKongIM-instantie nodig. Als je niet elk onderdeel afzonderlijk wilt instellen, hebben ze een octo-deployment repository met een kant-en-klare Docker Compose die de hele stack van services met één commando opstart.
Houd er rekening mee dat het project een afgeleid werk is van TangSengDaoDao. Dit laat zijn sporen na in de codestructuur. Documentatie is hier en daar nog schaars, dus in lastige situaties zul je in de broncode moeten duiken.
Voor wie is dit? Allereerst degenen die op zoek zijn naar een kant-en-klare basis voor het creëren van self-hosted collaboratieve systemen met diepe LLM-integratie. Als je alleen een chat nodig hebt, zijn er simpelere oplossingen. Maar als je "Lobsters" nodig hebt die het routinematige werk voor je afhandelen — OCTO is de moeite waard om een avond aan te besteden.
Gerelateerde projecten