acp
شغّل جسر Agent Client Protocol (ACP) الذي يتحدث إلى بوابة OpenClaw. يتحدث هذا الأمر بروتوكول ACP عبر stdio لبيئات IDE ويعيد توجيه المطالبات إلى البوابة عبر WebSocket. ويحافظ على ربط جلسات ACP بمفاتيح جلسات البوابة. إنopenclaw acp هو جسر ACP مدعوم بالبوابة، وليس بيئة تشغيل تحرير
أصلية كاملة لـ ACP. وهو يركز على توجيه الجلسات، وتسليم المطالبات، وتحديثات
البث الأساسية.
إذا كنت تريد أن يتحدث عميل MCP خارجي مباشرةً إلى محادثات قنوات OpenClaw
بدلًا من استضافة جلسة harness لـ ACP، فاستخدم
openclaw mcp serve بدلًا من ذلك.
ما الذي لا يمثله هذا
غالبًا ما يختلط هذا الصفحة بجلسات harness الخاصة بـ ACP. يعنيopenclaw acp ما يلي:
- يعمل OpenClaw كخادم ACP
- يتصل IDE أو عميل ACP بـ OpenClaw
- يعيد OpenClaw توجيه هذا العمل إلى جلسة في البوابة
acpx.
قاعدة سريعة:
- إذا كان المحرر/العميل يريد التحدث عبر ACP إلى OpenClaw: استخدم
openclaw acp - إذا كان ينبغي على OpenClaw تشغيل Codex/Claude/Gemini كـ ACP harness: استخدم
/acp spawnوACP Agents
مصفوفة التوافق
| مجال ACP | الحالة | ملاحظات |
|---|---|---|
initialize, newSession, prompt, cancel | مُنفّذ | تدفق الجسر الأساسي عبر stdio إلى Gateway chat/send + الإلغاء. |
listSessions, أوامر slash | مُنفّذ | يعمل سرد الجلسات مقابل حالة جلسات البوابة؛ ويتم الإعلان عن الأوامر عبر available_commands_update. |
loadSession | جزئي | يعيد ربط جلسة ACP بمفتاح جلسة في البوابة ويعيد تشغيل سجل النصوص المخزن للمستخدم/المساعد. ولا يُعاد بناء سجل الأدوات/النظام بعد. |
محتوى المطالبة (text, وresource المضمّن، والصور) | جزئي | يتم تسطيح النص/الموارد إلى دخل الدردشة؛ وتتحول الصور إلى مرفقات في البوابة. |
| أوضاع الجلسات | جزئي | session/set_mode مدعوم، ويعرض الجسر عناصر تحكم أولية مدعومة بالبوابة لمستوى التفكير، وإسهاب الأدوات، والاستدلال، وتفاصيل الاستخدام، والإجراءات المرتفعة. وما تزال أسطح الأوضاع/الإعدادات الأوسع الأصلية لـ ACP خارج النطاق. |
| معلومات الجلسة وتحديثات الاستخدام | جزئي | يصدر الجسر إشعارات session_info_update وusage_update بأفضل جهد من لقطات جلسات البوابة المخزنة مؤقتًا. والاستخدام تقريبي ولا يُرسل إلا عندما تكون مجاميع الرموز في البوابة معلّمة على أنها حديثة. |
| بث الأدوات | جزئي | تتضمن أحداث tool_call / tool_call_update الإدخال/الإخراج الخام، ومحتوى النص، ومواقع الملفات بأفضل جهد عندما تكشفها وسائط/نتائج أدوات البوابة. ولا تزال الطرفيات المضمّنة ومخرجات الفروقات الأصلية الأغنى غير مكشوفة. |
خوادم MCP لكل جلسة (mcpServers) | غير مدعوم | يرفض وضع الجسر طلبات خوادم MCP لكل جلسة. قم بإعداد MCP على بوابة OpenClaw أو الوكيل بدلًا من ذلك. |
أساليب نظام ملفات العميل (fs/read_text_file, fs/write_text_file) | غير مدعوم | لا يستدعي الجسر أساليب نظام ملفات عميل ACP. |
أساليب طرفية العميل (terminal/*) | غير مدعوم | لا ينشئ الجسر طرفيات لعميل ACP ولا يبث معرّفات الطرفيات عبر استدعاءات الأدوات. |
| خطط الجلسات / بث الأفكار | غير مدعوم | يصدر الجسر حاليًا نص المخرجات وحالة الأدوات، وليس تحديثات الخطط أو الأفكار الخاصة بـ ACP. |
القيود المعروفة
- يعيد
loadSessionتشغيل سجل النصوص المخزن للمستخدم والمساعد، لكنه لا يعيد بناء استدعاءات الأدوات التاريخية أو إشعارات النظام أو أنواع الأحداث الأصلية الأكثر غنى في ACP. - إذا شارك عدة عملاء ACP مفتاح جلسة البوابة نفسه، فإن توجيه الأحداث والإلغاء
يكون بأفضل جهد بدلًا من العزل الصارم لكل عميل. ويفضَّل استخدام جلسات
acp:<uuid>المعزولة افتراضيًا عندما تحتاج إلى أدوار محلية نظيفة في المحرر. - تُترجم حالات التوقف في البوابة إلى أسباب توقف في ACP، لكن هذا الربط أقل تعبيرًا من بيئة تشغيل أصلية كاملة لـ ACP.
- تعرِض عناصر التحكم الأولية في الجلسات حاليًا مجموعة مركزة من مفاتيح البوابة: مستوى التفكير، وإسهاب الأدوات، والاستدلال، وتفاصيل الاستخدام، والإجراءات المرتفعة. ولم يتم بعد كشف اختيار النموذج وعناصر تحكم مضيف exec كخيارات إعداد في ACP.
- تُشتق
session_info_updateوusage_updateمن لقطات جلسات البوابة، لا من محاسبة وقت تشغيل أصلية مباشرة لـ ACP. والاستخدام تقريبي، ولا يتضمن بيانات تكلفة، ولا يُصدر إلا عندما تضع البوابة علامة “حديث” على بيانات إجمالي الرموز. - بيانات متابعة الأدوات تعمل بأفضل جهد. يستطيع الجسر إظهار مسارات الملفات التي تظهر في وسائط/نتائج أدوات معروفة، لكنه لا يصدر بعد طرفيات ACP أو فروقات ملفات منظمة.
الاستخدام
عميل ACP (تصحيح)
استخدم عميل ACP المضمّن للتحقق السريع من الجسر من دون IDE. فهو يشغّل جسر ACP ويسمح لك بكتابة المطالبات بشكل تفاعلي.- تعتمد الموافقة التلقائية على قائمة سماح ولا تنطبق إلا على معرّفات الأدوات الأساسية الموثوقة.
- تقتصر الموافقة التلقائية لـ
readعلى دليل العمل الحالي (--cwdعند ضبطه). - يوافق ACP تلقائيًا فقط على فئات ضيقة للقراءة فقط: استدعاءات
readضمن cwd النشط، إضافة إلى أدوات البحث للقراءة فقط (search,web_search,memory_search). وتتطلب الأدوات غير المعروفة/غير الأساسية، وعمليات القراءة خارج النطاق، والأدوات القادرة على exec، وأدوات مستوى التحكم، والأدوات المعدِّلة، والتدفقات التفاعلية دائمًا موافقة صريحة عبر المطالبة. - تُعامل
toolCall.kindالمقدمة من الخادم على أنها بيانات وصفية غير موثوقة (وليست مصدر تفويض). - تختلف سياسة جسر ACP هذا عن أذونات ACPX harness. إذا شغّلت OpenClaw عبر الخلفية
acpx، فإنplugins.entries.acpx.config.permissionMode=approve-allهو مفتاح الطوارئ “yolo” لتلك الجلسة من الـ harness.
كيفية استخدام هذا
استخدم ACP عندما يتحدث IDE (أو عميل آخر) Agent Client Protocol وتريد أن يدير جلسة بوابة OpenClaw.- تأكد من أن البوابة قيد التشغيل (محليًا أو عن بُعد).
- اضبط هدف البوابة (بالإعداد أو العلامات).
- وجّه IDE لديك لتشغيل
openclaw acpعبر stdio.
اختيار الوكلاء
لا يختار ACP الوكلاء مباشرةً. بل يوجّه حسب مفتاح جلسة البوابة. استخدم مفاتيح جلسات على مستوى الوكيل لاستهداف وكيل محدد:acp:<uuid> ما لم تتجاوز
المفتاح أو التسمية.
لا يتم دعم mcpServers لكل جلسة في وضع الجسر. وإذا أرسل عميل ACP
هذه القيم أثناء newSession أو loadSession، فسيعيد الجسر خطأً
واضحًا بدلًا من تجاهلها بصمت.
إذا كنت تريد أن ترى الجلسات المدعومة بـ ACPX أدوات plugin الخاصة بـ OpenClaw، ففعّل
جسر plugin الخاص بـ ACPX على جانب البوابة بدلًا من محاولة تمرير
mcpServers لكل جلسة. راجع ACP Agents.
الاستخدام من acpx (Codex وClaude وغيرهما من عملاء ACP)
إذا كنت تريد أن يتحدث وكيل برمجي مثل Codex أو Claude Code إلى
بوت OpenClaw لديك عبر ACP، فاستخدم acpx مع الهدف المضمّن openclaw.
التدفق النموذجي:
- شغّل البوابة وتأكد من أن جسر ACP يستطيع الوصول إليها.
- وجّه
acpx openclawإلىopenclaw acp. - استهدف مفتاح جلسة OpenClaw الذي تريد أن يستخدمه وكيل البرمجة.
acpx openclaw بوابة ومفتاح جلسة محددين في كل
مرة، فتجاوز أمر الوكيل openclaw في ~/.acpx/config.json:
إعداد محرر Zed
أضف وكيل ACP مخصصًا في~/.config/zed/settings.json (أو استخدم واجهة إعدادات Zed):
ربط الجلسات
افتراضيًا، تحصل جلسات ACP على مفتاح جلسة معزول في البوابة مع البادئةacp:.
ولإعادة استخدام جلسة معروفة، مرّر مفتاح جلسة أو تسمية:
--session <key>: استخدم مفتاح جلسة محددًا في البوابة.--session-label <label>: حل جلسة موجودة حسب التسمية.--reset-session: أنشئ معرّف جلسة جديدًا لذلك المفتاح (المفتاح نفسه، وسجل جديد).
الخيارات
--url <url>: عنوان WebSocket URL للبوابة (يستخدمgateway.remote.urlافتراضيًا عند إعداده).--token <token>: رمز مصادقة البوابة.--token-file <path>: قراءة رمز مصادقة البوابة من ملف.--password <password>: كلمة مرور مصادقة البوابة.--password-file <path>: قراءة كلمة مرور مصادقة البوابة من ملف.--session <key>: مفتاح الجلسة الافتراضي.--session-label <label>: تسمية الجلسة الافتراضية المراد حلها.--require-existing: يفشل إذا لم يكن مفتاح/تسمية الجلسة موجودًا.--reset-session: إعادة تعيين مفتاح الجلسة قبل أول استخدام.--no-prefix-cwd: عدم إضافة دليل العمل كبادئة للمطالبات.--provenance <off|meta|meta+receipt>: تضمين بيانات وصفية أو إيصالات provenance الخاصة بـ ACP.--verbose, -v: تسجيلات مفصلة إلى stderr.
- قد تكون
--tokenو--passwordمرئيتين في قوائم العمليات المحلية على بعض الأنظمة. - يفضَّل استخدام
--token-file/--password-fileأو متغيرات البيئة (OPENCLAW_GATEWAY_TOKEN,OPENCLAW_GATEWAY_PASSWORD). - يتبع تحليل مصادقة البوابة العقد المشترك المستخدم من قِبل عملاء البوابة الآخرين:
- الوضع المحلي: البيئة (
OPENCLAW_GATEWAY_*) ->gateway.auth.*-> الرجوع إلىgateway.remote.*فقط عندما لا تكونgateway.auth.*مضبوطة (تفشل SecretRefs المحلية المضبوطة لكن غير المحلولة بشكل مغلق) - الوضع البعيد:
gateway.remote.*مع الرجوع إلى البيئة/الإعداد وفق قواعد أسبقية الوضع البعيد --urlآمن للتجاوز ولا يعيد استخدام بيانات اعتماد ضمنية من الإعداد/البيئة؛ مرّر--token/--passwordصريحين (أو نُسَخ الملف)
- الوضع المحلي: البيئة (
- تتلقى العمليات الفرعية في الخلفية وقت تشغيل ACP المتغير
OPENCLAW_SHELL=acp، ويمكن استخدامه لقواعد سياق shell/profile خاصة. - يضبط
openclaw acp clientالقيمةOPENCLAW_SHELL=acp-clientعلى عملية الجسر التي يتم تشغيلها.
خيارات acp client
--cwd <dir>: دليل العمل لجلسة ACP.--server <command>: أمر خادم ACP (الافتراضي:openclaw).--server-args <args...>: وسائط إضافية تمرَّر إلى خادم ACP.--server-verbose: تمكين التسجيلات المفصلة على خادم ACP.--verbose, -v: تسجيلات مفصلة للعميل.