Providers
OpenRouter
OpenRouter یک API یکپارچه ارائه میکند که درخواستها را به مدلهای زیادی پشت یک نقطهٔ پایانی و کلید API واحد مسیریابی میکند. با OpenAI سازگار است، بنابراین بیشتر SDKهای OpenAI با تغییر URL پایه کار میکنند.
شروع به کار
دریافت کلید API
یک کلید API در openrouter.ai/keys ایجاد کنید.
اجرای راهاندازی اولیه
openclaw onboard --auth-choice openrouter-api-key
(اختیاری) جابهجایی به یک مدل مشخص
راهاندازی اولیه بهصورت پیشفرض از openrouter/auto استفاده میکند. بعداً یک مدل مشخص انتخاب کنید:
openclaw models set openrouter/<provider>/<model>
نمونهٔ پیکربندی
{
env: { OPENROUTER_API_KEY: "sk-or-..." },
agents: {
defaults: {
model: { primary: "openrouter/auto" },
},
},
}
ارجاعهای مدل
نمونههای جایگزین همراه:
| ارجاع مدل | یادداشتها |
|---|---|
openrouter/auto |
مسیریابی خودکار OpenRouter |
openrouter/moonshotai/kimi-k2.6 |
Kimi K2.6 از طریق MoonshotAI |
تولید تصویر
OpenRouter همچنین میتواند پشتوانهٔ ابزار image_generate باشد. از یک مدل تصویر OpenRouter زیر agents.defaults.imageGenerationModel استفاده کنید:
{
env: { OPENROUTER_API_KEY: "sk-or-..." },
agents: {
defaults: {
imageGenerationModel: {
primary: "openrouter/google/gemini-3.1-flash-image-preview",
timeoutMs: 180_000,
},
},
},
}
OpenClaw درخواستهای تصویر را با modalities: ["image", "text"] به API تصویر تکمیلهای گفتوگوی OpenRouter میفرستد. مدلهای تصویر Gemini راهنماییهای پشتیبانیشدهٔ aspectRatio و resolution را از طریق image_config در OpenRouter دریافت میکنند. برای مدلهای تصویر کندتر OpenRouter از agents.defaults.imageGenerationModel.timeoutMs استفاده کنید؛ پارامتر timeoutMs در هر فراخوانی ابزار image_generate همچنان اولویت دارد.
تولید ویدیو
OpenRouter همچنین میتواند از طریق API ناهمگام /videos خود پشتوانهٔ ابزار video_generate باشد. از یک مدل ویدیوی OpenRouter زیر agents.defaults.videoGenerationModel استفاده کنید:
{
env: { OPENROUTER_API_KEY: "sk-or-..." },
agents: {
defaults: {
videoGenerationModel: {
primary: "openrouter/google/veo-3.1-fast",
},
},
},
}
OpenClaw کارهای متنبهویدیو و تصویربهویدیو را به OpenRouter ارسال میکند، polling_url
برگشتی را نظرسنجی میکند، و ویدیوی تکمیلشده را از unsigned_urls متعلق به OpenRouter
یا نقطهٔ پایانی مستندشدهٔ محتوای کار دانلود میکند. تصویرهای مرجع بهصورت پیشفرض بهعنوان
تصویرهای فریم اول/آخر فرستاده میشوند؛ تصویرهایی که با reference_image برچسبگذاری شدهاند
بهعنوان ارجاعهای ورودی OpenRouter ارسال میشوند. پیشفرض همراه google/veo-3.1-fast
مدتهای ۴/۶/۸ ثانیهای، وضوحهای 720P/1080P و نسبتهای تصویر 16:9/9:16
را که در حال حاضر پشتیبانی میشوند اعلام میکند. ویدیوبهویدیو برای OpenRouter ثبت نشده است،
زیرا API بالادستی تولید ویدیو در حال حاضر متن و ارجاعهای تصویری را میپذیرد.
متنبهگفتار
OpenRouter همچنین میتواند از طریق نقطهٔ پایانی سازگار با OpenAI یعنی
/audio/speech بهعنوان ارائهدهندهٔ TTS استفاده شود.
{
messages: {
tts: {
auto: "always",
provider: "openrouter",
providers: {
openrouter: {
model: "hexgrad/kokoro-82m",
voice: "af_alloy",
responseFormat: "mp3",
},
},
},
},
}
اگر messages.tts.providers.openrouter.apiKey حذف شود، TTS دوباره از
models.providers.openrouter.apiKey و سپس OPENROUTER_API_KEY استفاده میکند.
احراز هویت و سرآیندها
OpenRouter در پشتصحنه از توکن Bearer همراه با کلید API شما استفاده میکند.
در درخواستهای واقعی OpenRouter (https://openrouter.ai/api/v1)، OpenClaw همچنین
سرآیندهای مستندشدهٔ OpenRouter برای انتساب برنامه را اضافه میکند:
| سرآیند | مقدار |
|---|---|
HTTP-Referer |
https://openclaw.ai |
X-OpenRouter-Title |
OpenClaw |
X-OpenRouter-Categories |
cli-agent,cloud-agent,programming-app,creative-writing,writing-assistant,general-chat,personal-agent |
پیکربندی پیشرفته
کشکردن پاسخ
کشکردن پاسخ در OpenRouter اختیاری است. آن را برای هر مدل OpenRouter با پارامترهای مدل فعال کنید:
{
agents: {
defaults: {
models: {
"openrouter/auto": {
params: {
responseCache: true,
responseCacheTtlSeconds: 300,
},
},
},
},
},
}
OpenClaw مقدار X-OpenRouter-Cache: true و، در صورت پیکربندی،
X-OpenRouter-Cache-TTL را میفرستد. responseCacheClear: true برای
درخواست فعلی بازخوانی را اجباری میکند و پاسخ جایگزین را ذخیره میکند. نامهای مستعار snake_case
(response_cache، response_cache_ttl_seconds و
response_cache_clear) نیز پذیرفته میشوند.
این مورد از کشکردن پرامپت ارائهدهنده و از نشانگرهای Anthropic
cache_control در OpenRouter جدا است. فقط روی مسیرهای تأییدشدهٔ
openrouter.ai اعمال میشود، نه URLهای پایهٔ پراکسی سفارشی.
نشانگرهای کش Anthropic
در مسیرهای تأییدشدهٔ OpenRouter، ارجاعهای مدل Anthropic نشانگرهای ویژهٔ OpenRouter
یعنی cache_control مربوط به Anthropic را نگه میدارند که OpenClaw برای
استفادهٔ بهتر از کش پرامپت روی بلوکهای پرامپت سیستم/توسعهدهنده به کار میبرد.
پیشپرکردن استدلال Anthropic
در مسیرهای تأییدشدهٔ OpenRouter، ارجاعهای مدل Anthropic که استدلال در آنها فعال است نوبتهای پیشپرشدهٔ انتهایی assistant را پیش از رسیدن درخواست به OpenRouter حذف میکنند، مطابق با الزام Anthropic که گفتوگوهای استدلالی باید با نوبت کاربر پایان یابند.
تزریق تفکر / استدلال
در مسیرهای پشتیبانیشدهٔ غیر auto، OpenClaw سطح تفکر انتخابشده را به
محمولههای استدلال پراکسی OpenRouter نگاشت میکند. راهنماییهای مدل پشتیبانینشده و
openrouter/auto آن تزریق استدلال را رد میکنند. Hunter Alpha همچنین
برای ارجاعهای مدل پیکربندیشدهٔ قدیمی، استدلال پراکسی را رد میکند، زیرا OpenRouter ممکن است
برای آن مسیر بازنشسته، متن پاسخ نهایی را در فیلدهای استدلال برگرداند.
بازپخش استدلال DeepSeek V4
در مسیرهای تأییدشدهٔ OpenRouter، openrouter/deepseek/deepseek-v4-flash و
openrouter/deepseek/deepseek-v4-pro مقدارهای گمشدهٔ reasoning_content را در
نوبتهای assistant بازپخششده پر میکنند تا گفتوگوهای تفکر/ابزار شکل پیگیری موردنیاز DeepSeek V4
را حفظ کنند. OpenClaw مقدارهای پشتیبانیشدهٔ OpenRouter برای
reasoning_effort را برای این مسیرها میفرستد؛ xhigh بالاترین سطح اعلامشده است
و بازنویسیهای قدیمی max به xhigh نگاشت میشوند.
شکلدهی درخواست فقط مخصوص OpenAI
OpenRouter همچنان از مسیر سازگار با OpenAI به سبک پراکسی عبور میکند، بنابراین
شکلدهی درخواست بومی و فقط مخصوص OpenAI مانند serviceTier، مقدار store در Responses،
محمولههای سازگاری استدلال OpenAI و راهنماییهای کش پرامپت ارسال نمیشود.
مسیرهای پشتوانهدار با Gemini
ارجاعهای OpenRouter که پشتوانهٔ Gemini دارند روی مسیر پراکسی-Gemini میمانند: OpenClaw پاکسازی امضای تفکر Gemini را در آنجا نگه میدارد، اما اعتبارسنجی بازپخش بومی Gemini یا بازنویسیهای بوتاسترپ را فعال نمیکند.
فرادادهٔ مسیریابی ارائهدهنده
اگر مسیریابی ارائهدهندهٔ OpenRouter را زیر پارامترهای مدل ارسال کنید، OpenClaw آن را پیش از اجرای wrapperهای جریان مشترک، بهعنوان فرادادهٔ مسیریابی OpenRouter ارسال میکند.