Fundamentals
OAuth
OpenClaw از «احراز هویت اشتراکی» از طریق OAuth برای ارائهدهندگانی پشتیبانی میکند که آن را ارائه میدهند (بهویژه OpenAI Codex (ChatGPT OAuth)). برای Anthropic، تفکیک عملی اکنون چنین است:
- کلید API Anthropic: صورتحساب معمول API Anthropic
- Anthropic Claude CLI / احراز هویت اشتراکی داخل OpenClaw: کارکنان Anthropic به ما گفتهاند این نوع استفاده دوباره مجاز است
OpenAI Codex OAuth صراحتا برای استفاده در ابزارهای خارجی مانند OpenClaw پشتیبانی میشود. این صفحه توضیح میدهد:
برای Anthropic در محیط تولید، احراز هویت با کلید API مسیر امنتر و پیشنهادی است.
- تبادل توکن OAuth چگونه کار میکند (PKCE)
- توکنها کجا ذخیره میشوند (و چرا)
- چگونه چند حساب را مدیریت کنید (پروفایلها + بازنویسیهای هر نشست)
OpenClaw همچنین از Pluginهای ارائهدهنده پشتیبانی میکند که جریانهای 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 در @earendil-works/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?...را باز کنید- تلاش کنید callback را روی
http://127.0.0.1:1455/auth/callbackدریافت کنید - اگر callback قابل bind نبود (یا شما روی محیط دوردست/بدون رابط هستید)، 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 workopenclaw agents add personalسپس احراز هویت را برای هر عامل پیکربندی کنید (جادوگر) و گفتگوها را به عامل درست مسیریابی کنید.
2) پیشرفته: چند پروفایل در یک عامل
auth-profiles.json از چند شناسه پروفایل برای همان ارائهدهنده پشتیبانی میکند.
انتخاب کنید کدام پروفایل استفاده شود:
- بهصورت سراسری از طریق ترتیب پیکربندی (
auth.order) - برای هر نشست از طریق
/model ...@<profileId>
مثال (بازنویسی نشست):
/model Opus@anthropic:work
چگونه ببینید چه شناسههای پروفایلی وجود دارند:
openclaw channels list --json(auth[]را نشان میدهد)
مستندات مرتبط:
- جایگزینی مدل هنگام خرابی (قواعد چرخش + زمان سردسازی)
- دستورهای اسلش (سطح دستور)
مرتبط
- احراز هویت - نمای کلی احراز هویت ارائهدهنده مدل
- اسرار - ذخیرهسازی اعتبارنامه و SecretRef
- مرجع پیکربندی - کلیدهای پیکربندی احراز هویت