- Add internal/webui/ package with //go:build embedui tag for optional SPA embedding (handler.go serves static files with SPA fallback) - Add internal/version/ shared semver comparison (DRY: extracted from gateway/update_check.go and updater/updater.go) - Enhance UpdateChecker: release notes, ETag caching, filter lite-v* tags - Add web UI build stage to Dockerfile with ENABLE_EMBEDUI build arg - Simplify CI: 7 Docker variants → 4 (base, latest, full, otel) - Add SHA256 checksums job to release workflow - Add Makefile build-full target (embeds web UI in Go binary) - Default make up now embeds web UI (no separate nginx needed) - Add WITH_WEB_NGINX=1 flag for optional nginx reverse proxy - Update README + 30 translated READMEs: make up, port 18790 - Update docker-compose comments and prepare-env.sh - About dialog: show release notes with markdown rendering - Health card: amber badge for available updates BREAKING: Default Docker setup no longer requires selfservice overlay. Web dashboard served at :18790 (same port as API).
17 KiB
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.
Dokumentasi • Mulai Cepat • Twitter / X
GoClaw adalah gateway AI multi-agen yang menghubungkan LLM ke alat, saluran, dan data Anda — dideploy sebagai satu binary Go tanpa dependensi runtime. GoClaw mengorkestasi tim agen dan delegasi antar-agen ke lebih dari 20 penyedia LLM dengan isolasi multi-tenant penuh.
Merupakan port Go dari OpenClaw dengan keamanan yang ditingkatkan, PostgreSQL multi-tenant, dan observabilitas kelas produksi.
🌐 Bahasa: 🇺🇸 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
Apa yang Membuatnya Berbeda
- Tim Agen & Orkestrasi — Tim dengan papan tugas bersama, delegasi antar-agen (sinkron/asinkron), dan penemuan agen hybrid
- PostgreSQL Multi-Tenant — Ruang kerja per-pengguna, file konteks per-pengguna, kunci API terenkripsi (AES-256-GCM), sesi terisolasi
- Satu Binary — Binary Go statis ~25 MB, tanpa runtime Node.js, startup <1 detik, berjalan di VPS $5
- Keamanan Produksi — Sistem izin 5 lapisan (autentikasi gateway → kebijakan alat global → per-agen → per-saluran → hanya-pemilik) ditambah pembatasan laju, deteksi injeksi prompt, perlindungan SSRF, pola penolakan shell, dan enkripsi AES-256-GCM
- 20+ Penyedia LLM — Anthropic (HTTP+SSE native dengan prompt caching), OpenAI, OpenRouter, Groq, DeepSeek, Gemini, Mistral, xAI, MiniMax, Cohere, Perplexity, DashScope, Bailian, Zai, Ollama, Ollama Cloud, Claude CLI, Codex, ACP, dan endpoint kompatibel OpenAI lainnya
- 7 Saluran Pesan — Telegram, Discord, Slack, Zalo OA, Zalo Personal, Feishu/Lark, WhatsApp
- Extended Thinking — Mode berpikir per-penyedia (token anggaran Anthropic, upaya penalaran OpenAI, anggaran berpikir DashScope) dengan dukungan streaming
- Heartbeat — Pemeriksaan berkala agen melalui daftar periksa HEARTBEAT.md dengan suppress-on-OK, jam aktif, logika percobaan ulang, dan pengiriman saluran
- Penjadwalan & Cron — Ekspresi
at,every, dan cron untuk tugas agen otomatis dengan konkurensi berbasis jalur - Observabilitas — Pelacakan panggilan LLM bawaan dengan span dan metrik cache prompt, ekspor OpenTelemetry OTLP opsional
Ekosistem Claw
| OpenClaw | ZeroClaw | PicoClaw | GoClaw | |
|---|---|---|---|---|
| Bahasa | TypeScript | Rust | Go | Go |
| Ukuran binary | 28 MB + Node.js | 3.4 MB | ~8 MB | ~25 MB (dasar) / ~36 MB (+ OTel) |
| Image Docker | — | — | — | ~50 MB (Alpine) |
| RAM (idle) | > 1 GB | < 5 MB | < 10 MB | ~35 MB |
| Startup | > 5 s | < 10 ms | < 1 s | < 1 s |
| Target hardware | Mac Mini $599+ | edge $10 | edge $10 | VPS $5+ |
| Fitur | OpenClaw | ZeroClaw | PicoClaw | GoClaw |
|---|---|---|---|---|
| Multi-tenant (PostgreSQL) | — | — | — | ✅ |
| Integrasi MCP | — (menggunakan ACP) | — | — | ✅ (stdio/SSE/streamable-http) |
| Tim agen | — | — | — | ✅ Papan tugas + kotak surat |
| Penguatan keamanan | ✅ (SSRF, path traversal, injection) | ✅ (sandbox, rate limit, injection, pairing) | Dasar (workspace restrict, exec deny) | ✅ Pertahanan 5 lapisan |
| Observabilitas OTel | ✅ (ekstensi opsional) | ✅ (Prometheus + OTLP) | — | ✅ OTLP (build tag opsional) |
| Prompt caching | — | — | — | ✅ Anthropic + OpenAI-compat |
| Graf pengetahuan | — | — | — | ✅ Ekstraksi LLM + traversal |
| Sistem skill | ✅ Embeddings/semantik | ✅ SKILL.md + TOML | ✅ Dasar | ✅ BM25 + pgvector hybrid |
| Penjadwal berbasis jalur | ✅ | Konkurensi terbatas | — | ✅ (main/subagent/team/cron) |
| Saluran pesan | 37+ | 15+ | 10+ | 7+ |
| Aplikasi pendamping | macOS, iOS, Android | Python SDK | — | Dasbor Web |
| Live Canvas / Suara | ✅ (A2UI + TTS/STT) | — | Transkripsi suara | TTS (4 penyedia) |
| Penyedia LLM | 10+ | 8 native + 29 compat | 13+ | 20+ |
| Ruang kerja per-pengguna | ✅ (berbasis file) | — | — | ✅ (PostgreSQL) |
| Rahasia terenkripsi | — (hanya env vars) | ✅ ChaCha20-Poly1305 | — (plaintext JSON) | ✅ AES-256-GCM di DB |
Arsitektur
Mulai Cepat
Prasyarat: Go 1.26+, PostgreSQL 18 dengan pgvector, Docker (opsional)
Dari Kode Sumber
git clone https://github.com/nextlevelbuilder/goclaw.git && cd goclaw
make build
./goclaw onboard # Wizard pengaturan interaktif
source .env.local && ./goclaw
Dengan Docker
# Buat .env dengan rahasia yang di-generate otomatis
chmod +x prepare-env.sh && ./prepare-env.sh
# Tambahkan minimal satu GOCLAW_*_API_KEY ke .env, lalu:
make up
# Dasbor Web di http://localhost:18790
# Pemeriksaan kesehatan: curl http://localhost:18790/health
Ketika variabel lingkungan GOCLAW_*_API_KEY diatur, gateway akan melakukan onboard otomatis tanpa prompt interaktif — mendeteksi penyedia, menjalankan migrasi, dan menyemai data default.
Untuk varian build (OTel, Tailscale, Redis), tag image Docker, dan overlay compose, lihat Panduan Deployment.
Orkestrasi Multi-Agen
GoClaw mendukung tim agen dan delegasi antar-agen — setiap agen berjalan dengan identitas, alat, penyedia LLM, dan file konteks miliknya sendiri.
Delegasi Agen
| Mode | Cara kerjanya | Terbaik untuk |
|---|---|---|
| Sinkron | Agen A bertanya ke Agen B dan menunggu jawabannya | Pencarian cepat, pengecekan fakta |
| Asinkron | Agen A bertanya ke Agen B dan melanjutkan. B mengumumkan nanti | Tugas panjang, laporan, analisis mendalam |
Agen berkomunikasi melalui tautan izin eksplisit dengan kontrol arah (outbound, inbound, bidirectional) dan batas konkurensi di tingkat per-tautan maupun per-agen.
Tim Agen
- Papan tugas bersama — Buat, klaim, selesaikan, cari tugas dengan dependensi
blocked_by - Kotak surat tim — Pesan langsung antar-sesama dan siaran
- Alat:
team_tasksuntuk manajemen tugas,team_messageuntuk kotak surat
Untuk detail delegasi, tautan izin, dan kontrol konkurensi, lihat dokumentasi Tim Agen.
Alat Bawaan
| Alat | Grup | Deskripsi |
|---|---|---|
read_file |
fs | Membaca isi file (dengan routing FS virtual) |
write_file |
fs | Menulis/membuat file |
edit_file |
fs | Menerapkan pengeditan terarah pada file yang ada |
list_files |
fs | Menampilkan isi direktori |
search |
fs | Mencari isi file berdasarkan pola |
glob |
fs | Menemukan file berdasarkan pola glob |
exec |
runtime | Menjalankan perintah shell (dengan alur persetujuan) |
web_search |
web | Mencari di web (Brave, DuckDuckGo) |
web_fetch |
web | Mengambil dan memparse konten web |
memory_search |
memory | Mencari memori jangka panjang (FTS + vector) |
memory_get |
memory | Mengambil entri memori |
skill_search |
— | Mencari skill (BM25 + embedding hybrid) |
knowledge_graph_search |
memory | Mencari entitas dan menelusuri relasi graf pengetahuan |
create_image |
media | Pembuatan gambar (DashScope, MiniMax) |
create_audio |
media | Pembuatan audio (OpenAI, ElevenLabs, MiniMax, Suno) |
create_video |
media | Pembuatan video (MiniMax, Veo) |
read_document |
media | Pembacaan dokumen (Gemini File API, rantai penyedia) |
read_image |
media | Analisis gambar |
read_audio |
media | Transkripsi dan analisis audio |
read_video |
media | Analisis video |
message |
messaging | Mengirim pesan ke saluran |
tts |
— | Sintesis Text-to-Speech |
spawn |
— | Menjalankan subagen |
subagents |
sessions | Mengendalikan subagen yang berjalan |
team_tasks |
teams | Papan tugas bersama (list, buat, klaim, selesaikan, cari) |
team_message |
teams | Kotak surat tim (kirim, siaran, baca) |
sessions_list |
sessions | Menampilkan sesi aktif |
sessions_history |
sessions | Melihat riwayat sesi |
sessions_send |
sessions | Mengirim pesan ke sesi |
sessions_spawn |
sessions | Menjalankan sesi baru |
session_status |
sessions | Memeriksa status sesi |
cron |
automation | Menjadwalkan dan mengelola cron job |
gateway |
automation | Administrasi gateway |
browser |
ui | Otomasi browser (navigasi, klik, ketik, screenshot) |
announce_queue |
automation | Pengumuman hasil asinkron (untuk delegasi asinkron) |
Dokumentasi
Dokumentasi lengkap di docs.goclaw.sh — atau jelajahi sumbernya di goclaw-docs/
| Bagian | Topik |
|---|---|
| Memulai | Instalasi, Mulai Cepat, Konfigurasi, Tur Dasbor Web |
| Konsep Inti | Loop Agen, Sesi, Alat, Memori, Multi-Tenancy |
| Agen | Membuat Agen, File Konteks, Kepribadian, Berbagi & Akses |
| Penyedia | Anthropic, OpenAI, OpenRouter, Gemini, DeepSeek, +15 lainnya |
| Saluran | Telegram, Discord, Slack, Feishu, Zalo, WhatsApp, WebSocket |
| Tim Agen | Tim, Papan Tugas, Pesan, Delegasi & Handoff |
| Lanjutan | Alat Kustom, MCP, Skill, Cron, Sandbox, Hook, RBAC |
| Deployment | Docker Compose, Database, Keamanan, Observabilitas, Tailscale |
| Referensi | Perintah CLI, REST API, Protokol WebSocket, Variabel Lingkungan |
Pengujian
go test ./... # Tes unit
go test -v ./tests/integration/ -timeout 120s # Tes integrasi (memerlukan gateway yang berjalan)
Status Proyek
Lihat CHANGELOG.md untuk status fitur terperinci termasuk apa yang telah diuji di produksi dan apa yang masih dalam proses.
Ucapan Terima Kasih
GoClaw dibangun di atas proyek OpenClaw yang asli. Kami berterima kasih atas arsitektur dan visi yang menginspirasi port Go ini.
Lisensi
MIT



