الانتقال إلى المحتوى الرئيسي

الإعداد

يقرأ OpenClaw إعدادًا اختياريًا بصيغة من ~/.openclaw/openclaw.json. إذا كان الملف مفقودًا، يستخدم OpenClaw إعدادات افتراضية آمنة. من الأسباب الشائعة لإضافة إعداد:
  • توصيل القنوات والتحكم في من يمكنه مراسلة البوت
  • ضبط النماذج والأدوات والعزل أو الأتمتة (cron، وhooks)
  • ضبط الجلسات والوسائط والشبكات أو واجهة المستخدم
راجع المرجع الكامل لكل حقل متاح.
هل أنت جديد على الإعداد؟ ابدأ بـ openclaw onboard للإعداد التفاعلي، أو اطّلع على دليل أمثلة الإعداد للحصول على إعدادات كاملة جاهزة للنسخ واللصق.

الحد الأدنى من الإعداد

// ~/.openclaw/openclaw.json
{
  agents: { defaults: { workspace: "~/.openclaw/workspace" } },
  channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}

تعديل الإعداد

openclaw onboard       # تدفق الإعداد الكامل
openclaw configure     # معالج الإعداد

التحقق الصارم

لا يقبل OpenClaw إلا الإعدادات التي تطابق المخطط بالكامل. تؤدي المفاتيح غير المعروفة أو الأنواع غير الصحيحة أو القيم غير الصالحة إلى أن ترفض البوابة البدء. الاستثناء الوحيد على مستوى الجذر هو $schema (سلسلة نصية)، حتى تتمكن المحررات من إرفاق بيانات JSON Schema الوصفية.
ملاحظات أدوات المخطط:
  • يطبع openclaw config schema نفس عائلة JSON Schema المستخدمة في واجهة التحكم والتحقق من الإعداد.
  • اعتبر خرج هذا المخطط العقد المقروء آليًا الرسمي لملف openclaw.json؛ فهذه النظرة العامة ومرجع الإعداد يوجزان محتواه.
  • تُنقل قيم الحقلين title وdescription إلى خرج المخطط من أجل المحررات وأدوات النماذج.
  • ترث إدخالات الكائنات المتداخلة، وأحرف البدل (*)، وعناصر المصفوفات ([]) نفس بيانات التوثيق الوصفية حيثما وُجد توثيق للحقل المطابق.
  • ترث فروع التركيب anyOf / oneOf / allOf نفس بيانات التوثيق الوصفية أيضًا، بحيث تحتفظ متغيرات union/intersection بنفس مساعدة الحقول.
  • يعيد config.schema.lookup مسار إعداد واحدًا مُطبّعًا مع عقدة مخطط سطحية (title وdescription وtype وenum وconst والحدود الشائعة وحقول تحقق مشابهة)، وبيانات تلميحات واجهة المستخدم المطابقة، وملخصات العناصر الفرعية المباشرة لأدوات التعمق في التفاصيل.
  • تُدمج مخططات plugin/channel وقت التشغيل عندما تتمكن البوابة من تحميل سجل manifest الحالي.
  • يكتشف pnpm config:docs:check الانحراف بين عناصر baseline الخاصة بالإعداد الموجّهة للتوثيق وسطح المخطط الحالي.
عند فشل التحقق:
  • لا تقلع البوابة
  • تعمل فقط أوامر التشخيص (openclaw doctor وopenclaw logs وopenclaw health وopenclaw status)
  • شغّل openclaw doctor لرؤية المشكلات الدقيقة
  • شغّل openclaw doctor --fix (أو --yes) لتطبيق الإصلاحات

المهام الشائعة

لكل قناة قسم إعداد خاص بها تحت channels.<provider>. راجع صفحة القناة المخصصة لخطوات الإعداد:تشترك جميع القنوات في نفس نمط سياسة الرسائل الخاصة:
{
  channels: {
    telegram: {
      enabled: true,
      botToken: "123:abc",
      dmPolicy: "pairing",   // pairing | allowlist | open | disabled
      allowFrom: ["tg:123"], // فقط لـ allowlist/open
    },
  },
}
اضبط النموذج الأساسي وبدائل اختيارية:
{
  agents: {
    defaults: {
      model: {
        primary: "anthropic/claude-sonnet-4-6",
        fallbacks: ["openai/gpt-5.4"],
      },
      models: {
        "anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
        "openai/gpt-5.4": { alias: "GPT" },
      },
    },
  },
}
  • يعرّف agents.defaults.models فهرس النماذج ويعمل كقائمة سماح لأمر /model.
  • تستخدم مراجع النماذج تنسيق provider/model (مثل anthropic/claude-opus-4-6).
  • يتحكم agents.defaults.imageMaxDimensionPx في تصغير صور السجل/الأداة (القيمة الافتراضية 1200)؛ وعادةً ما تقلل القيم الأقل من استخدام رموز الرؤية في التشغيلات التي تكثر فيها لقطات الشاشة.
  • راجع Models CLI لتبديل النماذج في الدردشة وModel Failover لمعرفة سلوك تدوير المصادقة والبدائل.
  • بالنسبة إلى المزوّدين المخصصين/المستضافين ذاتيًا، راجع المزوّدون المخصصون في المرجع.
يُتحكم في الوصول عبر الرسائل الخاصة لكل قناة من خلال dmPolicy:
  • "pairing" (الافتراضي): يحصل المرسلون غير المعروفين على رمز اقتران لمرة واحدة للموافقة
  • "allowlist": فقط المرسلون الموجودون في allowFrom (أو مخزن السماح المقترن)
  • "open": السماح بكل الرسائل الخاصة الواردة (يتطلب allowFrom: ["*"])
  • "disabled": تجاهل كل الرسائل الخاصة
بالنسبة إلى المجموعات، استخدم groupPolicy مع groupAllowFrom أو قوائم السماح الخاصة بالقناة.راجع المرجع الكامل للتفاصيل الخاصة بكل قناة.
تستخدم رسائل المجموعات افتراضيًا اشتراط الإشارة. اضبط الأنماط لكل وكيل:
{
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          mentionPatterns: ["@openclaw", "openclaw"],
        },
      },
    ],
  },
  channels: {
    whatsapp: {
      groups: { "*": { requireMention: true } },
    },
  },
}
  • إشارات البيانات الوصفية: إشارات @ الأصلية (@-mentions) ‏(الإشارة بالنقر في WhatsApp، وTelegram @bot، وما إلى ذلك)
  • أنماط النص: أنماط regex آمنة في mentionPatterns
  • راجع المرجع الكامل للتجاوزات الخاصة بكل قناة ووضع الدردشة الذاتية.
استخدم agents.defaults.skills كخط أساس مشترك، ثم تجاوز إعدادات وكلاء محددين باستخدام agents.list[].skills:
{
  agents: {
    defaults: {
      skills: ["github", "weather"],
    },
    list: [
      { id: "writer" }, // يرث github وweather
      { id: "docs", skills: ["docs-search"] }, // يستبدل الإعدادات الافتراضية
      { id: "locked-down", skills: [] }, // بدون Skills
    ],
  },
}
  • احذف agents.defaults.skills للحصول على Skills غير مقيّدة افتراضيًا.
  • احذف agents.list[].skills لوراثة الإعدادات الافتراضية.
  • اضبط agents.list[].skills: [] لعدم استخدام أي Skills.
  • راجع Skills وإعداد Skills و مرجع الإعداد.
تحكّم في مدى شدة إعادة تشغيل البوابة للقنوات التي تبدو متوقفة:
{
  gateway: {
    channelHealthCheckMinutes: 5,
    channelStaleEventThresholdMinutes: 30,
    channelMaxRestartsPerHour: 10,
  },
  channels: {
    telegram: {
      healthMonitor: { enabled: false },
      accounts: {
        alerts: {
          healthMonitor: { enabled: true },
        },
      },
    },
  },
}
  • اضبط gateway.channelHealthCheckMinutes: 0 لتعطيل عمليات إعادة التشغيل الخاصة بمراقبة السلامة عالميًا.
  • يجب أن تكون قيمة channelStaleEventThresholdMinutes أكبر من أو تساوي فترة التحقق.
  • استخدم channels.<provider>.healthMonitor.enabled أو channels.<provider>.accounts.<id>.healthMonitor.enabled لتعطيل إعادة التشغيل التلقائية لقناة أو حساب واحد دون تعطيل المراقبة العامة.
  • راجع فحوصات السلامة لتصحيح الأخطاء التشغيلية والمرجع الكامل لجميع الحقول.
تتحكم الجلسات في استمرارية المحادثة وعزلها:
{
  session: {
    dmScope: "per-channel-peer",  // موصى به لعدة مستخدمين
    threadBindings: {
      enabled: true,
      idleHours: 24,
      maxAgeHours: 0,
    },
    reset: {
      mode: "daily",
      atHour: 4,
      idleMinutes: 120,
    },
  },
}
  • dmScope: ‏main (مشترك) | per-peer | per-channel-peer | per-account-channel-peer
  • threadBindings: الإعدادات الافتراضية العامة لتوجيه الجلسات المرتبط بالخيوط (يدعم Discord الأوامر /focus و/unfocus و/agents و/session idle و/session max-age).
  • راجع إدارة الجلسات لمعرفة النطاق وروابط الهوية وسياسة الإرسال.
  • راجع المرجع الكامل لجميع الحقول.
شغّل جلسات الوكلاء داخل حاويات Docker معزولة:
{
  agents: {
    defaults: {
      sandbox: {
        mode: "non-main",  // off | non-main | all
        scope: "agent",    // session | agent | shared
      },
    },
  },
}
أنشئ الصورة أولًا: scripts/sandbox-setup.shراجع العزل للدليل الكامل والمرجع الكامل لكل الخيارات.
تُضبط الإشعارات الفورية المعتمدة على relay في openclaw.json.اضبط ما يلي في إعداد البوابة:
{
  gateway: {
    push: {
      apns: {
        relay: {
          baseUrl: "https://relay.example.com",
          // اختياري. الافتراضي: 10000
          timeoutMs: 10000,
        },
      },
    },
  },
}
المكافئ في CLI:
openclaw config set gateway.push.apns.relay.baseUrl https://relay.example.com
ما الذي يفعله هذا:
  • يتيح للبوابة إرسال push.test وتنبيهات التنبيه والاستيقاظات الخاصة بإعادة الاتصال عبر relay خارجي.
  • يستخدم تصريح إرسال مرتبطًا بالتسجيل ويمرره تطبيق iOS المقترن. لا تحتاج البوابة إلى رمز relay مخصص على مستوى النشر بالكامل.
  • يربط كل تسجيل مدعوم بـ relay بهوية البوابة التي اقترن بها تطبيق iOS، بحيث لا يمكن لبوابة أخرى إعادة استخدام التسجيل المخزن.
  • يُبقي إصدارات iOS المحلية/اليدوية على APNs المباشر. تنطبق الإرسالات المعتمدة على relay فقط على الإصدارات الرسمية الموزعة التي سُجلت عبر relay.
  • يجب أن يتطابق مع عنوان URL الأساسي لـ relay المضمّن في إصدار iOS الرسمي/TestFlight، حتى تصل حركة التسجيل والإرسال إلى نفس نشر relay.
التدفق الكامل من البداية إلى النهاية:
  1. ثبّت إصدار iOS رسميًا/TestFlight تم تجميعه باستخدام نفس عنوان URL الأساسي لـ relay.
  2. اضبط gateway.push.apns.relay.baseUrl على البوابة.
  3. اقترن تطبيق iOS بالبوابة ودع كلًا من جلسات العقدة والمشغّل تتصل.
  4. يجلب تطبيق iOS هوية البوابة، ويسجل لدى relay باستخدام App Attest مع إيصال التطبيق، ثم ينشر حمولة push.apns.register المعتمدة على relay إلى البوابة المقترنة.
  5. تخزن البوابة مقبض relay وتصريح الإرسال، ثم تستخدمهما في push.test وتنبيهات التنبيه واستيقاظات إعادة الاتصال.
ملاحظات تشغيلية:
  • إذا بدّلت تطبيق iOS إلى بوابة مختلفة، فأعد توصيل التطبيق حتى يتمكن من نشر تسجيل relay جديد مرتبط بتلك البوابة.
  • إذا أصدرت إصدار iOS جديدًا يشير إلى نشر relay مختلف، فسيقوم التطبيق بتحديث تسجيل relay المخزن مؤقتًا بدلًا من إعادة استخدام مصدر relay القديم.
ملاحظة التوافق:
  • ما زال OPENCLAW_APNS_RELAY_BASE_URL وOPENCLAW_APNS_RELAY_TIMEOUT_MS يعملان كتجاوزات مؤقتة عبر env.
  • يظل OPENCLAW_APNS_RELAY_ALLOW_HTTP=true منفذ هروب للتطوير مخصصًا لـ loopback فقط؛ لا تحفظ عناوين URL الخاصة بـ HTTP relay في الإعداد.
راجع تطبيق iOS للتدفق الكامل من البداية إلى النهاية وتدفق المصادقة والثقة لنموذج أمان relay.
{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",
        target: "last",
      },
    },
  },
}
  • every: سلسلة مدة (30m، 2h). اضبط 0m للتعطيل.
  • target: ‏last | none | <channel-id> (على سبيل المثال discord أو matrix أو telegram أو whatsapp)
  • directPolicy: ‏allow (الافتراضي) أو block لأهداف heartbeat ذات نمط الرسائل الخاصة
  • راجع Heartbeat للدليل الكامل.
{
  cron: {
    enabled: true,
    maxConcurrentRuns: 2,
    sessionRetention: "24h",
    runLog: {
      maxBytes: "2mb",
      keepLines: 2000,
    },
  },
}
  • sessionRetention: إزالة جلسات التشغيل المعزولة المكتملة من sessions.json (الافتراضي 24h؛ اضبط false للتعطيل).
  • runLog: تقليم cron/runs/<jobId>.jsonl حسب الحجم وعدد الأسطر المحتفظ بها.
  • راجع مهام Cron لنظرة عامة على الميزة وأمثلة CLI.
فعّل نقاط نهاية HTTP webhook على البوابة:
{
  hooks: {
    enabled: true,
    token: "shared-secret",
    path: "/hooks",
    defaultSessionKey: "hook:ingress",
    allowRequestSessionKey: false,
    allowedSessionKeyPrefixes: ["hook:"],
    mappings: [
      {
        match: { path: "gmail" },
        action: "agent",
        agentId: "main",
        deliver: true,
      },
    ],
  },
}
ملاحظة أمنية:
  • تعامل مع كل محتوى حمولة hook/webhook على أنه إدخال غير موثوق.
  • استخدم hooks.token مخصصًا؛ ولا تعِد استخدام رمز Gateway المشترك.
  • مصادقة Hook تعتمد على الترويسة فقط (Authorization: Bearer ... أو x-openclaw-token)؛ ورموز سلسلة الاستعلام مرفوضة.
  • لا يمكن أن يكون hooks.path هو /؛ أبقِ إدخال webhook على مسار فرعي مخصص مثل /hooks.
  • أبقِ علامات تجاوز المحتوى غير الآمن معطّلة (hooks.gmail.allowUnsafeExternalContent وhooks.mappings[].allowUnsafeExternalContent) ما لم تكن تجري تصحيح أخطاء محدود النطاق بإحكام.
  • إذا فعّلت hooks.allowRequestSessionKey، فاضبط أيضًا hooks.allowedSessionKeyPrefixes لتقييد مفاتيح الجلسات التي يحددها المستدعي.
  • بالنسبة إلى الوكلاء المعتمدين على hook، ففضّل طبقات النماذج الحديثة والقوية وسياسة أدوات صارمة (على سبيل المثال، المراسلة فقط مع العزل حيثما أمكن).
راجع المرجع الكامل لجميع خيارات التعيين وتكامل Gmail.
شغّل عدة وكلاء معزولين بمساحات عمل وجلسات منفصلة:
{
  agents: {
    list: [
      { id: "home", default: true, workspace: "~/.openclaw/workspace-home" },
      { id: "work", workspace: "~/.openclaw/workspace-work" },
    ],
  },
  bindings: [
    { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
  ],
}
راجع Multi-Agent والمرجع الكامل لقواعد الربط وملفات تعريف الوصول الخاصة بكل وكيل.
استخدم $include لتنظيم الإعدادات الكبيرة:
// ~/.openclaw/openclaw.json
{
  gateway: { port: 18789 },
  agents: { $include: "./agents.json5" },
  broadcast: {
    $include: ["./clients/a.json5", "./clients/b.json5"],
  },
}
  • ملف واحد: يستبدل الكائن الحاوي
  • مصفوفة من الملفات: دمج عميق بالترتيب (اللاحق يفوز)
  • المفاتيح المجاورة: تُدمج بعد التضمينات (وتتجاوز القيم المضمّنة)
  • التضمينات المتداخلة: مدعومة حتى عمق 10 مستويات
  • المسارات النسبية: تُحل نسبةً إلى الملف الذي يتضمنها
  • معالجة الأخطاء: أخطاء واضحة للملفات المفقودة، وأخطاء التحليل، والتضمينات الدائرية

إعادة التحميل السريع للإعداد

تراقب البوابة ~/.openclaw/openclaw.json وتطبّق التغييرات تلقائيًا — ولا حاجة إلى إعادة تشغيل يدوية لمعظم الإعدادات.

أوضاع إعادة التحميل

الوضعالسلوك
hybrid (الافتراضي)يطبّق التغييرات الآمنة فورًا. ويعيد التشغيل تلقائيًا للتغييرات الحرجة.
hotيطبّق التغييرات الآمنة فقط. ويسجل تحذيرًا عند الحاجة إلى إعادة تشغيل — وتتولى ذلك أنت.
restartيعيد تشغيل البوابة عند أي تغيير في الإعداد، سواء كان آمنًا أم لا.
offيعطّل مراقبة الملفات. تصبح التغييرات فعالة عند إعادة التشغيل اليدوية التالية.
{
  gateway: {
    reload: { mode: "hybrid", debounceMs: 300 },
  },
}

ما الذي يُطبَّق مباشرة وما الذي يحتاج إلى إعادة تشغيل

تُطبَّق معظم الحقول مباشرة دون توقف. وفي وضع hybrid، تُعالَج التغييرات التي تتطلب إعادة تشغيل تلقائيًا.
الفئةالحقولهل يلزم إعادة تشغيل؟
القنواتchannels.*، web ‏(WhatsApp) — جميع القنوات المضمنة وقنوات extensionلا
الوكيل والنماذجagent، agents، models، routingلا
الأتمتةhooks، cron، agent.heartbeatلا
الجلسات والرسائلsession، messagesلا
الأدوات والوسائطtools، browser، skills، audio، talkلا
واجهة المستخدم ومتفرقاتui، logging، identity، bindingsلا
خادم البوابةgateway.* ‏(المنفذ، الربط، المصادقة، tailscale، TLS، HTTP)نعم
البنية التحتيةdiscovery، canvasHost، pluginsنعم
gateway.reload وgateway.remote استثناءان — فتغييرهما لا يؤدي إلى إعادة تشغيل.

Config RPC ‏(تحديثات برمجية)

تخضع RPC الخاصة بالكتابة على مستوى control-plane ‏(config.apply وconfig.patch وupdate.run) لتحديد معدل يبلغ 3 طلبات لكل 60 ثانية لكل deviceId+clientIp. وعند الوصول إلى الحد، تعيد RPC القيمة UNAVAILABLE مع retryAfterMs.
التدفق الآمن/الافتراضي:
  • config.schema.lookup: فحص شجرة فرعية واحدة من الإعداد محددة بمسار مع عقدة مخطط سطحية، وبيانات تلميحات مطابقة، وملخصات العناصر الفرعية المباشرة
  • config.get: جلب اللقطة الحالية + hash
  • config.patch: المسار المفضل للتحديث الجزئي
  • config.apply: استبدال الإعداد بالكامل فقط
  • update.run: تحديث ذاتي صريح + إعادة تشغيل
عندما لا تستبدل الإعداد بالكامل، ففضّل config.schema.lookup ثم config.patch.
يتحقق من الإعداد الكامل ويكتبه ثم يعيد تشغيل البوابة في خطوة واحدة.
يستبدل config.apply الإعداد بالكامل. استخدم config.patch للتحديثات الجزئية، أو openclaw config set للمفاتيح المفردة.
المعلمات:
  • raw (string) — حمولة JSON5 للإعداد بالكامل
  • baseHash (اختياري) — hash الإعداد من config.get (مطلوب عندما يكون الإعداد موجودًا)
  • sessionKey (اختياري) — مفتاح جلسة لتنبيه الاستيقاظ بعد إعادة التشغيل
  • note (اختياري) — ملاحظة لـ restart sentinel
  • restartDelayMs (اختياري) — التأخير قبل إعادة التشغيل (الافتراضي 2000)
تُدمج طلبات إعادة التشغيل عندما يكون أحدها معلقًا/قيد التنفيذ بالفعل، ويُطبَّق تبريد لمدة 30 ثانية بين دورات إعادة التشغيل.
openclaw gateway call config.get --params '{}'  # التقط payload.hash
openclaw gateway call config.apply --params '{
  "raw": "{ agents: { defaults: { workspace: \"~/.openclaw/workspace\" } } }",
  "baseHash": "<hash>",
  "sessionKey": "agent:main:whatsapp:direct:+15555550123"
}'
يدمج تحديثًا جزئيًا في الإعداد الحالي (بدلالات JSON merge patch):
  • تُدمج الكائنات بشكل تكراري
  • تحذف null مفتاحًا
  • تستبدل المصفوفات
المعلمات:
  • raw (string) — JSON5 يحتوي فقط على المفاتيح المراد تغييرها
  • baseHash (مطلوب) — hash الإعداد من config.get
  • sessionKey وnote وrestartDelayMs — مثل config.apply
سلوك إعادة التشغيل يطابق config.apply: دمج لعمليات إعادة التشغيل المعلقة، بالإضافة إلى تبريد لمدة 30 ثانية بين دورات إعادة التشغيل.
openclaw gateway call config.patch --params '{
  "raw": "{ channels: { telegram: { groups: { \"*\": { requireMention: false } } } } }",
  "baseHash": "<hash>"
}'

متغيرات البيئة

يقرأ OpenClaw متغيرات env من العملية الأب إضافة إلى:
  • .env من دليل العمل الحالي (إن وجد)
  • ~/.openclaw/.env ‏(احتياطي عام)
لا يتجاوز أي من الملفين متغيرات env الموجودة. يمكنك أيضًا تعيين متغيرات env مضمنة في الإعداد:
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: { GROQ_API_KEY: "gsk-..." },
  },
}
إذا كان مفعّلًا ولم تكن المفاتيح المتوقعة مضبوطة، فسيشغّل OpenClaw صدفة تسجيل الدخول الخاصة بك ويستورد المفاتيح المفقودة فقط:
{
  env: {
    shellEnv: { enabled: true, timeoutMs: 15000 },
  },
}
المكافئ في متغير env: ‏OPENCLAW_LOAD_SHELL_ENV=1
أشر إلى متغيرات env في أي قيمة سلسلة نصية ضمن الإعداد باستخدام ${VAR_NAME}:
{
  gateway: { auth: { token: "${OPENCLAW_GATEWAY_TOKEN}" } },
  models: { providers: { custom: { apiKey: "${CUSTOM_API_KEY}" } } },
}
القواعد:
  • تُطابَق الأسماء المكتوبة بأحرف كبيرة فقط: [A-Z_][A-Z0-9_]*
  • تؤدي المتغيرات المفقودة/الفارغة إلى خطأ عند وقت التحميل
  • استخدم $${VAR} للحصول على خرج حرفي
  • يعمل داخل ملفات $include
  • الاستبدال المضمّن: ‏"${BASE}/v1""https://api.example.com/v1"
بالنسبة إلى الحقول التي تدعم كائنات SecretRef، يمكنك استخدام:
{
  models: {
    providers: {
      openai: { apiKey: { source: "env", provider: "default", id: "OPENAI_API_KEY" } },
    },
  },
  skills: {
    entries: {
      "image-lab": {
        apiKey: {
          source: "file",
          provider: "filemain",
          id: "/skills/entries/image-lab/apiKey",
        },
      },
    },
  },
  channels: {
    googlechat: {
      serviceAccountRef: {
        source: "exec",
        provider: "vault",
        id: "channels/googlechat/serviceAccount",
      },
    },
  },
}
توجد تفاصيل SecretRef ‏(بما في ذلك secrets.providers لـ env وfile وexec) في إدارة الأسرار. وترد مسارات بيانات الاعتماد المدعومة في سطح بيانات اعتماد SecretRef.
راجع Environment لمعرفة الأولوية الكاملة والمصادر.

المرجع الكامل

للاطلاع على المرجع الكامل حقلًا بحقل، راجع مرجع الإعداد.
ذو صلة: أمثلة الإعداد · مرجع الإعداد · Doctor