- 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).
21 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.
التوثيق • البدء السريع • Twitter / X
GoClaw هو بوابة ذكاء اصطناعي متعددة الوكلاء تربط نماذج اللغة الكبيرة بأدواتك وقنواتك وبياناتك — يُنشر كملف Go ثنائي واحد بدون أي تبعيات وقت تشغيل. يُنسّق فرق الوكلاء والتفويض بين الوكلاء عبر أكثر من 20 مزوّد نماذج لغوية مع عزل كامل لمتعددي المستأجرين.
منفذ Go من OpenClaw مع أمان محسّن، وPostgreSQL متعدد المستأجرين، وإمكانية رصد وإنتاجية متميزة.
🌐 اللغات: 🇺🇸 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
ما الذي يميّزه
- فرق الوكلاء والتنسيق — فرق ذات لوحات مهام مشتركة، وتفويض بين الوكلاء (متزامن/غير متزامن)، واكتشاف هجين للوكلاء
- PostgreSQL متعدد المستأجرين — مساحات عمل لكل مستخدم، وملفات سياق لكل مستخدم، ومفاتيح API مشفّرة (AES-256-GCM)، وجلسات معزولة
- ملف ثنائي واحد — ملف Go ثابت بحجم ~25 ميغابايت، بدون Node.js، بدء تشغيل أقل من ثانية، يعمل على خادم VPS بـ5 دولارات
- أمان للإنتاج — نظام أذونات من 5 طبقات (مصادقة البوابة ← سياسة الأداة العالمية ← لكل وكيل ← لكل قناة ← للمالك فقط) بالإضافة إلى تحديد المعدل، وكشف حقن البرومبت، وحماية SSRF، وأنماط رفض Shell، وتشفير AES-256-GCM
- أكثر من 20 مزوّد نماذج لغوية — Anthropic (HTTP+SSE أصلي مع تخزين مؤقت للبرومبت)، OpenAI، OpenRouter، Groq، DeepSeek، Gemini، Mistral، xAI، MiniMax، Cohere، Perplexity، DashScope، Bailian، Zai، Ollama، Ollama Cloud، Claude CLI، Codex، ACP، وأي نقطة نهاية متوافقة مع OpenAI
- 7 قنوات مراسلة — Telegram، Discord، Slack، Zalo OA، Zalo Personal، Feishu/Lark، WhatsApp
- Extended Thinking — وضع تفكير لكل مزوّد (رموز ميزانية Anthropic، جهد استدلال OpenAI، ميزانية تفكير DashScope) مع دعم البث
- Heartbeat — فحوصات دورية للوكيل عبر قوائم مراجعة HEARTBEAT.md مع كبت عند النجاح، وساعات نشطة، ومنطق إعادة المحاولة، وتسليم القناة
- الجدولة والكرون — تعبيرات
atوeveryوالكرون للمهام الآلية للوكيل مع تزامن قائم على المسارات - إمكانية الرصد — تتبع مدمج لاستدعاءات نموذج اللغة الكبيرة مع spans ومقاييس ذاكرة التخزين المؤقت للبرومبت، وتصدير اختياري عبر OpenTelemetry OTLP
نظام بيئة Claw
| OpenClaw | ZeroClaw | PicoClaw | GoClaw | |
|---|---|---|---|---|
| اللغة | TypeScript | Rust | Go | Go |
| حجم الملف الثنائي | 28 MB + Node.js | 3.4 MB | ~8 MB | ~25 MB (أساسي) / ~36 MB (+ OTel) |
| صورة Docker | — | — | — | ~50 MB (Alpine) |
| الذاكرة (خامل) | > 1 GB | < 5 MB | < 10 MB | ~35 MB |
| بدء التشغيل | > 5 s | < 10 ms | < 1 s | < 1 s |
| العتاد المستهدف | Mac Mini بـ599 دولار+ | حافة 10 دولار | حافة 10 دولار | VPS بـ5 دولار+ |
| الميزة | OpenClaw | ZeroClaw | PicoClaw | GoClaw |
|---|---|---|---|---|
| متعدد المستأجرين (PostgreSQL) | — | — | — | ✅ |
| تكامل MCP | — (يستخدم ACP) | — | — | ✅ (stdio/SSE/streamable-http) |
| فرق الوكلاء | — | — | — | ✅ لوحة مهام + صندوق بريد |
| تصليب الأمان | ✅ (SSRF، اجتياز المسار، الحقن) | ✅ (صندوق حماية، تحديد المعدل، الحقن، الإقران) | أساسي (تقييد مساحة العمل، رفض التنفيذ) | ✅ دفاع من 5 طبقات |
| إمكانية الرصد OTel | ✅ (امتداد اختياري) | ✅ (Prometheus + OTLP) | — | ✅ OTLP (علامة بناء اختيارية) |
| التخزين المؤقت للبرومبت | — | — | — | ✅ Anthropic + متوافق OpenAI |
| الرسم البياني للمعرفة | — | — | — | ✅ استخراج نموذج اللغة + اجتياز |
| نظام المهارات | ✅ تضمينات/دلالية | ✅ SKILL.md + TOML | ✅ أساسي | ✅ BM25 + pgvector هجين |
| جدولة قائمة على المسارات | ✅ | تزامن محدود | — | ✅ (رئيسي/وكيل فرعي/فريق/كرون) |
| قنوات المراسلة | 37+ | 15+ | 10+ | 7+ |
| التطبيقات المرافقة | macOS، iOS، Android | Python SDK | — | لوحة تحكم ويب |
| Canvas الحي / الصوت | ✅ (A2UI + TTS/STT) | — | نسخ صوتي | TTS (4 مزودين) |
| مزودو نماذج اللغة الكبيرة | 10+ | 8 أصلي + 29 متوافق | 13+ | 20+ |
| مساحات عمل لكل مستخدم | ✅ (قائمة على الملفات) | — | — | ✅ (PostgreSQL) |
| الأسرار المشفّرة | — (متغيرات البيئة فقط) | ✅ ChaCha20-Poly1305 | — (JSON نص عادي) | ✅ AES-256-GCM في قاعدة البيانات |
المعمارية
البدء السريع
المتطلبات الأساسية: Go 1.26+، PostgreSQL 18 مع pgvector، Docker (اختياري)
من المصدر
git clone https://github.com/nextlevelbuilder/goclaw.git && cd goclaw
make build
./goclaw onboard # معالج إعداد تفاعلي
source .env.local && ./goclaw
مع Docker
# توليد .env مع أسرار مولّدة تلقائياً
chmod +x prepare-env.sh && ./prepare-env.sh
# أضف على الأقل مفتاح GOCLAW_*_API_KEY إلى .env، ثم:
make up
# لوحة تحكم الويب على http://localhost:18790
# فحص الصحة: curl http://localhost:18790/health
عند تعيين متغيرات البيئة GOCLAW_*_API_KEY، تعمل البوابة على الإعداد التلقائي بدون مطالبات تفاعلية — تكتشف المزوّد، وتشغّل الترحيلات، وتزرع البيانات الافتراضية.
لاختلافات البناء (OTel، Tailscale، Redis)، وعلامات صور Docker، والتراكبات المُركّبة، راجع دليل النشر.
تنسيق متعدد الوكلاء
يدعم GoClaw فرق الوكلاء والتفويض بين الوكلاء — يعمل كل وكيل بهويته الخاصة وأدواته ومزوّد نماذج اللغة الكبيرة وملفات السياق.
تفويض الوكيل
| الوضع | كيف يعمل | الأنسب لـ |
|---|---|---|
| متزامن | الوكيل A يسأل الوكيل B وينتظر الإجابة | البحثات السريعة، التحقق من الحقائق |
| غير متزامن | الوكيل A يسأل الوكيل B ويكمل عمله. يُعلن B لاحقاً | المهام الطويلة، التقارير، التحليل العميق |
يتواصل الوكلاء عبر روابط الأذونات الصريحة مع التحكم في الاتجاه (outbound، inbound، bidirectional) وحدود التزامن على مستوى الرابط والوكيل.
فرق الوكلاء
- لوحة المهام المشتركة — إنشاء المهام، والمطالبة بها، وإكمالها، والبحث فيها مع تبعيات
blocked_by - صندوق بريد الفريق — رسائل مباشرة من نظير إلى نظير وبث جماعي
- الأدوات:
team_tasksلإدارة المهام، وteam_messageلصندوق البريد
للاطلاع على تفاصيل التفويض وروابط الأذونات والتحكم في التزامن، راجع توثيق فرق الوكلاء.
الأدوات المدمجة
| الأداة | المجموعة | الوصف |
|---|---|---|
read_file |
fs | قراءة محتويات الملفات (مع توجيه نظام الملفات الافتراضي) |
write_file |
fs | كتابة/إنشاء الملفات |
edit_file |
fs | تطبيق تعديلات محددة على الملفات الموجودة |
list_files |
fs | عرض محتويات الدليل |
search |
fs | البحث في محتويات الملفات بنمط معين |
glob |
fs | البحث عن الملفات بنمط glob |
exec |
runtime | تنفيذ أوامر Shell (مع سير عمل الموافقة) |
web_search |
web | البحث على الويب (Brave، DuckDuckGo) |
web_fetch |
web | جلب محتوى الويب وتحليله |
memory_search |
memory | البحث في الذاكرة طويلة المدى (FTS + متجه) |
memory_get |
memory | استرجاع مدخلات الذاكرة |
skill_search |
— | البحث في المهارات (BM25 + تضمين هجين) |
knowledge_graph_search |
memory | البحث في الكيانات واجتياز علاقات الرسم البياني للمعرفة |
create_image |
media | توليد الصور (DashScope، MiniMax) |
create_audio |
media | توليد الصوت (OpenAI، ElevenLabs، MiniMax، Suno) |
create_video |
media | توليد الفيديو (MiniMax، Veo) |
read_document |
media | قراءة المستندات (Gemini File API، سلسلة المزودين) |
read_image |
media | تحليل الصور |
read_audio |
media | نسخ الصوت وتحليله |
read_video |
media | تحليل الفيديو |
message |
messaging | إرسال رسائل إلى القنوات |
tts |
— | تحويل النص إلى كلام |
spawn |
— | إطلاق وكيل فرعي |
subagents |
sessions | التحكم في الوكلاء الفرعية الجارية |
team_tasks |
teams | لوحة المهام المشتركة (قائمة، إنشاء، مطالبة، إكمال، بحث) |
team_message |
teams | صندوق بريد الفريق (إرسال، بث، قراءة) |
sessions_list |
sessions | عرض الجلسات النشطة |
sessions_history |
sessions | عرض تاريخ الجلسة |
sessions_send |
sessions | إرسال رسالة إلى جلسة |
sessions_spawn |
sessions | إطلاق جلسة جديدة |
session_status |
sessions | فحص حالة الجلسة |
cron |
automation | جدولة وإدارة وظائف الكرون |
gateway |
automation | إدارة البوابة |
browser |
ui | أتمتة المتصفح (تصفح، نقر، كتابة، لقطة شاشة) |
announce_queue |
automation | إعلان النتائج غير المتزامنة (للتفويضات غير المتزامنة) |
التوثيق
التوثيق الكامل على docs.goclaw.sh — أو تصفّح المصدر في goclaw-docs/
| القسم | المواضيع |
|---|---|
| البدء | التثبيت، البدء السريع، الإعداد، جولة لوحة تحكم الويب |
| المفاهيم الأساسية | حلقة الوكيل، الجلسات، الأدوات، الذاكرة، متعددية المستأجرين |
| الوكلاء | إنشاء الوكلاء، ملفات السياق، الشخصية، المشاركة والوصول |
| المزودون | Anthropic، OpenAI، OpenRouter، Gemini، DeepSeek، +15 المزيد |
| القنوات | Telegram، Discord، Slack، Feishu، Zalo، WhatsApp، WebSocket |
| فرق الوكلاء | الفرق، لوحة المهام، المراسلة، التفويض والتسليم |
| متقدم | الأدوات المخصصة، MCP، المهارات، الكرون، صندوق الحماية، الخطافات، RBAC |
| النشر | Docker Compose، قاعدة البيانات، الأمان، إمكانية الرصد، Tailscale |
| المرجع | أوامر CLI، REST API، بروتوكول WebSocket، متغيرات البيئة |
الاختبار
go test ./... # اختبارات الوحدة
go test -v ./tests/integration/ -timeout 120s # اختبارات التكامل (تتطلب بوابة قيد التشغيل)
حالة المشروع
راجع CHANGELOG.md للاطلاع على حالة الميزات التفصيلية بما في ذلك ما تم اختباره في الإنتاج وما لا يزال قيد التطوير.
شكر وتقدير
بُني GoClaw على مشروع OpenClaw الأصلي. نحن ممتنون للمعمارية والرؤية التي ألهمت هذا المنفذ بلغة Go.
الرخصة
MIT



