>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Go

Jak połączyć ludzi i agentów AI w jednym miejscu pracy

Wyobraź sobie, że Twój służbowy komunikator to nie tylko strumień wiadomości od kolegów, ale żywe środowisko, w którym cyfrowe bliźniaki załatwiają za Ciebie połowę zadań. Brzmi jak scena z powieści sci-fi, ale ekipa z Mininglamp-OSS postanowiła przenieść to do kodu. Budują OCTO — otwartą platformę, w której ludzie i agenci AI (nazywają ich "Lobsters") pracują ramię w ramię.

Centralnym elementem tej całej koncepcji jest octo-server. Przejrzałem repozytorium i chcę podzielić się tym, dlaczego ten backend w Go zasługuje na Twoją uwagę, jeśli myślisz o integracji LLM-ów ze swoimi procesami biznesowymi.

OCTO OCTO

Co kryje się pod maską cyfrowego biura

Jeśli odetniesz marketingowy szum wokół "cyfrowych bliźniaków", octo-server to potężna warstwa zarządzająca. Łączy REST API, WebSocket do komunikacji w czasie rzeczywistym oraz aranżację agentów. Kluczowa cecha polega na tym, że AI tutaj nie jest doczepione z boku jako chatbot — od samego początku jest pełnoprawnym uczestnikiem rozmów.

Projekt jest napisany w Go, co ma sens w przypadku systemu wymagającego obsługi wielu równoległych połączeń i zapytań do różnych serwisów. WuKongIM jest używany jako silnik komunikacji błyskawicznej. Deweloperzy nie wymyślali koła na nowo i postawili na gotowe rozwiązanie do przesyłania wiadomości, koncentrując się w zamian na logice interakcji.

Co czyni ten backend interesującym

Z mojego doświadczenia często wygląda to tak: klient chce "inteligentnego asystenta", a Ty zaczynasz łatać obejścia, żeby połączyć API modelu z interfejsem komunikatora. Twórcy OCTO poszli inną drogą.

Orkiestracja Lobsterów jest wbudowana w sam rdzeń. Serwer samodzielnie zarządza sesjami agentów, routingiem zapytań i wywołaniami narzędzi. Agenci działają na OpenClaw, a serwer bezszwowo wplata ich odpowiedzi w ogólną rozmowę.

Architektura jest dość elastyczna. O ile MySQL i Redis są oferowane out of the box, możesz wymienić storage, a nawet silnik komunikacyjny. Płaszczyzna kontrolna WuKongIM jest oddzielona cienką granicą, więc możesz podłączyć własne rozwiązanie, jeśli zajdzie taka potrzeba.

Podejście local-first to miły dodatek. Autorzy nalegają, że wszystko, co może działać na Twoim sprzęcie — czaty, osadzenia, agenci — powinno tam działać. Chmura pozostaje opcją, nie obowiązkowym wymogiem. Dla sektora korporacyjnego, gdzie wysyłanie danych do OpenAI mogłoby narobić kłopotów, to ogromny plus.

Jak działa przetwarzanie zapytań

Przyjrzyjmy się, co się dzieje, gdy zapytanie trafia do systemu:

  1. Uwierzytelnianie. Obsługiwane są tokeny, ciasteczka, a nawet zaszyfrowane ramki Diffie-Hellmana dla WebSocket.
  2. Autoryzacja. RBAC jest tutaj zaimplementowany z uwzględnieniem organizacji i praw dostępu do konkretnych kanałów.
  3. Wykonanie. Uruchamia się logika biznesowa. Jeśli potrzeba, sesja Lobstera się rozpoczyna lub wznawia.
  4. Dystrybucja. Wiadomość trafia do WuKongIM, a jeśli kanał jest połączony ze światem zewnętrznym — uruchamiane są adaptery.
  5. Odpowiedź. Klient otrzymuje ujednoliconą odpowiedź JSON z tagami śledzenia i metrykami.

Struktura projektu

Kod jest przejrzyście zorganizowany, więc poruszanie się po nim nie stanowi problemu:

  • internal/api/ — handlery mieszkają tutaj dla wszystkiego: użytkowników, grup, plików i webhooków.
  • internal/service/ — "mózg" systemu, w tym kontrola dostępu i ta aranżacja agentów.
  • internal/agent/ — wszystko związane z Lobsterami: przechowywanie sesji i wykonywanie narzędzi.
  • internal/im/ — klient do pracy z WuKongIM.

Do czego to wykorzystać

octo-server sprawdza się dobrze, jeśli budujesz portal korporacyjny nowej generacji. Zamiast przełączać się między Jira, Slack i konsolą zarządzania AI, masz jeden punkt wejścia. Na przykład programista pisze na czacie: "Utwórz zadanie naprawy buga na produkcji", a agent nie tylko rozumie tekst — wchodzi do octo-matter i faktycznie tworzy zadanie.

Projekt będzie również przydatny do budowania niestandardowych asystentów AI wymagających dostępu do całego kontekstu rozmowy zespołu. Dzięki otwartemu kodowi źródłowemu i licencji Apache 2.0 możesz dostosować system do konkretnych wymogów bezpieczeństwa.

Jak uruchomić i czy warto spróbować

Szybki start jest standardowy dla projektów Go: klonuj, buduj, uruchom z konfiguracją.

Jednak dla pełnej funkcjonalności potrzebujesz również bazy danych MySQL i działającej instancji WuKongIM. Jeśli nie chcesz bawić się każdym komponentem osobno, mają repozytorium octo-deployment z gotowym Docker Compose, które uruchamia cały stos serwisów jednym poleceniem.

Miej na uwadze, że projekt jest dziełem pochodnym od TangSengDaoDao. To odciska piętno na strukturze kodu. Dokumentacja w niektórych miejscach jest jeszcze skąpa, więc w trudnych sytuacjach będziesz musiał zagłębić się w kod źródłowy.

Dla kogo to jest? Przede wszystkim dla szukających gotowej podstawy do tworzenia samodzielnie hostowanych systemów współpracy z głęboką integracją LLM. Jeśli potrzebujesz tylko czatu, istnieją prostsze rozwiązania. Ale jeśli potrzebujesz "Lobsterów", które zajmą się za Ciebie rutynową pracą — OCTO warte jest poświęcenia jednego wieczoru.

Powiązane projekty