Fundamentals
OAuth
يدعم OpenClaw "مصادقة الاشتراك" عبر OAuth للمزوّدين الذين يوفّرونها (ولا سيما OpenAI Codex (ChatGPT OAuth)). بالنسبة إلى Anthropic، أصبح التقسيم العملي الآن هو:
- مفتاح Anthropic API: فوترة Anthropic API العادية
- Anthropic Claude CLI / مصادقة الاشتراك داخل OpenClaw: أخبرنا موظفو Anthropic بأن هذا الاستخدام مسموح به مجددًا
يُدعم OpenAI Codex OAuth صراحةً للاستخدام في أدوات خارجية مثل OpenClaw. تشرح هذه الصفحة:
بالنسبة إلى Anthropic في الإنتاج، تُعد مصادقة مفتاح API المسار الأكثر أمانًا والموصى به.
- كيف يعمل تبادل الرموز في OAuth (PKCE)
- أين يتم تخزين الرموز (ولماذا)
- كيفية التعامل مع حسابات متعددة (ملفات تعريف + تجاوزات لكل جلسة)
يدعم OpenClaw أيضًا Plugins للمزوّدين التي تأتي مع تدفقات OAuth أو مفاتيح API الخاصة بها. شغّلها عبر:
openclaw models auth login --provider <id>
مصرف الرموز (سبب وجوده)
غالبًا ما يُصدر مزوّدو OAuth رمز تحديث جديدًا أثناء تدفقات تسجيل الدخول/التحديث. يمكن لبعض المزوّدين (أو عملاء OAuth) إبطال رموز التحديث الأقدم عند إصدار رمز جديد للمستخدم/التطبيق نفسه.
العَرَض العملي:
- تسجّل الدخول عبر OpenClaw وكذلك عبر Claude Code / Codex CLI ← يُسجَّل خروج أحدهما عشوائيًا لاحقًا
لتقليل ذلك، يتعامل OpenClaw مع auth-profiles.json بوصفه مصرف رموز:
- يقرأ وقت التشغيل بيانات الاعتماد من مكان واحد
- يمكننا الاحتفاظ بملفات تعريف متعددة وتوجيهها بشكل حتمي
- إعادة استخدام CLI خارجية خاصة بالمزوّد: يمكن لـ Codex CLI تمهيد ملف تعريف
openai-codex:defaultفارغ، ولكن بمجرد أن يمتلك OpenClaw ملف تعريف OAuth محليًا، يصبح رمز التحديث المحلي هو المرجع؛ ويمكن أن تظل التكاملات الأخرى مُدارة خارجيًا وتعيد قراءة مخزن مصادقة CLI الخاص بها - مسارات الحالة وبدء التشغيل التي تعرف مسبقًا نطاق مجموعة المزوّدين المهيأة تقصر اكتشاف CLI الخارجي على تلك المجموعة، بحيث لا يتم فحص مخزن تسجيل دخول CLI غير ذي صلة في إعداد يعتمد على مزوّد واحد
التخزين (أين توجد الرموز)
تُخزّن الأسرار في مخازن مصادقة الوكيل:
- ملفات تعريف المصادقة (OAuth + مفاتيح API + مراجع اختيارية على مستوى القيمة):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - ملف التوافق القديم:
~/.openclaw/agents/<agentId>/agent/auth.json(تُزال إدخالاتapi_keyالثابتة عند اكتشافها)
ملف استيراد قديم فقط (لا يزال مدعومًا، لكنه ليس المخزن الرئيسي):
~/.openclaw/credentials/oauth.json(يُستورد إلىauth-profiles.jsonعند أول استخدام)
كل ما سبق يحترم أيضًا $OPENCLAW_STATE_DIR (تجاوز دليل الحالة). المرجع الكامل: /gateway/configuration
للاطلاع على مراجع الأسرار الثابتة وسلوك تفعيل لقطة وقت التشغيل، راجع إدارة الأسرار.
عندما لا يمتلك وكيل ثانوي ملف تعريف مصادقة محليًا، يستخدم OpenClaw
توريث القراءة العابرة من مخزن الوكيل الافتراضي/الرئيسي. ولا يستنسخ
auth-profiles.json الخاص بالوكيل الرئيسي عند القراءة. رموز تحديث OAuth حساسة
بشكل خاص: تتجاوزها تدفقات النسخ العادية افتراضيًا لأن بعض المزوّدين يدوّرون
رموز التحديث أو يبطلونها بعد الاستخدام. هيّئ تسجيل دخول OAuth منفصلًا لوكيل
عندما يحتاج إلى حساب مستقل.
توافق رموز Anthropic القديمة
يكشف OpenClaw أيضًا رمز إعداد Anthropic بوصفه مسار مصادقة مدعومًا بالرمز، لكنه يفضّل الآن إعادة استخدام Claude CLI وclaude -p عند توفرهما.
ترحيل Anthropic Claude CLI
يدعم OpenClaw إعادة استخدام Anthropic Claude CLI مجددًا. إذا كان لديك بالفعل تسجيل دخول محلي إلى Claude على المضيف، فيمكن للإعداد/التهيئة إعادة استخدامه مباشرة.
تبادل OAuth (كيفية عمل تسجيل الدخول)
تُنفّذ تدفقات تسجيل الدخول التفاعلية في OpenClaw داخل @mariozechner/pi-ai وتُربط بالمعالجات/الأوامر.
رمز إعداد Anthropic
شكل التدفق:
- بدء رمز إعداد Anthropic أو لصق الرمز من OpenClaw
- يخزّن OpenClaw بيانات اعتماد Anthropic الناتجة في ملف تعريف مصادقة
- يظل اختيار النموذج على
anthropic/... - تظل ملفات تعريف مصادقة Anthropic الحالية متاحة للتحكم في التراجع/الترتيب
OpenAI Codex (ChatGPT OAuth)
يُدعم OpenAI Codex OAuth صراحةً للاستخدام خارج Codex CLI، بما في ذلك تدفقات عمل OpenClaw.
شكل التدفق (PKCE):
- إنشاء متحقق/تحدي PKCE + قيمة
stateعشوائية - فتح
https://auth.openai.com/oauth/authorize?... - محاولة التقاط الاستدعاء الراجع على
http://127.0.0.1:1455/auth/callback - إذا تعذر ربط الاستدعاء الراجع (أو كنت تعمل عن بُعد/بلا واجهة)، الصق عنوان URL/الرمز الخاص بإعادة التوجيه
- التبادل عند
https://auth.openai.com/oauth/token - استخراج
accountIdمن رمز الوصول وتخزين{ access, refresh, expires, accountId }
مسار المعالج هو openclaw onboard ← اختيار المصادقة openai-codex.
التحديث + انتهاء الصلاحية
تخزّن ملفات التعريف طابعًا زمنيًا باسم expires.
في وقت التشغيل:
- إذا كان
expiresفي المستقبل ← استخدم رمز الوصول المخزّن - إذا انتهت صلاحيته ← حدّثه (تحت قفل ملف) واستبدل بيانات الاعتماد المخزنة
- إذا قرأ وكيل ثانوي ملف تعريف OAuth موروثًا من الوكيل الرئيسي، فإن التحديث يكتب مرة أخرى إلى مخزن الوكيل الرئيسي بدلًا من نسخ رمز التحديث إلى مخزن الوكيل الثانوي
- استثناء: تظل بعض بيانات اعتماد CLI الخارجية مُدارة خارجيًا؛ يعيد OpenClaw
قراءة مخازن مصادقة CLI تلك بدلًا من استهلاك رموز تحديث منسوخة.
تمهيد Codex CLI أضيق عمدًا: فهو يزرع ملف تعريف
openai-codex:defaultفارغًا، ثم تجعل تحديثات OpenClaw المملوكة ملف التعريف المحلي هو المرجع.
تدفق التحديث تلقائي؛ عادةً لا تحتاج إلى إدارة الرموز يدويًا.
الحسابات المتعددة (ملفات التعريف) + التوجيه
نمطان:
1) المفضّل: وكلاء منفصلون
إذا كنت تريد ألا يتفاعل "الشخصي" و"العمل" مطلقًا، فاستخدم وكلاء معزولين (جلسات + بيانات اعتماد + مساحة عمل منفصلة):
openclaw agents add work
openclaw agents add personal
ثم هيّئ المصادقة لكل وكيل (المعالج) ووجّه المحادثات إلى الوكيل الصحيح.
2) متقدم: ملفات تعريف متعددة في وكيل واحد
يدعم auth-profiles.json معرّفات ملفات تعريف متعددة للمزوّد نفسه.
اختر ملف التعريف المستخدم:
- عالميًا عبر ترتيب الإعدادات (
auth.order) - لكل جلسة عبر
/model ...@<profileId>
مثال (تجاوز الجلسة):
/model Opus@anthropic:work
كيفية معرفة معرّفات ملفات التعريف الموجودة:
openclaw channels list --json(يعرضauth[])
وثائق ذات صلة:
- تجاوز فشل النموذج (قواعد التدوير + التهدئة)
- أوامر الشرطة المائلة (سطح الأوامر)
ذات صلة
- المصادقة - نظرة عامة على مصادقة مزوّد النماذج
- الأسرار - تخزين بيانات الاعتماد وSecretRef
- مرجع التهيئة - مفاتيح تهيئة المصادقة