Concepts and configuration
ผู้ให้บริการโมเดล
ข้อมูลอ้างอิงสำหรับผู้ให้บริการ LLM/โมเดล (ไม่ใช่ช่องแชทอย่าง WhatsApp/Telegram) สำหรับกฎการเลือกโมเดล โปรดดู โมเดล
กฎฉบับย่อ
การอ้างอิงโมเดลและตัวช่วย CLI
- การอ้างอิงโมเดลใช้
provider/model(ตัวอย่าง:opencode/claude-opus-4-6) agents.defaults.modelsทำหน้าที่เป็นรายการอนุญาตเมื่อมีการตั้งค่าไว้- ตัวช่วย CLI:
openclaw onboard,openclaw models list,openclaw models set <provider/model> models.providers.*.contextWindow/contextTokens/maxTokensตั้งค่าเริ่มต้นระดับผู้ให้บริการ;models.providers.*.models[].contextWindow/contextTokens/maxTokensแทนที่ค่าเหล่านั้นต่อโมเดล- กฎ fallback, การ probe ช่วง cooldown และการคงอยู่ของ session override: Model failover
การเพิ่ม auth ของผู้ให้บริการจะไม่เปลี่ยนโมเดลหลักของคุณ
openclaw configure จะรักษา agents.defaults.model.primary ที่มีอยู่ไว้เมื่อคุณเพิ่มหรือ reauth ผู้ให้บริการ Plugin ของผู้ให้บริการยังอาจส่งคืนโมเดลเริ่มต้นที่แนะนำใน auth config patch ได้ แต่ configure จะตีความสิ่งนั้นว่าเป็น "ทำให้โมเดลนี้พร้อมใช้งาน" เมื่อมีโมเดลหลักอยู่แล้ว ไม่ใช่ "แทนที่โมเดลหลักปัจจุบัน"
หากต้องการสลับโมเดลเริ่มต้นโดยเจตนา ให้ใช้ openclaw models set <provider/model> หรือ openclaw models auth login --provider <id> --set-default
การแยก provider/runtime ของ OpenAI
route ตระกูล OpenAI จะเจาะจงตาม prefix:
openai/<model>ร่วมกับagents.defaults.agentRuntime.id: "codex"ใช้ native Codex app-server harness นี่คือการตั้งค่าปกติสำหรับ subscription ของ ChatGPT/Codexopenai-codex/<model>ใช้ Codex OAuth ใน PIopenai/<model>ที่ไม่มีการ override runtime ของ Codex ใช้ผู้ให้บริการ API key ของ OpenAI โดยตรงใน PI
ดู OpenAI และ Codex harness หากการแยก provider/runtime ทำให้สับสน ให้อ่าน Agent runtimes ก่อน
การเปิดใช้ Plugin อัตโนมัติทำตามขอบเขตเดียวกัน: openai-codex/<model> เป็นของ Plugin OpenAI ส่วน Plugin Codex จะถูกเปิดใช้โดย agentRuntime.id: "codex" หรือการอ้างอิง legacy codex/<model>
GPT-5.5 พร้อมใช้งานผ่าน native Codex app-server harness เมื่อมีการตั้งค่า agentRuntime.id: "codex", ผ่าน openai-codex/gpt-5.5 ใน PI สำหรับ Codex OAuth และผ่าน openai/gpt-5.5 ใน PI สำหรับ traffic แบบ API key โดยตรงเมื่อบัญชีของคุณเปิดให้ใช้
CLI runtimes
CLI runtimes ใช้การแยกแบบเดียวกัน: เลือกการอ้างอิงโมเดล canonical เช่น anthropic/claude-*, google/gemini-* หรือ openai/gpt-* จากนั้นตั้ง agents.defaults.agentRuntime.id เป็น claude-cli, google-gemini-cli หรือ codex-cli เมื่อต้องการ backend CLI ภายในเครื่อง
การอ้างอิง legacy claude-cli/*, google-gemini-cli/* และ codex-cli/* จะ migrate กลับเป็นการอ้างอิงผู้ให้บริการ canonical พร้อมบันทึก runtime แยกต่างหาก
พฤติกรรมผู้ให้บริการที่ Plugin เป็นเจ้าของ
ตรรกะเฉพาะผู้ให้บริการส่วนใหญ่อยู่ใน Plugin ของผู้ให้บริการ (registerProvider(...)) ขณะที่ OpenClaw รักษา inference loop ทั่วไปไว้ Plugin เป็นเจ้าของ onboarding, catalog โมเดล, การแมป auth env-var, การทำ transport/config normalization, การ cleanup tool-schema, การจัดประเภท failover, การ refresh OAuth, การรายงาน usage, profile การคิด/reasoning และอื่นๆ
รายการ hook ของ provider-SDK และตัวอย่าง bundled-plugin ทั้งหมดอยู่ใน Provider plugins ผู้ให้บริการที่ต้องการ request executor แบบ custom ทั้งหมดเป็น extension surface ที่แยกออกไปและลึกกว่า
การหมุนเวียน API key
แหล่งที่มาของ key และลำดับความสำคัญ
กำหนดค่า key หลายรายการผ่าน:
OPENCLAW_LIVE_<PROVIDER>_KEY(single live override, ลำดับความสำคัญสูงสุด)<PROVIDER>_API_KEYS(รายการคั่นด้วยคอมมาหรือเซมิโคลอน)<PROVIDER>_API_KEY(key หลัก)<PROVIDER>_API_KEY_*(รายการแบบมีเลขกำกับ เช่น<PROVIDER>_API_KEY_1)
สำหรับผู้ให้บริการ Google จะรวม GOOGLE_API_KEY เป็น fallback ด้วย ลำดับการเลือก key จะรักษาลำดับความสำคัญและตัดค่าที่ซ้ำกันออก
เมื่อใดที่การหมุนเวียนเริ่มทำงาน
- คำขอจะถูกลองใหม่ด้วย key ถัดไปเฉพาะเมื่อมีการตอบกลับ rate-limit เท่านั้น (เช่น
429,rate_limit,quota,resource exhausted,Too many concurrent requests,ThrottlingException,concurrency limit reached,workers_ai ... quota limit exceededหรือข้อความ usage-limit เป็นระยะ) - ความล้มเหลวที่ไม่ใช่ rate-limit จะล้มเหลวทันที; จะไม่พยายามหมุนเวียน key
- เมื่อ key ผู้สมัครทั้งหมดล้มเหลว ข้อผิดพลาดสุดท้ายจะถูกส่งคืนจากความพยายามครั้งสุดท้าย
ผู้ให้บริการในตัว (catalog pi-ai)
OpenClaw มาพร้อมกับ catalog pi-ai ผู้ให้บริการเหล่านี้ไม่ต้องใช้ config models.providers ใดๆ; เพียงตั้งค่า auth และเลือกโมเดล
OpenAI
- ผู้ให้บริการ:
openai - Auth:
OPENAI_API_KEY - การหมุนเวียนแบบเลือกได้:
OPENAI_API_KEYS,OPENAI_API_KEY_1,OPENAI_API_KEY_2รวมถึงOPENCLAW_LIVE_OPENAI_KEY(single override) - โมเดลตัวอย่าง:
openai/gpt-5.5,openai/gpt-5.4-mini - ตรวจสอบความพร้อมใช้งานของบัญชี/โมเดลด้วย
openclaw models list --provider openaiหาก install หรือ API key เฉพาะทำงานต่างออกไป - CLI:
openclaw onboard --auth-choice openai-api-key - transport เริ่มต้นคือ
auto(WebSocket ก่อน, fallback เป็น SSE) - override ต่อโมเดลผ่าน
agents.defaults.models["openai/<model>"].params.transport("sse","websocket"หรือ"auto") - ค่าเริ่มต้นของ OpenAI Responses WebSocket warm-up เปิดใช้งานผ่าน
params.openaiWsWarmup(true/false) - สามารถเปิดใช้ OpenAI priority processing ผ่าน
agents.defaults.models["openai/<model>"].params.serviceTier /fastและparams.fastModeจะแมปคำขอ directopenai/*Responses เป็นservice_tier=priorityบนapi.openai.com- ใช้
params.serviceTierเมื่อต้องการ tier แบบชัดเจนแทน toggle/fastที่ใช้ร่วมกัน - header attribution ของ OpenClaw ที่ซ่อนอยู่ (
originator,version,User-Agent) ใช้เฉพาะกับ traffic OpenAI native ไปยังapi.openai.comไม่ใช่ proxy ที่เข้ากันได้กับ OpenAI แบบทั่วไป - route OpenAI native ยังคงรักษา Responses
store, hint ของ prompt-cache และการจัดรูป payload reasoning-compat ของ OpenAI; route proxy ไม่ทำเช่นนั้น openai/gpt-5.3-codex-sparkถูกซ่อนไว้โดยเจตนาใน OpenClaw เพราะคำขอ OpenAI API แบบ live ปฏิเสธโมเดลนี้ และ catalog Codex ปัจจุบันไม่เปิดเผยโมเดลนี้
{
agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },
}
Anthropic
- ผู้ให้บริการ:
anthropic - Auth:
ANTHROPIC_API_KEY - การหมุนเวียนแบบเลือกได้:
ANTHROPIC_API_KEYS,ANTHROPIC_API_KEY_1,ANTHROPIC_API_KEY_2รวมถึงOPENCLAW_LIVE_ANTHROPIC_KEY(single override) - โมเดลตัวอย่าง:
anthropic/claude-opus-4-6 - CLI:
openclaw onboard --auth-choice apiKey - คำขอ Anthropic สาธารณะโดยตรงรองรับ toggle
/fastที่ใช้ร่วมกันและparams.fastModeรวมถึง traffic แบบ API key และ OAuth-authenticated ที่ส่งไปยังapi.anthropic.com; OpenClaw จะแมปสิ่งนั้นเป็น Anthropicservice_tier(autoเทียบกับstandard_only) - config Claude CLI ที่แนะนำจะเก็บการอ้างอิงโมเดลให้เป็น canonical และเลือก CLI
backend แยกต่างหาก:
anthropic/claude-opus-4-7พร้อมagents.defaults.agentRuntime.id: "claude-cli"การอ้างอิง legacyclaude-cli/claude-opus-4-7ยังทำงานได้เพื่อความเข้ากันได้
{
agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },
}
OpenAI Codex OAuth
- ผู้ให้บริการ:
openai-codex - Auth: OAuth (ChatGPT)
- การอ้างอิงโมเดล PI:
openai-codex/gpt-5.5 - การอ้างอิง native Codex app-server harness:
openai/gpt-5.5พร้อมagents.defaults.agentRuntime.id: "codex" - เอกสาร native Codex app-server harness: Codex harness
- การอ้างอิงโมเดล legacy:
codex/gpt-* - ขอบเขต Plugin:
openai-codex/*โหลด Plugin OpenAI; Plugin native Codex app-server จะถูกเลือกโดย runtime ของ Codex harness หรือการอ้างอิง legacycodex/*เท่านั้น - CLI:
openclaw onboard --auth-choice openai-codexหรือopenclaw models auth login --provider openai-codex - transport เริ่มต้นคือ
auto(WebSocket ก่อน, fallback เป็น SSE) - override ต่อโมเดล PI ผ่าน
agents.defaults.models["openai-codex/<model>"].params.transport("sse","websocket"หรือ"auto") params.serviceTierถูกส่งต่อบนคำขอ native Codex Responses ด้วย (chatgpt.com/backend-api)- header attribution ของ OpenClaw ที่ซ่อนอยู่ (
originator,version,User-Agent) จะถูกแนบเฉพาะกับ traffic Codex native ไปยังchatgpt.com/backend-apiไม่ใช่ proxy ที่เข้ากันได้กับ OpenAI แบบทั่วไป - ใช้ toggle
/fastและ configparams.fastModeเดียวกันกับ directopenai/*; OpenClaw จะแมปสิ่งนั้นเป็นservice_tier=priority openai-codex/gpt-5.5ใช้contextWindow = 400000แบบ native ของ catalog Codex และ runtime เริ่มต้นcontextTokens = 272000; override cap ของ runtime ด้วยmodels.providers.openai-codex.models[].contextTokens- หมายเหตุนโยบาย: OpenAI Codex OAuth รองรับอย่างชัดเจนสำหรับเครื่องมือ/workflow ภายนอกอย่าง OpenClaw
- สำหรับ route subscription บวก native Codex runtime ที่พบบ่อย ให้ลงชื่อเข้าใช้ด้วย auth
openai-codexแต่กำหนดค่าopenai/gpt-5.5พร้อมagents.defaults.agentRuntime.id: "codex" - ใช้
openai-codex/gpt-5.5เฉพาะเมื่อคุณต้องการ route Codex OAuth/subscription ผ่าน PI; ใช้openai/gpt-5.5โดยไม่มีการ override runtime ของ Codex เมื่อการตั้งค่า API key และ catalog ภายในเครื่องของคุณเปิดให้ใช้ route API สาธารณะ - การอ้างอิง
openai-codex/gpt-5.1*,openai-codex/gpt-5.2*และopenai-codex/gpt-5.3*ที่เก่ากว่าจะถูกซ่อนไว้ เพราะบัญชี ChatGPT/Codex OAuth ปฏิเสธโมเดลเหล่านั้น; ใช้openai-codex/gpt-5.5หรือ route native Codex runtime แทน
{
plugins: { entries: { codex: { enabled: true } } },
agents: {
defaults: {
model: { primary: "openai/gpt-5.5" },
agentRuntime: { id: "codex" },
},
},
}
{
models: {
providers: {
"openai-codex": {
models: [{ id: "gpt-5.5", contextTokens: 160000 }],
},
},
},
}
ตัวเลือก hosted แบบ subscription-style อื่นๆ
Z.AI Coding Plan หรือ endpoint API ทั่วไป
MiniMax Coding Plan OAuth หรือการเข้าถึงด้วย API key
surface ของผู้ให้บริการ Qwen Cloud รวมถึงการแมป endpoint ของ Alibaba DashScope และ Coding Plan
OpenCode
- Auth:
OPENCODE_API_KEY(หรือOPENCODE_ZEN_API_KEY) - ผู้ให้บริการ Zen runtime:
opencode - ผู้ให้บริการ Go runtime:
opencode-go - โมเดลตัวอย่าง:
opencode/claude-opus-4-6,opencode-go/kimi-k2.6 - CLI:
openclaw onboard --auth-choice opencode-zenหรือopenclaw onboard --auth-choice opencode-go
{
agents: { defaults: { model: { primary: "opencode/claude-opus-4-6" } } },
}
Google Gemini (API key)
- ผู้ให้บริการ:
google - การยืนยันตัวตน:
GEMINI_API_KEY - การหมุนเวียนเสริม:
GEMINI_API_KEYS,GEMINI_API_KEY_1,GEMINI_API_KEY_2, สำรองGOOGLE_API_KEY, และOPENCLAW_LIVE_GEMINI_KEY(การเขียนทับเดี่ยว) - โมเดลตัวอย่าง:
google/gemini-3.1-pro-preview,google/gemini-3-flash-preview - ความเข้ากันได้: การกำหนดค่า OpenClaw แบบเดิมที่ใช้
google/gemini-3.1-flash-previewจะถูกทำให้เป็นมาตรฐานเป็นgoogle/gemini-3-flash-preview - นามแฝง:
google/gemini-3.1-proได้รับการยอมรับและถูกทำให้เป็นมาตรฐานเป็นรหัส Gemini API สดของ Google คือgoogle/gemini-3.1-pro-preview - CLI:
openclaw onboard --auth-choice gemini-api-key - การคิด:
/think adaptiveใช้การคิดแบบไดนามิกของ Google Gemini 3/3.1 ละthinkingLevelแบบคงที่; Gemini 2.5 ส่งthinkingBudget: -1 - การรัน Gemini โดยตรงยังยอมรับ
agents.defaults.models["google/<model>"].params.cachedContent(หรือcached_contentแบบเดิม) เพื่อส่งต่อแฮนเดิลcachedContents/...แบบเนทีฟของผู้ให้บริการ; การพบแคชของ Gemini จะแสดงเป็นcacheReadของ OpenClaw
Google Vertex และ Gemini CLI
- ผู้ให้บริการ:
google-vertex,google-gemini-cli - การยืนยันตัวตน: Vertex ใช้ gcloud ADC; Gemini CLI ใช้โฟลว์ OAuth ของตน
Gemini CLI OAuth ถูกจัดส่งเป็นส่วนหนึ่งของ Plugin google ที่รวมมาให้
Install Gemini CLI
brew
brew install gemini-cli
npm
npm install -g @google/gemini-cli
Enable plugin
openclaw plugins enable google
Login
openclaw models auth login --provider google-gemini-cli --set-default
โมเดลเริ่มต้น: google-gemini-cli/gemini-3-flash-preview คุณ ไม่ต้อง วางรหัสไคลเอนต์หรือความลับลงใน openclaw.json โฟลว์ล็อกอินของ CLI จะจัดเก็บโทเค็นในโปรไฟล์การยืนยันตัวตนบนโฮสต์ Gateway
Set project (if needed)
หากคำขอล้มเหลวหลังล็อกอิน ให้ตั้งค่า GOOGLE_CLOUD_PROJECT หรือ GOOGLE_CLOUD_PROJECT_ID บนโฮสต์ Gateway
การตอบกลับ JSON ของ Gemini CLI ถูกแยกวิเคราะห์จาก response; การใช้งานจะย้อนกลับไปใช้ stats โดย stats.cached จะถูกทำให้เป็นมาตรฐานเป็น cacheRead ของ OpenClaw
Z.AI (GLM)
- ผู้ให้บริการ:
zai - การยืนยันตัวตน:
ZAI_API_KEY - โมเดลตัวอย่าง:
zai/glm-5.1 - CLI:
openclaw onboard --auth-choice zai-api-key- นามแฝง:
z.ai/*และz-ai/*จะถูกทำให้เป็นมาตรฐานเป็นzai/* zai-api-keyตรวจจับปลายทาง Z.AI ที่ตรงกันโดยอัตโนมัติ;zai-coding-global,zai-coding-cn,zai-global, และzai-cnบังคับใช้พื้นผิวเฉพาะ
- นามแฝง:
Vercel AI Gateway
- ผู้ให้บริการ:
vercel-ai-gateway - การยืนยันตัวตน:
AI_GATEWAY_API_KEY - โมเดลตัวอย่าง:
vercel-ai-gateway/anthropic/claude-opus-4.6,vercel-ai-gateway/moonshotai/kimi-k2.6 - CLI:
openclaw onboard --auth-choice ai-gateway-api-key
Kilo Gateway
- ผู้ให้บริการ:
kilocode - การยืนยันตัวตน:
KILOCODE_API_KEY - โมเดลตัวอย่าง:
kilocode/kilo/auto - CLI:
openclaw onboard --auth-choice kilocode-api-key - URL ฐาน:
https://api.kilo.ai/api/gateway/ - แค็ตตาล็อกสำรองแบบคงที่จัดส่ง
kilocode/kilo/auto; การค้นพบสดhttps://api.kilo.ai/api/gateway/modelsสามารถขยายแค็ตตาล็อกรันไทม์เพิ่มเติมได้ - การกำหนดเส้นทางอัปสตรีมที่แน่นอนเบื้องหลัง
kilocode/kilo/autoเป็นความรับผิดชอบของ Kilo Gateway ไม่ได้ถูกเขียนตายตัวใน OpenClaw
ดูรายละเอียดการตั้งค่าที่ /providers/kilocode
Plugin ผู้ให้บริการอื่นที่รวมมาให้
| ผู้ให้บริการ | รหัส | env การยืนยันตัวตน | โมเดลตัวอย่าง |
|---|---|---|---|
| BytePlus | byteplus / byteplus-plan |
BYTEPLUS_API_KEY |
byteplus-plan/ark-code-latest |
| Cerebras | cerebras |
CEREBRAS_API_KEY |
cerebras/zai-glm-4.7 |
| Cloudflare AI Gateway | cloudflare-ai-gateway |
CLOUDFLARE_AI_GATEWAY_API_KEY |
- |
| DeepInfra | deepinfra |
DEEPINFRA_API_KEY |
deepinfra/deepseek-ai/DeepSeek-V3.2 |
| DeepSeek | deepseek |
DEEPSEEK_API_KEY |
deepseek/deepseek-v4-flash |
| GitHub Copilot | github-copilot |
COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN |
- |
| Groq | groq |
GROQ_API_KEY |
- |
| Hugging Face Inference | huggingface |
HUGGINGFACE_HUB_TOKEN หรือ HF_TOKEN |
huggingface/deepseek-ai/DeepSeek-R1 |
| Kilo Gateway | kilocode |
KILOCODE_API_KEY |
kilocode/kilo/auto |
| Kimi Coding | kimi |
KIMI_API_KEY หรือ KIMICODE_API_KEY |
kimi/kimi-code |
| MiniMax | minimax / minimax-portal |
MINIMAX_API_KEY / MINIMAX_OAUTH_TOKEN |
minimax/MiniMax-M2.7 |
| Mistral | mistral |
MISTRAL_API_KEY |
mistral/mistral-large-latest |
| Moonshot | moonshot |
MOONSHOT_API_KEY |
moonshot/kimi-k2.6 |
| NVIDIA | nvidia |
NVIDIA_API_KEY |
nvidia/nvidia/nemotron-3-super-120b-a12b |
| OpenRouter | openrouter |
OPENROUTER_API_KEY |
openrouter/auto |
| Qianfan | qianfan |
QIANFAN_API_KEY |
qianfan/deepseek-v3.2 |
| Qwen Cloud | qwen |
QWEN_API_KEY / MODELSTUDIO_API_KEY / DASHSCOPE_API_KEY |
qwen/qwen3.5-plus |
| StepFun | stepfun / stepfun-plan |
STEPFUN_API_KEY |
stepfun/step-3.5-flash |
| Together | together |
TOGETHER_API_KEY |
together/moonshotai/Kimi-K2.5 |
| Venice | venice |
VENICE_API_KEY |
- |
| Vercel AI Gateway | vercel-ai-gateway |
AI_GATEWAY_API_KEY |
vercel-ai-gateway/anthropic/claude-opus-4.6 |
| Volcano Engine (Doubao) | volcengine / volcengine-plan |
VOLCANO_ENGINE_API_KEY |
volcengine-plan/ark-code-latest |
| xAI | xai |
XAI_API_KEY |
xai/grok-4.3 |
| Xiaomi | xiaomi |
XIAOMI_API_KEY |
xiaomi/mimo-v2-flash |
ข้อควรทราบ
OpenRouter
ใช้เฮดเดอร์การระบุแอปและเครื่องหมาย cache_control ของ Anthropic เฉพาะบนเส้นทาง openrouter.ai ที่ตรวจสอบแล้วเท่านั้น DeepSeek, Moonshot และ ZAI refs มีสิทธิ์ใช้ cache-TTL สำหรับการแคชพรอมป์ที่ OpenRouter จัดการ แต่จะไม่ได้รับเครื่องหมายแคชของ Anthropic ในฐานะเส้นทางแบบพร็อกซีที่เข้ากันได้กับ OpenAI จึงข้ามการจัดรูปแบบที่มีเฉพาะ OpenAI แบบเนทีฟ (serviceTier, Responses store, คำแนะนำ prompt-cache, ความเข้ากันได้ของเหตุผลกับ OpenAI) refs ที่รองรับด้วย Gemini จะคงเฉพาะการทำความสะอาด thought-signature ของ proxy-Gemini ไว้
Kilo Gateway
refs ที่รองรับด้วย Gemini ใช้เส้นทางการทำความสะอาด proxy-Gemini เดียวกัน; kilocode/kilo/auto และ refs อื่นที่ไม่รองรับ proxy-reasoning จะข้ามการฉีด proxy reasoning
MiniMax
การเริ่มต้นใช้งานด้วย API key จะเขียนนิยามโมเดลแชต M2.7 แบบข้อความเท่านั้นอย่างชัดเจน; ความเข้าใจรูปภาพยังคงอยู่บนผู้ให้บริการสื่อ MiniMax-VL-01 ที่ Plugin เป็นเจ้าของ
NVIDIA
รหัสโมเดลใช้เนมสเปซ nvidia/<vendor>/<model> (เช่น nvidia/nvidia/nemotron-... ควบคู่กับ nvidia/moonshotai/kimi-k2.5); ตัวเลือกจะคงองค์ประกอบ <provider>/<model-id> ตามตัวอักษรไว้ ขณะที่คีย์มาตรฐานที่ส่งไปยัง API ยังคงมีคำนำหน้าเดียว
xAI
ใช้เส้นทาง xAI Responses grok-4.3 เป็นโมเดลแชตเริ่มต้นที่มาพร้อมแพ็กเกจ /fast หรือ params.fastMode: true จะเขียน grok-3, grok-3-mini, grok-4 และ grok-4-0709 ใหม่เป็นตัวแปร *-fast ของโมเดลเหล่านั้น tool_stream เปิดเป็นค่าเริ่มต้น; ปิดได้ผ่าน agents.defaults.models["xai/<model>"].params.tool_stream=false
Cerebras
จัดส่งเป็น Plugin ผู้ให้บริการ cerebras ที่มาพร้อมแพ็กเกจ GLM ใช้ zai-glm-4.7; URL พื้นฐานที่เข้ากันได้กับ OpenAI คือ https://api.cerebras.ai/v1
ผู้ให้บริการผ่าน models.providers (URL แบบกำหนดเอง/พื้นฐาน)
ใช้ models.providers (หรือ models.json) เพื่อเพิ่มผู้ให้บริการ แบบกำหนดเอง หรือพร็อกซีที่เข้ากันได้กับ OpenAI/Anthropic
Plugin ผู้ให้บริการที่มาพร้อมแพ็กเกจจำนวนมากด้านล่างเผยแพร่แค็ตตาล็อกเริ่มต้นอยู่แล้ว ใช้รายการ models.providers.<id> แบบชัดเจนเฉพาะเมื่อคุณต้องการแทนที่ URL พื้นฐาน เฮดเดอร์ หรือรายการโมเดลเริ่มต้นเท่านั้น
การตรวจสอบความสามารถของโมเดล Gateway จะอ่านเมทาดาทา models.providers.<id>.models[] แบบชัดเจนด้วย หากโมเดลแบบกำหนดเองหรือพร็อกซียอมรับรูปภาพ ให้ตั้งค่า input: ["text", "image"] บนโมเดลนั้น เพื่อให้เส้นทางไฟล์แนบจาก WebChat และ node-origin ส่งรูปภาพเป็นอินพุตโมเดลแบบเนทีฟแทน refs สื่อแบบข้อความเท่านั้น
Moonshot AI (Kimi)
Moonshot จัดส่งเป็น Plugin ผู้ให้บริการที่มาพร้อมแพ็กเกจ ใช้ผู้ให้บริการในตัวเป็นค่าเริ่มต้น และเพิ่มรายการ models.providers.moonshot แบบชัดเจนเฉพาะเมื่อคุณต้องการแทนที่ URL พื้นฐานหรือเมทาดาทาโมเดล:
- ผู้ให้บริการ:
moonshot - การยืนยันตัวตน:
MOONSHOT_API_KEY - โมเดลตัวอย่าง:
moonshot/kimi-k2.6 - CLI:
openclaw onboard --auth-choice moonshot-api-keyหรือopenclaw onboard --auth-choice moonshot-api-key-cn
รหัสโมเดล Kimi K2:
moonshot/kimi-k2.6moonshot/kimi-k2.5moonshot/kimi-k2-thinkingmoonshot/kimi-k2-thinking-turbomoonshot/kimi-k2-turbo
{
agents: {
defaults: { model: { primary: "moonshot/kimi-k2.6" } },
},
models: {
mode: "merge",
providers: {
moonshot: {
baseUrl: "https://api.moonshot.ai/v1",
apiKey: "${MOONSHOT_API_KEY}",
api: "openai-completions",
models: [{ id: "kimi-k2.6", name: "Kimi K2.6" }],
},
},
},
}
Kimi coding
Kimi Coding ใช้เอนด์พอยต์ที่เข้ากันได้กับ Anthropic ของ Moonshot AI:
- ผู้ให้บริการ:
kimi - การยืนยันตัวตน:
KIMI_API_KEY - โมเดลตัวอย่าง:
kimi/kimi-code
{
env: { KIMI_API_KEY: "sk-..." },
agents: {
defaults: { model: { primary: "kimi/kimi-code" } },
},
}
Legacy kimi/k2p5 ยังคงได้รับการยอมรับในฐานะ id โมเดลเพื่อความเข้ากันได้
Volcano Engine (Doubao)
Volcano Engine (火山引擎) ให้การเข้าถึง Doubao และโมเดลอื่น ๆ ในจีน
- ผู้ให้บริการ:
volcengine(การเขียนโค้ด:volcengine-plan) - การยืนยันตัวตน:
VOLCANO_ENGINE_API_KEY - ตัวอย่างโมเดล:
volcengine-plan/ark-code-latest - CLI:
openclaw onboard --auth-choice volcengine-api-key
{
agents: {
defaults: { model: { primary: "volcengine-plan/ark-code-latest" } },
},
}
Onboarding ใช้พื้นผิวการเขียนโค้ดเป็นค่าเริ่มต้น แต่แค็ตตาล็อกทั่วไป volcengine/* จะถูกลงทะเบียนพร้อมกัน
ในตัวเลือกโมเดลของ onboarding/configure ตัวเลือกการยืนยันตัวตน Volcengine จะให้ความสำคัญกับทั้งแถว volcengine/* และ volcengine-plan/* หากโมเดลเหล่านั้นยังไม่ถูกโหลด OpenClaw จะถอยกลับไปใช้แค็ตตาล็อกที่ไม่ถูกกรองแทนการแสดงตัวเลือกที่จำกัดตามผู้ให้บริการแต่ไม่มีรายการ
โมเดลมาตรฐาน
volcengine/doubao-seed-1-8-251228(Doubao Seed 1.8)volcengine/doubao-seed-code-preview-251028volcengine/kimi-k2-5-260127(Kimi K2.5)volcengine/glm-4-7-251222(GLM 4.7)volcengine/deepseek-v3-2-251201(DeepSeek V3.2 128K)
โมเดลเขียนโค้ด (volcengine-plan)
volcengine-plan/ark-code-latestvolcengine-plan/doubao-seed-codevolcengine-plan/kimi-k2.5volcengine-plan/kimi-k2-thinkingvolcengine-plan/glm-4.7
BytePlus (ระหว่างประเทศ)
BytePlus ARK ให้การเข้าถึงโมเดลเดียวกับ Volcano Engine สำหรับผู้ใช้ระหว่างประเทศ
- ผู้ให้บริการ:
byteplus(การเขียนโค้ด:byteplus-plan) - การยืนยันตัวตน:
BYTEPLUS_API_KEY - ตัวอย่างโมเดล:
byteplus-plan/ark-code-latest - CLI:
openclaw onboard --auth-choice byteplus-api-key
{
agents: {
defaults: { model: { primary: "byteplus-plan/ark-code-latest" } },
},
}
Onboarding ใช้พื้นผิวการเขียนโค้ดเป็นค่าเริ่มต้น แต่แค็ตตาล็อกทั่วไป byteplus/* จะถูกลงทะเบียนพร้อมกัน
ในตัวเลือกโมเดลของ onboarding/configure ตัวเลือกการยืนยันตัวตน BytePlus จะให้ความสำคัญกับทั้งแถว byteplus/* และ byteplus-plan/* หากโมเดลเหล่านั้นยังไม่ถูกโหลด OpenClaw จะถอยกลับไปใช้แค็ตตาล็อกที่ไม่ถูกกรองแทนการแสดงตัวเลือกที่จำกัดตามผู้ให้บริการแต่ไม่มีรายการ
โมเดลมาตรฐาน
byteplus/seed-1-8-251228(Seed 1.8)byteplus/kimi-k2-5-260127(Kimi K2.5)byteplus/glm-4-7-251222(GLM 4.7)
โมเดลเขียนโค้ด (byteplus-plan)
byteplus-plan/ark-code-latestbyteplus-plan/doubao-seed-codebyteplus-plan/kimi-k2.5byteplus-plan/kimi-k2-thinkingbyteplus-plan/glm-4.7
Synthetic
Synthetic ให้โมเดลที่เข้ากันได้กับ Anthropic ภายใต้ผู้ให้บริการ synthetic:
- ผู้ให้บริการ:
synthetic - การยืนยันตัวตน:
SYNTHETIC_API_KEY - ตัวอย่างโมเดล:
synthetic/hf:MiniMaxAI/MiniMax-M2.5 - CLI:
openclaw onboard --auth-choice synthetic-api-key
{
agents: {
defaults: { model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" } },
},
models: {
mode: "merge",
providers: {
synthetic: {
baseUrl: "https://api.synthetic.new/anthropic",
apiKey: "${SYNTHETIC_API_KEY}",
api: "anthropic-messages",
models: [{ id: "hf:MiniMaxAI/MiniMax-M2.5", name: "MiniMax M2.5" }],
},
},
},
}
MiniMax
MiniMax ถูกกำหนดค่าผ่าน models.providers เพราะใช้ endpoint แบบกำหนดเอง:
- MiniMax OAuth (Global):
--auth-choice minimax-global-oauth - MiniMax OAuth (CN):
--auth-choice minimax-cn-oauth - MiniMax API key (Global):
--auth-choice minimax-global-api - MiniMax API key (CN):
--auth-choice minimax-cn-api - การยืนยันตัวตน:
MINIMAX_API_KEYสำหรับminimax;MINIMAX_OAUTH_TOKENหรือMINIMAX_API_KEYสำหรับminimax-portal
ดู /providers/minimax สำหรับรายละเอียดการตั้งค่า ตัวเลือกโมเดล และตัวอย่างการกำหนดค่า
การแบ่งความสามารถที่เป็นของ Plugin:
- ค่าเริ่มต้นของ text/chat อยู่ที่
minimax/MiniMax-M2.7 - การสร้างภาพคือ
minimax/image-01หรือminimax-portal/image-01 - ความเข้าใจภาพเป็น
MiniMax-VL-01ที่เป็นของ Plugin บนเส้นทางการยืนยันตัวตน MiniMax ทั้งสองแบบ - การค้นเว็บยังอยู่บน id ผู้ให้บริการ
minimax
LM Studio
LM Studio มาพร้อมเป็น Plugin ผู้ให้บริการที่รวมมาให้ ซึ่งใช้ API แบบเนทีฟ:
- ผู้ให้บริการ:
lmstudio - การยืนยันตัวตน:
LM_API_TOKEN - URL ฐานการอนุมานเริ่มต้น:
http://localhost:1234/v1
จากนั้นตั้งค่าโมเดล (แทนที่ด้วยหนึ่งใน ID ที่ส่งคืนโดย http://localhost:1234/api/v1/models):
{
agents: {
defaults: { model: { primary: "lmstudio/openai/gpt-oss-20b" } },
},
}
OpenClaw ใช้ /api/v1/models และ /api/v1/models/load แบบเนทีฟของ LM Studio สำหรับการค้นพบ + โหลดอัตโนมัติ โดยใช้ /v1/chat/completions สำหรับการอนุมานเป็นค่าเริ่มต้น หากคุณต้องการให้การโหลด JIT, TTL และการขับออกอัตโนมัติของ LM Studio เป็นผู้ดูแล lifecycle ของโมเดล ให้ตั้งค่า models.providers.lmstudio.params.preload: false ดู /providers/lmstudio สำหรับการตั้งค่าและการแก้ปัญหา
Ollama
Ollama มาพร้อมเป็น Plugin ผู้ให้บริการที่รวมมาให้ และใช้ API แบบเนทีฟของ Ollama:
- ผู้ให้บริการ:
ollama - การยืนยันตัวตน: ไม่จำเป็น (เซิร์ฟเวอร์ภายในเครื่อง)
- ตัวอย่างโมเดล:
ollama/llama3.3 - การติดตั้ง: https://ollama.com/download
# Install Ollama, then pull a model:
ollama pull llama3.3
{
agents: {
defaults: { model: { primary: "ollama/llama3.3" } },
},
}
Ollama ถูกตรวจพบภายในเครื่องที่ http://127.0.0.1:11434 เมื่อคุณเลือกใช้ด้วย OLLAMA_API_KEY และ Plugin ผู้ให้บริการที่รวมมาให้จะเพิ่ม Ollama เข้าสู่ openclaw onboard และตัวเลือกโมเดลโดยตรง ดู /providers/ollama สำหรับ onboarding, โหมด cloud/local และการกำหนดค่าแบบกำหนดเอง
vLLM
vLLM มาพร้อมเป็น Plugin ผู้ให้บริการที่รวมมาให้สำหรับเซิร์ฟเวอร์ภายในเครื่อง/โฮสต์เองที่เข้ากันได้กับ OpenAI:
- ผู้ให้บริการ:
vllm - การยืนยันตัวตน: ไม่บังคับ (ขึ้นอยู่กับเซิร์ฟเวอร์ของคุณ)
- URL ฐานเริ่มต้น:
http://127.0.0.1:8000/v1
หากต้องการเลือกใช้การค้นพบอัตโนมัติภายในเครื่อง (ใช้ค่าใดก็ได้หากเซิร์ฟเวอร์ของคุณไม่ได้บังคับใช้การยืนยันตัวตน):
export VLLM_API_KEY="vllm-local"
จากนั้นตั้งค่าโมเดล (แทนที่ด้วยหนึ่งใน ID ที่ส่งคืนโดย /v1/models):
{
agents: {
defaults: { model: { primary: "vllm/your-model-id" } },
},
}
ดู /providers/vllm สำหรับรายละเอียด
SGLang
SGLang มาพร้อมเป็น Plugin ผู้ให้บริการที่รวมมาให้สำหรับเซิร์ฟเวอร์โฮสต์เองที่รวดเร็วและเข้ากันได้กับ OpenAI:
- ผู้ให้บริการ:
sglang - การยืนยันตัวตน: ไม่บังคับ (ขึ้นอยู่กับเซิร์ฟเวอร์ของคุณ)
- URL ฐานเริ่มต้น:
http://127.0.0.1:30000/v1
หากต้องการเลือกใช้การค้นพบอัตโนมัติภายในเครื่อง (ใช้ค่าใดก็ได้หากเซิร์ฟเวอร์ของคุณไม่ได้บังคับใช้การยืนยันตัวตน):
export SGLANG_API_KEY="sglang-local"
จากนั้นตั้งค่าโมเดล (แทนที่ด้วยหนึ่งใน ID ที่ส่งคืนโดย /v1/models):
{
agents: {
defaults: { model: { primary: "sglang/your-model-id" } },
},
}
ดู /providers/sglang สำหรับรายละเอียด
พร็อกซีภายในเครื่อง (LM Studio, vLLM, LiteLLM ฯลฯ)
ตัวอย่าง (เข้ากันได้กับ OpenAI):
{
agents: {
defaults: {
model: { primary: "lmstudio/my-local-model" },
models: { "lmstudio/my-local-model": { alias: "Local" } },
},
},
models: {
providers: {
lmstudio: {
baseUrl: "http://localhost:1234/v1",
apiKey: "${LM_API_TOKEN}",
api: "openai-completions",
timeoutSeconds: 300,
models: [
{
id: "my-local-model",
name: "Local Model",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
maxTokens: 8192,
},
],
},
},
},
}
ฟิลด์ไม่บังคับเริ่มต้น
สำหรับผู้ให้บริการแบบกำหนดเอง reasoning, input, cost, contextWindow และ maxTokens เป็นฟิลด์ไม่บังคับ เมื่อเว้นไว้ OpenClaw จะใช้ค่าเริ่มต้นเป็น:
reasoning: falseinput: ["text"]cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }contextWindow: 200000maxTokens: 8192
แนะนำ: ตั้งค่าที่ชัดเจนให้ตรงกับขีดจำกัดของพร็อกซี/โมเดลของคุณ
กฎการจัดรูปแบบเส้นทางพร็อกซี
- สำหรับ
api: "openai-completions"บน endpoint ที่ไม่ใช่แบบเนทีฟ (ค่าbaseUrlที่ไม่ว่างซึ่งโฮสต์ไม่ใช่api.openai.com) OpenClaw จะบังคับcompat.supportsDeveloperRole: falseเพื่อหลีกเลี่ยงข้อผิดพลาด 400 จากผู้ให้บริการสำหรับบทบาทdeveloperที่ไม่รองรับ - เส้นทางแบบพร็อกซีที่เข้ากันได้กับ OpenAI จะข้ามการจัดรูปแบบคำขอที่มีเฉพาะ OpenAI แบบเนทีฟด้วย: ไม่มี
service_tier, ไม่มี Responsesstore, ไม่มี Completionsstore, ไม่มีคำใบ้ prompt-cache, ไม่มีการจัดรูปแบบ payload ความเข้ากันได้ด้าน reasoning ของ OpenAI และไม่มี header attribution ของ OpenClaw ที่ซ่อนอยู่ - สำหรับพร็อกซี Completions ที่เข้ากันได้กับ OpenAI ซึ่งต้องการฟิลด์เฉพาะผู้ขาย ให้ตั้งค่า
agents.defaults.models["provider/model"].params.extra_body(หรือextraBody) เพื่อผสาน JSON เพิ่มเติมเข้าไปใน body ของคำขอขาออก - สำหรับการควบคุม chat-template ของ vLLM ให้ตั้งค่า
agents.defaults.models["provider/model"].params.chat_template_kwargsPlugin vLLM ที่รวมมาให้จะส่งenable_thinking: falseและforce_nonempty_content: trueโดยอัตโนมัติสำหรับvllm/nemotron-3-*เมื่อระดับการคิดของเซสชันปิดอยู่ - สำหรับโมเดลภายในเครื่องที่ช้าหรือโฮสต์ LAN/tailnet ระยะไกล ให้ตั้งค่า
models.providers.<id>.timeoutSecondsค่านี้ขยายการจัดการคำขอ HTTP ของโมเดลผู้ให้บริการ รวมถึง connect, headers, body streaming และการยกเลิก guarded-fetch ทั้งหมด โดยไม่เพิ่ม timeout runtime ทั้งหมดของ agent - การเรียก HTTP ของผู้ให้บริการโมเดลอนุญาตคำตอบ DNS fake-IP ของ Surge, Clash และ sing-box ใน
198.18.0.0/15และfc00::/7เฉพาะสำหรับชื่อโฮสต์baseUrlของผู้ให้บริการที่กำหนดค่าไว้เท่านั้น ปลายทาง private, loopback, link-local และ metadata อื่น ๆ ยังคงต้องเลือกใช้อย่างชัดเจนด้วยmodels.providers.<id>.request.allowPrivateNetwork: true - หาก
baseUrlว่างหรือถูกละไว้ OpenClaw จะคงพฤติกรรม OpenAI เริ่มต้นไว้ (ซึ่ง resolve ไปที่api.openai.com) - เพื่อความปลอดภัย
compat.supportsDeveloperRole: trueที่ตั้งค่าไว้อย่างชัดเจนก็ยังถูก override บน endpointopenai-completionsที่ไม่ใช่แบบเนทีฟ - สำหรับ
api: "anthropic-messages"บน endpoint ที่ไม่ใช่โดยตรง (ผู้ให้บริการใด ๆ ที่ไม่ใช่anthropicตามมาตรฐาน หรือmodels.providers.anthropic.baseUrlแบบกำหนดเองที่โฮสต์ไม่ใช่ endpoint สาธารณะของapi.anthropic.com) OpenClaw จะระงับ header Anthropic beta โดยนัย เช่นclaude-code-20250219,interleaved-thinking-2025-05-14และเครื่องหมาย OAuth เพื่อให้พร็อกซีแบบกำหนดเองที่เข้ากันได้กับ Anthropic ไม่ปฏิเสธ beta flag ที่ไม่รองรับ ตั้งค่าmodels.providers.<id>.headers["anthropic-beta"]อย่างชัดเจนหากพร็อกซีของคุณต้องการฟีเจอร์ beta เฉพาะ
ตัวอย่าง CLI
openclaw onboard --auth-choice opencode-zen
openclaw models set opencode/claude-opus-4-6
openclaw models list
ดูเพิ่มเติม: การกำหนดค่า สำหรับตัวอย่างการกำหนดค่าแบบเต็ม
ที่เกี่ยวข้อง
- เอกสารอ้างอิงการกำหนดค่า - คีย์การกำหนดค่าโมเดล
- Model failover - ลำดับ fallback และพฤติกรรม retry
- โมเดล - การกำหนดค่าโมเดลและ alias
- ผู้ให้บริการ - คู่มือการตั้งค่าแยกตามผู้ให้บริการ