Files
Viet Tran 52c67d6d92 feat(build): embed web UI in backend binary + simplify Docker variants (#620)
- 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).
2026-04-01 15:25:59 +07:00

17 KiB

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.

DokumentasiMulai CepatTwitter / X

Go PostgreSQL Docker WebSocket OpenTelemetry Anthropic OpenAI License: MIT

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

GoClaw Architecture

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

Agent Delegation

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

Agent Teams Workflow

  • Papan tugas bersama — Buat, klaim, selesaikan, cari tugas dengan dependensi blocked_by
  • Kotak surat tim — Pesan langsung antar-sesama dan siaran
  • Alat: team_tasks untuk manajemen tugas, team_message untuk 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