Skills
إعدادات Skills
معظم إعدادات تحميل/تثبيت Skills موجودة ضمن skills في
~/.openclaw/openclaw.json. توجد إعدادات إظهار Skills الخاصة بكل وكيل ضمن
agents.defaults.skills وagents.list[].skills.
{
skills: {
allowBundled: ["gemini", "peekaboo"],
load: {
extraDirs: ["~/Projects/agent-scripts/skills", "~/Projects/oss/some-skill-pack/skills"],
watch: true,
watchDebounceMs: 250,
},
install: {
preferBrew: true,
nodeManager: "npm", // npm | pnpm | yarn | bun (Gateway runtime still Node; bun not recommended)
},
entries: {
"image-lab": {
enabled: true,
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE",
},
},
peekaboo: { enabled: true },
sag: { enabled: false },
},
},
}
لإنشاء/تحرير الصور المدمج، يُفضّل استخدام agents.defaults.imageGenerationModel
مع أداة image_generate الأساسية. يُستخدم skills.entries.* فقط لتدفقات عمل Skills
المخصصة أو التابعة لجهات خارجية.
إذا اخترت مزوّد/نموذج صور محددًا، فاضبط أيضًا مفتاح المصادقة/API لذلك المزوّد.
أمثلة شائعة: GEMINI_API_KEY أو GOOGLE_API_KEY لـ
google/*، وOPENAI_API_KEY لـ openai/*، وFAL_KEY لـ fal/*.
أمثلة:
- إعداد أصلي بأسلوب Nano Banana Pro:
agents.defaults.imageGenerationModel.primary: "google/gemini-3-pro-image-preview" - إعداد fal أصلي:
agents.defaults.imageGenerationModel.primary: "fal/fal-ai/flux/dev"
قوائم السماح بـ Skills للوكيل
استخدم إعدادات الوكيل عندما تريد جذور Skills نفسها للجهاز/مساحة العمل، لكن مع مجموعة Skills مرئية مختلفة لكل وكيل.
{
agents: {
defaults: {
skills: ["github", "weather"],
},
list: [
{ id: "writer" }, // inherits defaults -> github, weather
{ id: "docs", skills: ["docs-search"] }, // replaces defaults
{ id: "locked-down", skills: [] }, // no skills
],
},
}
القواعد:
agents.defaults.skills: قائمة سماح أساسية مشتركة للوكلاء الذين يحذفونagents.list[].skills.- احذف
agents.defaults.skillsلترك Skills غير مقيّدة افتراضيًا. agents.list[].skills: مجموعة Skills نهائية صريحة لذلك الوكيل؛ لا تُدمج مع الإعدادات الافتراضية.agents.list[].skills: []: لا تعرض أي Skills لذلك الوكيل.
الحقول
- تتضمن جذور Skills المدمجة دائمًا
~/.openclaw/skillsو~/.agents/skillsو<workspace>/.agents/skillsو<workspace>/skills. allowBundled: قائمة سماح اختيارية لـ Skills المرفقة فقط. عند ضبطها، تكون Skills المرفقة الموجودة في القائمة فقط مؤهلة (لا تتأثر Skills المُدارة، والخاصة بالوكيل، والخاصة بمساحة العمل).load.extraDirs: أدلة Skills إضافية لفحصها (أدنى أولوية).load.watch: راقب مجلدات Skills وحدّث لقطة Skills (الافتراضي: true).load.watchDebounceMs: مهلة إزالة الارتداد لأحداث مراقب Skills بالمللي ثانية (الافتراضي: 250).install.preferBrew: فضّل مثبّتات brew عند توفرها (الافتراضي: true).install.nodeManager: تفضيل مثبّت Node (npm|pnpm|yarn|bun، الافتراضي: npm). يؤثر هذا فقط في تثبيت Skills؛ يجب أن يظل وقت تشغيل Gateway هو Node (لا يُنصح باستخدام Bun مع WhatsApp/Telegram).openclaw setup --node-managerأضيق نطاقًا ويقبل حاليًاnpmأوpnpmأوbun. اضبطskills.install.nodeManager: "yarn"يدويًا إذا كنت تريد تثبيت Skills مدعومًا بـ Yarn.
entries.<skillKey>: تجاوزات لكل Skill.agents.defaults.skills: قائمة سماح افتراضية اختيارية لـ Skills يرثها الوكلاء الذين يحذفونagents.list[].skills.agents.list[].skills: قائمة سماح نهائية اختيارية لكل وكيل لـ Skills؛ تستبدل القوائم الصريحة الإعدادات الافتراضية الموروثة بدلًا من دمجها.
حقول كل Skill:
enabled: اضبطه علىfalseلتعطيل Skill حتى لو كانت مرفقة/مثبتة.env: متغيرات البيئة المُحقنة لتشغيل الوكيل (فقط إذا لم تكن مضبوطة مسبقًا).apiKey: خيار ملائم اختياري لـ Skills التي تعلن متغير بيئة أساسيًا. يدعم سلسلة نصية صريحة أو كائن SecretRef ({ source, provider, id }).
ملاحظات
- ترتبط المفاتيح ضمن
entriesباسم Skill افتراضيًا. إذا عرّفت Skillmetadata.openclaw.skillKey، فاستخدم ذلك المفتاح بدلًا من ذلك. - أولوية التحميل هي
<workspace>/skills←<workspace>/.agents/skills←~/.agents/skills←~/.openclaw/skills← Skills المرفقة ←skills.load.extraDirs. - تُلتقط التغييرات على Skills في دورة الوكيل التالية عندما يكون المراقب مفعّلًا.
Skills المعزولة ومتغيرات البيئة
عندما تكون الجلسة معزولة، تعمل عمليات Skills داخل خلفية العزل المضبوطة. لا يرث العزل process.env الخاص بالمضيف.
استخدم أحد الخيارات التالية:
agents.defaults.sandbox.docker.envلخلفية Docker (أوagents.list[].sandbox.docker.envلكل وكيل).- ادمج متغير البيئة في صورة العزل المخصصة لديك أو بيئة العزل البعيدة.