Skip to content

Latest commit

 

History

History
248 lines (200 loc) · 17.9 KB

File metadata and controls

248 lines (200 loc) · 17.9 KB

GoClaw

GoClaw

Enterprise AI Agent Platform

Multi-agent AI gateway built in Go. 20+ LLM providers. 7 channels. Multi-tenant PostgreSQL.
Single binary. Production-tested. Agents that orchestrate for you.

DokumentacjaSzybki StartTwitter / X

Go PostgreSQL Docker WebSocket OpenTelemetry Anthropic OpenAI License: MIT

GoClaw to wieloagentowa bramka AI łącząca LLM z Twoimi narzędziami, kanałami i danymi — wdrażana jako pojedynczy binarny plik Go bez żadnych zależności w czasie wykonywania. Orkiestruje zespoły agentów i delegowanie między agentami przez 20+ dostawców LLM z pełną izolacją wielodostępną.

Port GoClaw w języku Go projektu OpenClaw z rozszerzonymi zabezpieczeniami, wielodostępnym PostgreSQL i obserwowalnością na poziomie produkcyjnym.

🌐 Języki: 🇺🇸 English · 🇨🇳 简体中文 · 🇯🇵 日本語 · 🇰🇷 한국어 · 🇻🇳 Tiếng Việt · 🇵🇭 Tagalog · 🇪🇸 Español · 🇧🇷 Português · 🇮🇹 Italiano · 🇩🇪 Deutsch · 🇫🇷 Français · 🇸🇦 العربية · 🇮🇳 हिन्दी · 🇷🇺 Русский · 🇧🇩 বাংলা · 🇮🇱 עברית · 🇵🇱 Polski · 🇨🇿 Čeština · 🇳🇱 Nederlands · 🇹🇷 Türkçe · 🇺🇦 Українська · 🇮🇩 Bahasa Indonesia · 🇹🇭 ไทย · 🇵🇰 اردو · 🇷🇴 Română · 🇸🇪 Svenska · 🇬🇷 Ελληνικά · 🇭🇺 Magyar · 🇫🇮 Suomi · 🇩🇰 Dansk · 🇳🇴 Norsk

Co Go Wyróżnia

  • Zespoły Agentów i Orkiestracja — Zespoły ze wspólnymi tablicami zadań, delegowaniem między agentami (synchroniczne/asynchroniczne) i hybrydowym odkrywaniem agentów
  • Wielodostępny PostgreSQL — Oddzielne obszary robocze dla każdego użytkownika, pliki kontekstu per użytkownik, szyfrowane klucze API (AES-256-GCM), izolowane sesje
  • Pojedynczy Plik Binarny — ~25 MB statyczny plik binarny Go, bez środowiska uruchomieniowego Node.js, uruchomienie <1s, działa na serwerze za $5
  • Bezpieczeństwo Produkcyjne — 5-warstwowy system uprawnień (uwierzytelnianie bramki → globalna polityka narzędzi → per-agent → per-kanał → tylko właściciel) oraz ograniczanie szybkości, wykrywanie wstrzyknięć do promptów, ochrona SSRF, wzorce blokowania powłoki i szyfrowanie AES-256-GCM
  • 20+ Dostawców LLM — Anthropic (natywny HTTP+SSE z buforowaniem promptów), OpenAI, OpenRouter, Groq, DeepSeek, Gemini, Mistral, xAI, MiniMax, Cohere, Perplexity, DashScope, Bailian, Zai, Ollama, Ollama Cloud, Claude CLI, Codex, ACP i dowolny punkt końcowy kompatybilny z OpenAI
  • 7 Kanałów Komunikacji — Telegram, Discord, Slack, Zalo OA, Zalo Personal, Feishu/Lark, WhatsApp
  • Extended Thinking — Tryb myślenia per dostawca (tokeny budżetowe Anthropic, wysiłek wnioskowania OpenAI, budżet myślenia DashScope) ze wsparciem strumieniowania
  • Heartbeat — Okresowe meldowanie agentów przez listy kontrolne HEARTBEAT.md z wyciszaniem przy OK, aktywnymi godzinami, logiką ponawiania prób i dostarczaniem przez kanały
  • Planowanie i Cron — Wyrażenia at, every i cron do zautomatyzowanych zadań agentów ze współbieżnością opartą na torach
  • Obserwowalność — Wbudowane śledzenie wywołań LLM z rozpiętościami i metrykami buforu promptów, opcjonalny eksport OpenTelemetry OTLP

Ekosystem Claw

OpenClaw ZeroClaw PicoClaw GoClaw
Język TypeScript Rust Go Go
Rozmiar binarny 28 MB + Node.js 3.4 MB ~8 MB ~25 MB (bazowy) / ~36 MB (+ OTel)
Obraz Docker ~50 MB (Alpine)
RAM (bezczynny) > 1 GB < 5 MB < 10 MB ~35 MB
Uruchomienie > 5 s < 10 ms < 1 s < 1 s
Docelowy sprzęt Mac Mini $599+ Edge $10 Edge $10 VPS $5+
Funkcja OpenClaw ZeroClaw PicoClaw GoClaw
Wielodostęp (PostgreSQL)
Integracja MCP — (używa ACP) ✅ (stdio/SSE/streamable-http)
Zespoły agentów ✅ Tablica zadań + skrzynka
Utwardzanie bezpieczeństwa ✅ (SSRF, path traversal, injection) ✅ (sandbox, rate limit, injection, pairing) Podstawowe (ograniczenie workspace, blokowanie exec) ✅ 5-warstwowa obrona
Obserwowalność OTel ✅ (opcjonalne rozszerzenie) ✅ (Prometheus + OTLP) ✅ OTLP (opcjonalny tag build)
Buforowanie promptów ✅ Anthropic + OpenAI-compat
Graf wiedzy ✅ Ekstrakcja LLM + przechodzenie
System umiejętności ✅ Embeddingi/semantyczne ✅ SKILL.md + TOML ✅ Podstawowy ✅ Hybrydowy BM25 + pgvector
Harmonogram oparty na torach Ograniczona współbieżność ✅ (main/subagent/team/cron)
Kanały komunikacji 37+ 15+ 10+ 7+
Aplikacje towarzyszące macOS, iOS, Android Python SDK Panel webowy
Live Canvas / Głos ✅ (A2UI + TTS/STT) Transkrypcja głosu TTS (4 dostawców)
Dostawcy LLM 10+ 8 natywnych + 29 compat 13+ 20+
Obszary robocze per użytkownik ✅ (oparte na plikach) ✅ (PostgreSQL)
Szyfrowane sekrety — (tylko zmienne env) ✅ ChaCha20-Poly1305 — (plaintext JSON) ✅ AES-256-GCM w DB

Architektura

GoClaw Architecture

Szybki Start

Wymagania wstępne: Go 1.26+, PostgreSQL 18 z pgvector, Docker (opcjonalnie)

Ze Źródła

git clone https://github.com/nextlevelbuilder/goclaw.git && cd goclaw
make build
./goclaw onboard        # Interaktywny kreator konfiguracji
source .env.local && ./goclaw

Z Docker

# Wygeneruj .env z automatycznie generowanymi sekretami
chmod +x prepare-env.sh && ./prepare-env.sh

# Dodaj co najmniej jeden GOCLAW_*_API_KEY do .env, a następnie:
make up

# Panel webowy pod adresem http://localhost:18790
# Sprawdzenie stanu: curl http://localhost:18790/health

Gdy ustawione są zmienne środowiskowe GOCLAW_*_API_KEY, bramka automatycznie konfiguruje się bez interaktywnych pytań — wykrywa dostawcę, uruchamia migracje i wypełnia domyślnymi danymi.

Aby zapoznać się z wariantami budowania (OTel, Tailscale, Redis), tagami obrazów Docker i nakładkami compose, zapoznaj się z Przewodnikiem Wdrażania.

Wieloagentowa Orkiestracja

GoClaw obsługuje zespoły agentów i delegowanie między agentami — każdy agent działa z własną tożsamością, narzędziami, dostawcą LLM i plikami kontekstu.

Delegowanie Agentów

Agent Delegation

Tryb Jak działa Najlepsze zastosowanie
Synchroniczny Agent A pyta Agenta B i czeka na odpowiedź Szybkie wyszukiwania, weryfikacja faktów
Asynchroniczny Agent A pyta Agenta B i kontynuuje. B ogłasza wynik później Długie zadania, raporty, dogłębna analiza

Agenty komunikują się przez jawne łącza uprawnień z kontrolą kierunku (outbound, inbound, bidirectional) i limitami współbieżności zarówno na poziomie łącza, jak i agenta.

Zespoły Agentów

Agent Teams Workflow

  • Wspólna tablica zadań — Tworzenie, przejmowanie, ukończenie i wyszukiwanie zadań z zależnościami blocked_by
  • Skrzynka zespołu — Bezpośrednia wymiana wiadomości peer-to-peer i transmisje
  • Narzędzia: team_tasks do zarządzania zadaniami, team_message do skrzynki

Aby zapoznać się ze szczegółami delegowania, łączami uprawnień i kontrolą współbieżności, zapoznaj się z dokumentacją Zespołów Agentów.

Wbudowane Narzędzia

Narzędzie Grupa Opis
read_file fs Odczyt zawartości pliku (z routingiem wirtualnego FS)
write_file fs Zapis/tworzenie plików
edit_file fs Stosowanie ukierunkowanych edycji do istniejących plików
list_files fs Wylistowanie zawartości katalogu
search fs Wyszukiwanie zawartości pliku wg wzorca
glob fs Wyszukiwanie plików wg wzorca glob
exec runtime Wykonywanie poleceń powłoki (z przepływem zatwierdzania)
web_search web Przeszukiwanie internetu (Brave, DuckDuckGo)
web_fetch web Pobieranie i parsowanie treści webowych
memory_search memory Przeszukiwanie pamięci długoterminowej (FTS + wektor)
memory_get memory Pobieranie wpisów pamięci
skill_search Wyszukiwanie umiejętności (hybryda BM25 + embedding)
knowledge_graph_search memory Wyszukiwanie encji i przechodzenie relacji grafu wiedzy
create_image media Generowanie obrazów (DashScope, MiniMax)
create_audio media Generowanie dźwięku (OpenAI, ElevenLabs, MiniMax, Suno)
create_video media Generowanie wideo (MiniMax, Veo)
read_document media Odczyt dokumentów (Gemini File API, łańcuch dostawców)
read_image media Analiza obrazów
read_audio media Transkrypcja i analiza dźwięku
read_video media Analiza wideo
message messaging Wysyłanie wiadomości do kanałów
tts Synteza tekstu na mowę
spawn Uruchamianie subagenta
subagents sessions Sterowanie działającymi subagentami
team_tasks teams Wspólna tablica zadań (list, create, claim, complete, search)
team_message teams Skrzynka zespołu (send, broadcast, read)
sessions_list sessions Lista aktywnych sesji
sessions_history sessions Przeglądanie historii sesji
sessions_send sessions Wysyłanie wiadomości do sesji
sessions_spawn sessions Uruchamianie nowej sesji
session_status sessions Sprawdzanie stanu sesji
cron automation Planowanie i zarządzanie zadaniami cron
gateway automation Administracja bramką
browser ui Automatyzacja przeglądarki (nawigacja, klikanie, wpisywanie, zrzut ekranu)
announce_queue automation Ogłaszanie wyników asynchronicznych (dla delegowań asynchronicznych)

Dokumentacja

Pełna dokumentacja dostępna na docs.goclaw.sh — lub przejrzyj źródło w goclaw-docs/

Sekcja Tematy
Pierwsze Kroki Instalacja, Szybki Start, Konfiguracja, Przewodnik po Panelu Webowym
Podstawowe Koncepcje Pętla Agenta, Sesje, Narzędzia, Pamięć, Wielodostępność
Agenty Tworzenie Agentów, Pliki Kontekstu, Osobowość, Udostępnianie i Dostęp
Dostawcy Anthropic, OpenAI, OpenRouter, Gemini, DeepSeek, +15 innych
Kanały Telegram, Discord, Slack, Feishu, Zalo, WhatsApp, WebSocket
Zespoły Agentów Zespoły, Tablica Zadań, Wiadomości, Delegowanie i Przekazywanie
Zaawansowane Własne Narzędzia, MCP, Umiejętności, Cron, Sandbox, Hooki, RBAC
Wdrażanie Docker Compose, Baza Danych, Bezpieczeństwo, Obserwowalność, Tailscale
Dokumentacja Referencyjna Polecenia CLI, REST API, Protokół WebSocket, Zmienne Środowiskowe

Testowanie

go test ./...                                    # Testy jednostkowe
go test -v ./tests/integration/ -timeout 120s    # Testy integracyjne (wymaga działającej bramki)

Stan Projektu

Zobacz CHANGELOG.md, aby uzyskać szczegółowy status funkcji, w tym co zostało przetestowane w środowisku produkcyjnym i co jest jeszcze w trakcie pracy.

Podziękowania

GoClaw jest zbudowany na podstawie oryginalnego projektu OpenClaw. Jesteśmy wdzięczni za architekturę i wizję, która zainspirowała ten port w języku Go.

Licencja

MIT