tools.* وإعداد الموفّر المخصص / Base URL. وبالنسبة إلى الوكلاء،
والقنوات، ومفاتيح الإعدادات الأخرى ذات المستوى الأعلى، راجع
مرجع الإعدادات.
الأدوات
ملفات تعريف الأدوات
تضبطtools.profile allowlist أساسية قبل tools.allow/tools.deny:
يقوم onboarding المحلي افتراضيًا بضبط الإعدادات المحلية الجديدة على tools.profile: "coding" عند عدم تعيينها (وتُحفَظ ملفات التعريف الصريحة الموجودة).
| ملف التعريف | يتضمن |
|---|---|
minimal | session_status فقط |
coding | group:fs وgroup:runtime وgroup:web وgroup:sessions وgroup:memory وcron وimage وimage_generate وvideo_generate |
messaging | group:messaging وsessions_list وsessions_history وsessions_send وsession_status |
full | بلا قيود (مثل الحالة غير المعيّنة) |
مجموعات الأدوات
| المجموعة | الأدوات |
|---|---|
group:runtime | exec وprocess وcode_execution (bash مقبول كاسم مستعار لـ exec) |
group:fs | read وwrite وedit وapply_patch |
group:sessions | sessions_list وsessions_history وsessions_send وsessions_spawn وsessions_yield وsubagents وsession_status |
group:memory | memory_search وmemory_get |
group:web | web_search وx_search وweb_fetch |
group:ui | browser وcanvas |
group:automation | cron وgateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image وimage_generate وvideo_generate وtts |
group:openclaw | جميع الأدوات المدمجة (باستثناء Plugins المزوّد) |
tools.allow / tools.deny
سياسة السماح/المنع العامة للأدوات (المنع يفوز). غير حساسة لحالة الأحرف، وتدعم wildcard *. وتُطبَّق حتى عندما يكون Docker sandbox معطّلًا.
tools.byProvider
تقيّد الأدوات بشكل إضافي لموفّرين أو نماذج محددة. الترتيب: ملف التعريف الأساسي ← ملف تعريف الموفّر ← السماح/المنع.
tools.elevated
يتحكم في وصول exec المرتفع خارج sandbox:
- يمكن لتجاوز كل وكيل (
agents.list[].tools.elevated) أن يزيد التقييد فقط. - يخزن
/elevated on|off|ask|fullالحالة لكل جلسة؛ وتُطبَّق التوجيهات المضمنة على رسالة واحدة. - يتجاوز
execالمرتفع العزل sandboxing ويستخدم مسار الهروب المهيأ (gatewayافتراضيًا، أوnodeعندما يكون هدف exec هوnode).
tools.exec
tools.loopDetection
تكون فحوصات أمان حلقات الأدوات معطّلة افتراضيًا. اضبط enabled: true لتفعيل الاكتشاف.
يمكن تعريف الإعدادات عالميًا في tools.loopDetection وتجاوزها لكل وكيل في agents.list[].tools.loopDetection.
historySize: الحد الأقصى لسجل استدعاءات الأدوات المحتفَظ به لتحليل الحلقات.warningThreshold: حد نمط التكرار غير المتقدم لإطلاق التحذيرات.criticalThreshold: حد تكرار أعلى لحظر الحلقات الحرجة.globalCircuitBreakerThreshold: حد إيقاف صارم لأي تشغيل بلا تقدم.detectors.genericRepeat: التحذير عند تكرار استدعاءات الأداة نفسها/الوسائط نفسها.detectors.knownPollNoProgress: التحذير/الحظر على أدوات polling المعروفة (process.pollوcommand_statusوما شابه).detectors.pingPong: التحذير/الحظر على أنماط الأزواج المتناوبة بلا تقدم.- إذا كانت
warningThreshold >= criticalThresholdأوcriticalThreshold >= globalCircuitBreakerThreshold، يفشل التحقق.
tools.web
tools.media
يضبط فهم الوسائط الواردة (الصور/الصوت/الفيديو):
حقول إدخال نموذج الوسائط
حقول إدخال نموذج الوسائط
إدخال الموفّر (
type: "provider" أو عند حذفه):provider: معرّف موفّر API (openaiوanthropicوgoogle/geminiوgroqوما إلى ذلك)model: تجاوز معرّف النموذجprofile/preferredProfile: اختيار ملف تعريفauth-profiles.json
type: "cli"):command: الملف التنفيذي المطلوب تشغيلهargs: وسائط ذات قوالب (تدعم{{MediaPath}}و{{Prompt}}و{{MaxChars}}وما إلى ذلك)
capabilities: قائمة اختيارية (imageوaudioوvideo). القيم الافتراضية: openai/anthropic/minimax← صورة، وgoogle← صورة+صوت+فيديو، وgroq← صوت.promptوmaxCharsوmaxBytesوtimeoutSecondsوlanguage: تجاوزات لكل إدخال.- تعود الأعطال احتياطيًا إلى الإدخال التالي.
auth-profiles.json ← متغيرات البيئة ← models.providers.*.apiKey.حقول الإكمال غير المتزامن:asyncCompletion.directSend: عندما تكونtrue، تحاول مهامmusic_generateوvideo_generateغير المتزامنة المكتملة التسليم المباشر إلى القناة أولًا. الافتراضي:false(مسار legacy الخاص بإيقاظ جلسة الطالب/تسليم النموذج).
tools.agentToAgent
tools.sessions
يتحكم في الجلسات التي يمكن استهدافها بواسطة أدوات الجلسات (sessions_list وsessions_history وsessions_send).
الافتراضي: tree (الجلسة الحالية + الجلسات التي أنشأتها، مثل الوكلاء الفرعيين).
self: مفتاح الجلسة الحالية فقط.tree: الجلسة الحالية + الجلسات التي أنشأتها الجلسة الحالية (الوكلاء الفرعيون).agent: أي جلسة تنتمي إلى معرّف الوكيل الحالي (وقد يتضمن ذلك مستخدمين آخرين إذا كنت تشغّل جلسات لكل مرسل تحت معرّف الوكيل نفسه).all: أي جلسة. ولا يزال الاستهداف عبر الوكلاء يتطلبtools.agentToAgent.- تقييد sandbox: عندما تكون الجلسة الحالية داخل sandbox ويكون
agents.defaults.sandbox.sessionToolsVisibility="spawned"، تُفرض الرؤية إلىtreeحتى إذا كانتtools.sessions.visibility="all".
tools.sessions_spawn
يتحكم في دعم المرفقات المضمنة لـ sessions_spawn.
- لا تُدعم المرفقات إلا مع
runtime: "subagent". أما وقت تشغيل ACP فيرفضها. - تُحوَّل الملفات إلى مساحة عمل الطفل ضمن
.openclaw/attachments/<uuid>/مع ملف.manifest.json. - يتم تنقيح محتوى المرفقات تلقائيًا من استمرار transcript.
- يتم التحقق من مدخلات base64 بفحوص صارمة للأبجدية/الحشو وحارس حجم قبل فك الترميز.
- أذونات الملفات هي
0700للأدلة و0600للملفات. - يتبع التنظيف سياسة
cleanup: يقومdeleteدائمًا بإزالة المرفقات؛ بينما يحتفظkeepبها فقط عندما تكونretainOnSessionKeep: true.
tools.experimental
علامات الأدوات المدمجة التجريبية. تكون معطلة افتراضيًا ما لم تنطبق قاعدة تمكين تلقائي صارمة لـ GPT-5 agentic.
planTool: يفعّل أداةupdate_planالمنظّمة لتتبع الأعمال غير التافهة متعددة الخطوات.- الافتراضي:
falseما لم يتم تعيينagents.defaults.embeddedPi.executionContract(أو تجاوز لكل وكيل) إلى"strict-agentic"لتشغيل من عائلة GPT-5 الخاصة بـ OpenAI أو OpenAI Codex. اضبطه إلىtrueلفرض تشغيل الأداة خارج هذا النطاق، أو إلىfalseلإبقائها معطلة حتى لتشغيلات GPT-5 ذات strict-agentic. - عند التمكين، تضيف مطالبة النظام أيضًا إرشادات استخدام بحيث لا يستخدمها النموذج إلا للأعمال الجوهرية ويُبقي خطوة واحدة فقط على الأكثر في حالة
in_progress.
agents.defaults.subagents
model: النموذج الافتراضي للوكلاء الفرعيين الذين يتم إنشاؤهم. وإذا تم حذفه، يرث الوكلاء الفرعيون نموذج المستدعي.allowAgents: allowlist افتراضية لمعرّفات الوكلاء المستهدفة لـsessions_spawnعندما لا يعيّن الوكيل الطالب القيمةsubagents.allowAgentsالخاصة به (["*"]= أي وكيل؛ الافتراضي: الوكيل نفسه فقط).runTimeoutSeconds: المهلة الافتراضية (بالثواني) لـsessions_spawnعندما يحذف استدعاء الأداة قيمةrunTimeoutSeconds. وتعني0عدم وجود مهلة.- سياسة الأدوات لكل وكيل فرعي:
tools.subagents.tools.allow/tools.subagents.tools.deny.
الموفّرون المخصصون وBase URLs
يستخدم OpenClaw فهرس النماذج المدمج. أضف موفّرين مخصصين عبرmodels.providers في الإعدادات أو في ~/.openclaw/agents/<agentId>/agent/models.json.
- استخدم
authHeader: true+headersلاحتياجات المصادقة المخصصة. - تجاوز جذر إعدادات الوكيل عبر
OPENCLAW_AGENT_DIR(أوPI_CODING_AGENT_DIR، وهو اسم مستعار قديم لمتغير بيئة). - أولوية الدمج لمعرّفات الموفّرين المتطابقة:
- تفوز قيم
baseUrlغير الفارغة فيmodels.jsonالخاصة بالوكيل. - تفوز قيم
apiKeyغير الفارغة الخاصة بالوكيل فقط عندما لا يكون ذلك الموفّر مُدارًا عبر SecretRef في سياق الإعداد/ملف تعريف المصادقة الحالي. - يتم تحديث قيم
apiKeyالخاصة بالموفّرين المُدارين عبر SecretRef من علامات المصدر (ENV_VAR_NAMEلإشارات env، وsecretref-managedلإشارات file/exec) بدلًا من حفظ الأسرار المحلولة. - يتم تحديث قيم ترويسات الموفّرين المُدارة عبر SecretRef من علامات المصدر (
secretref-env:ENV_VAR_NAMEلإشارات env، وsecretref-managedلإشارات file/exec). - تعود قيم
apiKey/baseUrlالفارغة أو المفقودة في الوكيل إلىmodels.providersفي الإعدادات. - تستخدم القيمتان
contextWindow/maxTokensللنموذج المتطابق القيمة الأعلى بين الإعداد الصريح وقيم الفهرس الضمنية. - تحافظ
contextTokensللنموذج المتطابق على حد وقت تشغيل صريح عند وجوده؛ استخدمها لتقييد السياق الفعلي من دون تغيير بيانات النموذج الأصلية. - استخدم
models.mode: "replace"عندما تريد من الإعدادات إعادة كتابةmodels.jsonبالكامل. - يكون حفظ العلامات معتمدًا على المصدر: تُكتب العلامات من لقطة إعدادات المصدر النشطة (قبل الحل)، وليس من قيم الأسرار المحلولة في وقت التشغيل.
- تفوز قيم
تفاصيل حقول الموفّر
models.mode: سلوك فهرس الموفّر (mergeأوreplace).models.providers: خريطة الموفّرين المخصصين مفاتيحها معرّف الموفّر.- تعديلات آمنة: استخدم
openclaw config set models.providers.<id> '<json>' --strict-json --mergeأوopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeللتحديثات الإضافية. يرفضconfig setعمليات الاستبدال المدمّرة ما لم تمرر--replace.
- تعديلات آمنة: استخدم
models.providers.*.api: محوّل الطلبات (openai-completionsأوopenai-responsesأوanthropic-messagesأوgoogle-generative-aiوما إلى ذلك).models.providers.*.apiKey: بيانات اعتماد الموفّر (يُفضّل SecretRef/استبدال env).models.providers.*.auth: استراتيجية المصادقة (api-keyأوtokenأوoauthأوaws-sdk).models.providers.*.injectNumCtxForOpenAICompat: بالنسبة إلى Ollama +openai-completions، يحقنoptions.num_ctxداخل الطلبات (الافتراضي:true).models.providers.*.authHeader: فرض نقل بيانات الاعتماد في ترويسةAuthorizationعند الحاجة.models.providers.*.baseUrl: Base URL للـ API في المنبع.models.providers.*.headers: ترويسات ثابتة إضافية لتوجيه الوكيل/المستأجر.models.providers.*.request: تجاوزات النقل لطلبات HTTP الخاصة بموفّر النموذج.request.headers: ترويسات إضافية (تُدمج مع افتراضيات الموفّر). تقبل القيم SecretRef.request.auth: تجاوز استراتيجية المصادقة. الأوضاع:"provider-default"(استخدام المصادقة المدمجة للموفّر)، و"authorization-bearer"(معtoken)، و"header"(معheaderNameوvalueوprefixاختياري).request.proxy: تجاوز HTTP proxy. الأوضاع:"env-proxy"(استخدام متغيرات البيئةHTTP_PROXY/HTTPS_PROXY) و"explicit-proxy"(معurl). ويقبل كلا الوضعين كائنًا فرعيًا اختياريًاtls.request.tls: تجاوز TLS للاتصالات المباشرة. الحقول:caوcertوkeyوpassphrase(كلها تقبل SecretRef) وserverNameوinsecureSkipVerify.request.allowPrivateNetwork: عندما تكونtrue، السماح باستخدام HTTPS إلىbaseUrlعندما يُحل DNS إلى نطاقات خاصة أو CGNAT أو ما شابه، عبر حاجز جلب HTTP الخاص بالموفّر (اشتراك من المشغّل لنقاط نهاية موثوقة ومستضافة ذاتيًا ومتوافقة مع OpenAI). يستخدم WebSocket القيمةrequestنفسها للترويسات/TLS ولكن ليس لحاجز SSRF الخاص بالجلب. الافتراضيfalse.
models.providers.*.models: إدخالات فهرس نماذج صريحة للموفّر.models.providers.*.models.*.contextWindow: بيانات وصفية أصلية لنافذة سياق النموذج.models.providers.*.models.*.contextTokens: حد سياق اختياري لوقت التشغيل. استخدم هذا عندما تريد ميزانية سياق فعلية أصغر منcontextWindowالأصلية للنموذج.models.providers.*.models.*.compat.supportsDeveloperRole: تلميح توافق اختياري. بالنسبة إلىapi: "openai-completions"معbaseUrlغير فارغ وغير أصلي (المضيف ليسapi.openai.com)، يفرض OpenClaw هذه القيمة إلىfalseفي وقت التشغيل. أماbaseUrlالفارغة/المحذوفة فتبقي سلوك OpenAI الافتراضي.models.providers.*.models.*.compat.requiresStringContent: تلميح توافق اختياري لنقاط نهاية الدردشة المتوافقة مع OpenAI والتي تدعم النصوص فقط. عندما تكونtrue، يقوم OpenClaw بتسطيح مصفوفاتmessages[].contentالنصية الخالصة إلى سلاسل عادية قبل إرسال الطلب.plugins.entries.amazon-bedrock.config.discovery: جذر إعدادات الاكتشاف التلقائي لـ Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: تشغيل/إيقاف الاكتشاف الضمني.plugins.entries.amazon-bedrock.config.discovery.region: منطقة AWS الخاصة بالاكتشاف.plugins.entries.amazon-bedrock.config.discovery.providerFilter: مرشح اختياري لمعرّف الموفّر من أجل اكتشاف مستهدف.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: الفاصل الزمني للاستطلاع من أجل تحديث الاكتشاف.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: نافذة السياق الافتراضية الاحتياطية للنماذج المكتشفة.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: الحد الأقصى الافتراضي الاحتياطي لرموز المخرجات للنماذج المكتشفة.
أمثلة على الموفّرين
Cerebras (GLM 4.6 / 4.7)
Cerebras (GLM 4.6 / 4.7)
cerebras/zai-glm-4.7 من أجل Cerebras؛ واستخدم zai/glm-4.7 من أجل Z.AI المباشر.OpenCode
OpenCode
OPENCODE_API_KEY (أو OPENCODE_ZEN_API_KEY). استخدم مراجع opencode/... لفهرس Zen أو مراجع opencode-go/... لفهرس Go. اختصار: openclaw onboard --auth-choice opencode-zen أو openclaw onboard --auth-choice opencode-go.Z.AI (GLM-4.7)
Z.AI (GLM-4.7)
ZAI_API_KEY. وتُقبل z.ai/* وz-ai/* كأسماء مستعارة. اختصار: openclaw onboard --auth-choice zai-api-key.- نقطة النهاية العامة:
https://api.z.ai/api/paas/v4 - نقطة نهاية البرمجة (الافتراضية):
https://api.z.ai/api/coding/paas/v4 - بالنسبة إلى نقطة النهاية العامة، عرّف موفّرًا مخصصًا مع تجاوز Base URL.
Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" أو openclaw onboard --auth-choice moonshot-api-key-cn.تعلن نقاط نهاية Moonshot الأصلية عن توافق استخدام البث على نقل
openai-completions المشترك، ويعتمد OpenClaw في ذلك على قدرات نقطة النهاية
وليس على معرّف الموفّر المدمج وحده.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Synthetic (متوافق مع Anthropic)
Synthetic (متوافق مع Anthropic)
/v1 (عميل Anthropic يضيفها). اختصار: openclaw onboard --auth-choice synthetic-api-key.MiniMax M2.7 (مباشر)
MiniMax M2.7 (مباشر)
MINIMAX_API_KEY. الاختصارات:
openclaw onboard --auth-choice minimax-global-api أو
openclaw onboard --auth-choice minimax-cn-api.
يستخدم فهرس النماذج M2.7 فقط افتراضيًا.
على مسار البث المتوافق مع Anthropic، يقوم OpenClaw بتعطيل التفكير في MiniMax
افتراضيًا ما لم تقم بتعيين thinking بنفسك صراحةً. وتقوم /fast on أو
params.fastMode: true بإعادة كتابة MiniMax-M2.7 إلى
MiniMax-M2.7-highspeed.النماذج المحلية (LM Studio)
النماذج المحلية (LM Studio)
راجع النماذج المحلية. الخلاصة: شغّل نموذجًا محليًا كبيرًا عبر LM Studio Responses API على عتاد قوي؛ واحتفظ بالنماذج المستضافة مدمجة من أجل الرجوع الاحتياطي.
ذو صلة
- مرجع الإعدادات — مفاتيح المستوى الأعلى الأخرى
- الإعدادات — الوكلاء
- الإعدادات — القنوات
- الأدوات وPlugins