Concepts and configuration
ผู้ให้บริการโมเดล
ข้อมูลอ้างอิงสำหรับ ผู้ให้บริการ LLM/โมเดล (ไม่ใช่ช่องแชทอย่าง WhatsApp/Telegram) สำหรับกฎการเลือกโมเดล โปรดดู โมเดล
กฎแบบย่อ
การอ้างอิงโมเดลและตัวช่วย CLI
- การอ้างอิงโมเดลใช้รูปแบบ
provider/model(ตัวอย่าง:opencode/claude-opus-4-6) agents.defaults.modelsทำหน้าที่เป็น allowlist เมื่อกำหนดค่าไว้- ตัวช่วย CLI:
openclaw onboard,openclaw models list,openclaw models set <provider/model> models.providers.*.contextWindow/contextTokens/maxTokensตั้งค่าเริ่มต้นระดับผู้ให้บริการ;models.providers.*.models[].contextWindow/contextTokens/maxTokensจะแทนที่ค่าเหล่านั้นเป็นรายโมเดล- กฎ fallback, cooldown probes และการคงอยู่ของการแทนที่ระดับเซสชัน: Model failover
การเพิ่มการยืนยันตัวตนของผู้ให้บริการไม่เปลี่ยนโมเดลหลักของคุณ
openclaw configure จะคงค่า agents.defaults.model.primary ที่มีอยู่ไว้เมื่อคุณเพิ่มหรือยืนยันตัวตนผู้ให้บริการอีกครั้ง openclaw models auth login ทำแบบเดียวกัน เว้นแต่คุณจะส่ง --set-default Plugin ผู้ให้บริการอาจยังคืนค่าโมเดลเริ่มต้นที่แนะนำในแพตช์การกำหนดค่าการยืนยันตัวตน แต่ OpenClaw จะตีความค่านั้นว่า "ทำให้โมเดลนี้พร้อมใช้งาน" เมื่อมีโมเดลหลักอยู่แล้ว ไม่ใช่ "แทนที่โมเดลหลักปัจจุบัน"
หากต้องการสลับโมเดลเริ่มต้นโดยตั้งใจ ให้ใช้ openclaw models set <provider/model> หรือ openclaw models auth login --provider <id> --set-default
การแยกผู้ให้บริการ/รันไทม์ของ OpenAI
เส้นทางตระกูล OpenAI เจาะจงตามคำนำหน้า:
openai/<model>ใช้ฮาร์เนส app-server ของ Codex แบบเนทีฟสำหรับรอบการทำงานของ agent ตามค่าเริ่มต้น นี่คือการตั้งค่าการสมัครสมาชิก ChatGPT/Codex ที่ใช้กันทั่วไป- การอ้างอิงโมเดล Codex แบบเก่าเป็นการกำหนดค่าเดิมที่ doctor เขียนใหม่เป็น
openai/<model> openai/<model>พร้อม provider/modelagentRuntime.id: "openclaw"ใช้รันไทม์ในตัวของ OpenClaw สำหรับเส้นทาง API-key หรือความเข้ากันได้แบบชัดเจน
ดู OpenAI และ ฮาร์เนส Codex หากการแยกผู้ให้บริการ/รันไทม์ทำให้สับสน ให้อ่าน รันไทม์ของ Agent ก่อน
การเปิดใช้ Plugin อัตโนมัติใช้ขอบเขตเดียวกัน: การอ้างอิง agent แบบ openai/* เปิดใช้ Plugin Codex สำหรับเส้นทางเริ่มต้น และ provider/model agentRuntime.id: "codex" แบบชัดเจนหรือการอ้างอิงเดิม codex/<model> ก็ต้องใช้ Plugin นี้เช่นกัน
GPT-5.5 พร้อมใช้งานผ่านฮาร์เนส app-server ของ Codex แบบเนทีฟตามค่าเริ่มต้นบน openai/gpt-5.5 และผ่านรันไทม์ OpenClaw เมื่อนโยบายรันไทม์ provider/model เลือก openclaw อย่างชัดเจน
รันไทม์ CLI
รันไทม์ CLI ใช้การแยกแบบเดียวกัน: เลือกการอ้างอิงโมเดลมาตรฐาน เช่น anthropic/claude-* หรือ google/gemini-* จากนั้นตั้งนโยบายรันไทม์ provider/model เป็น claude-cli หรือ google-gemini-cli เมื่อคุณต้องการแบ็กเอนด์ CLI ในเครื่อง
การอ้างอิงเดิม claude-cli/* และ google-gemini-cli/* จะย้ายกลับเป็นการอ้างอิงผู้ให้บริการมาตรฐาน โดยบันทึกรันไทม์แยกต่างหาก การอ้างอิงเดิม codex-cli/* จะย้ายเป็น openai/* และใช้เส้นทาง app-server ของ Codex; OpenClaw ไม่เก็บแบ็กเอนด์ Codex CLI ที่ bundled ไว้อีกต่อไป
พฤติกรรมผู้ให้บริการที่ Plugin เป็นเจ้าของ
ตรรกะเฉพาะผู้ให้บริการส่วนใหญ่อยู่ใน Plugin ผู้ให้บริการ (registerProvider(...)) ขณะที่ OpenClaw รักษาลูป inference ทั่วไปไว้ Plugin เป็นเจ้าของ onboarding, แค็ตตาล็อกโมเดล, การแมป env-var สำหรับการยืนยันตัวตน, การทำให้ transport/config เป็นมาตรฐาน, การล้าง tool-schema, การจัดประเภท failover, การรีเฟรช OAuth, การรายงานการใช้งาน, โปรไฟล์ thinking/reasoning และอื่นๆ
รายการ hook ของ provider-SDK และตัวอย่าง bundled-plugin ทั้งหมดอยู่ใน Plugin ผู้ให้บริการ ผู้ให้บริการที่ต้องใช้ตัวดำเนินการคำขอแบบกำหนดเองทั้งหมดเป็นพื้นผิวส่วนขยายที่แยกต่างหากและลึกกว่า
การหมุนเวียนคีย์ API
แหล่งที่มาของคีย์และลำดับความสำคัญ
กำหนดค่าหลายคีย์ผ่าน:
OPENCLAW_LIVE_<PROVIDER>_KEY(การแทนที่ live แบบเดี่ยว ลำดับความสำคัญสูงสุด)<PROVIDER>_API_KEYS(รายการคั่นด้วยจุลภาคหรืออัฒภาค)<PROVIDER>_API_KEY(คีย์หลัก)<PROVIDER>_API_KEY_*(รายการแบบมีหมายเลข เช่น<PROVIDER>_API_KEY_1)
สำหรับผู้ให้บริการ Google จะรวม GOOGLE_API_KEY เป็น fallback ด้วย ลำดับการเลือกคีย์จะรักษาลำดับความสำคัญและตัดค่าซ้ำออก
เมื่อการหมุนเวียนเริ่มทำงาน
- คำขอจะลองใหม่ด้วยคีย์ถัดไปเฉพาะเมื่อได้รับการตอบกลับ rate-limit เท่านั้น (เช่น
429,rate_limit,quota,resource exhausted,Too many concurrent requests,ThrottlingException,concurrency limit reached,workers_ai ... quota limit exceededหรือข้อความขีดจำกัดการใช้งานเป็นระยะ) - ความล้มเหลวที่ไม่ใช่ rate-limit จะล้มเหลวทันที; จะไม่พยายามหมุนเวียนคีย์
- เมื่อคีย์ผู้สมัครทั้งหมดล้มเหลว ข้อผิดพลาดสุดท้ายจะถูกส่งคืนจากความพยายามครั้งสุดท้าย
Plugin ผู้ให้บริการทางการ
Plugin ผู้ให้บริการทางการเผยแพร่แถวแค็ตตาล็อกโมเดลของตนเอง ผู้ให้บริการเหล่านี้ไม่ต้องมีรายการโมเดล models.providers เลย; เปิดใช้ Plugin ผู้ให้บริการ ตั้งค่าการยืนยันตัวตน แล้วเลือกโมเดล ใช้ models.providers เฉพาะสำหรับผู้ให้บริการแบบกำหนดเองอย่างชัดเจนหรือการตั้งค่าคำขอเฉพาะทาง เช่น timeout
OpenAI
- ผู้ให้บริการ:
openai - การยืนยันตัวตน:
OPENAI_API_KEY - การหมุนเวียนเสริม:
OPENAI_API_KEYS,OPENAI_API_KEY_1,OPENAI_API_KEY_2รวมถึงOPENCLAW_LIVE_OPENAI_KEY(การแทนที่แบบเดี่ยว) - โมเดลตัวอย่าง:
openai/gpt-5.5,openai/gpt-5.4-mini - ตรวจสอบความพร้อมใช้งานของบัญชี/โมเดลด้วย
openclaw models list --provider openaiหากการติดตั้งหรือคีย์ API เฉพาะทำงานแตกต่างออกไป - CLI:
openclaw onboard --auth-choice openai-api-key - transport เริ่มต้นคือ
auto; OpenClaw ส่งตัวเลือก transport ไปยังรันไทม์โมเดลที่ใช้ร่วมกัน - แทนที่เป็นรายโมเดลผ่าน
agents.defaults.models["openai/<model>"].params.transport("sse","websocket"หรือ"auto") - การประมวลผลแบบลำดับความสำคัญของ OpenAI สามารถเปิดใช้ผ่าน
agents.defaults.models["openai/<model>"].params.serviceTier /fastและparams.fastModeแมปคำขอ Responses แบบตรงopenai/*เป็นservice_tier=priorityบนapi.openai.com- ใช้
params.serviceTierเมื่อคุณต้องการ tier แบบชัดเจนแทน toggle/fastที่ใช้ร่วมกัน - ส่วนหัวแสดงที่มาของ OpenClaw แบบซ่อน (
originator,version,User-Agent) ใช้เฉพาะกับทราฟฟิก OpenAI แบบเนทีฟไปยังapi.openai.comไม่ใช่ proxy ที่เข้ากันได้กับ OpenAI แบบทั่วไป - เส้นทาง OpenAI แบบเนทีฟยังคงเก็บ Responses
store, คำใบ้ prompt-cache และการจัดรูป payload สำหรับความเข้ากันได้กับ reasoning ของ OpenAI; เส้นทาง proxy ไม่ทำเช่นนั้น openai/gpt-5.3-codex-sparkพร้อมใช้งานผ่านการยืนยันตัวตนการสมัครสมาชิก OAuth ของ ChatGPT/Codex เมื่อบัญชีที่ลงชื่อเข้าใช้ของคุณเปิดเผยโมเดลนี้; OpenClaw ยังคงระงับเส้นทางคีย์ API ของ OpenAI โดยตรงและคีย์ API ของ Azure สำหรับโมเดลนี้ เพราะ transport เหล่านั้นปฏิเสธโมเดลนี้
{ agents: { defaults: { model: { primary: "openai/gpt-5.5" } } },}Anthropic
- ผู้ให้บริการ:
anthropic - การยืนยันตัวตน:
ANTHROPIC_API_KEY - การหมุนเวียนเสริม:
ANTHROPIC_API_KEYS,ANTHROPIC_API_KEY_1,ANTHROPIC_API_KEY_2รวมถึงOPENCLAW_LIVE_ANTHROPIC_KEY(การแทนที่แบบเดี่ยว) - โมเดลตัวอย่าง:
anthropic/claude-opus-4-6 - CLI:
openclaw onboard --auth-choice apiKey - คำขอ Anthropic สาธารณะแบบตรงรองรับ toggle
/fastและparams.fastModeที่ใช้ร่วมกัน รวมถึงทราฟฟิกที่ยืนยันตัวตนด้วยคีย์ API และ OAuth ที่ส่งไปยังapi.anthropic.com; OpenClaw แมปสิ่งนั้นเป็นservice_tierของ Anthropic (autoเทียบกับstandard_only) - การกำหนดค่า Claude CLI ที่แนะนำจะคงการอ้างอิงโมเดลไว้เป็นมาตรฐานและเลือกแบ็กเอนด์ CLI
แยกต่างหาก:
anthropic/claude-opus-4-8พร้อมagentRuntime.id: "claude-cli"ในขอบเขตโมเดล การอ้างอิงเดิมclaude-cli/claude-opus-4-7ยังคงทำงานเพื่อความเข้ากันได้
{ agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" } } },}OAuth ของ OpenAI ChatGPT/Codex
- ผู้ให้บริการ:
openai - การยืนยันตัวตน: OAuth (ChatGPT)
- การอ้างอิงโมเดล OpenAI Codex เดิม:
openai/gpt-5.5 - การอ้างอิงฮาร์เนส app-server ของ Codex แบบเนทีฟ:
openai/gpt-5.5 - เอกสารฮาร์เนส app-server ของ Codex แบบเนทีฟ: ฮาร์เนส Codex
- การอ้างอิงโมเดลเดิม:
codex/gpt-* - ขอบเขต Plugin:
openai/*โหลด Plugin OpenAI; Plugin app-server ของ Codex แบบเนทีฟถูกเลือกโดยรันไทม์ฮาร์เนส Codex - CLI:
openclaw onboard --auth-choice openaiหรือopenclaw models auth login --provider openai - transport เริ่มต้นคือ
auto(WebSocket ก่อน, SSE เป็น fallback) - แทนที่เป็นรายโมเดล OpenAI Codex ผ่าน
agents.defaults.models["openai/<model>"].params.transport("sse","websocket"หรือ"auto") params.serviceTierถูกส่งต่อบนคำขอ Responses ของ Codex แบบเนทีฟด้วย (chatgpt.com/backend-api)- ส่วนหัวแสดงที่มาของ OpenClaw แบบซ่อน (
originator,version,User-Agent) จะแนบเฉพาะกับทราฟฟิก Codex แบบเนทีฟไปยังchatgpt.com/backend-apiไม่ใช่ proxy ที่เข้ากันได้กับ OpenAI แบบทั่วไป - ใช้ toggle
/fastและการกำหนดค่าparams.fastModeเดียวกันกับopenai/*แบบตรง; OpenClaw แมปสิ่งนั้นเป็นservice_tier=priority openai/gpt-5.5ใช้contextWindow = 400000แบบเนทีฟของแค็ตตาล็อก Codex และรันไทม์เริ่มต้นcontextTokens = 272000; แทนที่ขีดจำกัดรันไทม์ด้วยmodels.providers.openai.models[].contextTokens- หมายเหตุนโยบาย: OAuth ของ OpenAI Codex รองรับอย่างชัดเจนสำหรับเครื่องมือ/เวิร์กโฟลว์ภายนอก เช่น OpenClaw
- สำหรับเส้นทางการสมัครสมาชิกทั่วไปพร้อมรันไทม์ Codex แบบเนทีฟ ให้ลงชื่อเข้าใช้ด้วยการยืนยันตัวตน
openaiและกำหนดค่าopenai/gpt-5.5; รอบการทำงานของ agent OpenAI จะเลือก Codex ตามค่าเริ่มต้น - ใช้ provider/model
agentRuntime.id: "openclaw"เฉพาะเมื่อคุณต้องการเส้นทาง OpenClaw ในตัว; มิฉะนั้นให้คงopenai/gpt-5.5ไว้บนฮาร์เนส Codex เริ่มต้น - การอ้างอิง GPT ของ Codex เดิมเป็นสถานะเดิม ไม่ใช่เส้นทางผู้ให้บริการ live ใช้
openai/gpt-5.5บนรันไทม์ Codex แบบเนทีฟสำหรับการกำหนดค่า agent ใหม่ และเรียกใช้openclaw doctor --fixเพื่อย้ายการอ้างอิงโมเดล Codex เดิมเก่าไปเป็นการอ้างอิงมาตรฐานopenai/*
{ plugins: { entries: { codex: { enabled: true } } }, agents: { defaults: { model: { primary: "openai/gpt-5.5" }, }, },}{ models: { providers: { openai: { models: [{ id: "gpt-5.5", contextTokens: 160000 }], }, }, },}ตัวเลือกโฮสต์แบบสมัครสมาชิกอื่นๆ
แผน Coding ของ Z.AI หรือ endpoint API ทั่วไป
OAuth ของแผน Coding ของ MiniMax หรือการเข้าถึงด้วยคีย์ API
พื้นผิวผู้ให้บริการ Qwen Cloud พร้อม Alibaba DashScope และการแมป endpoint ของแผน Coding
OpenCode
- การยืนยันตัวตน:
OPENCODE_API_KEY(หรือOPENCODE_ZEN_API_KEY) - ผู้ให้บริการรันไทม์ Zen:
opencode - ผู้ให้บริการรันไทม์ Go:
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)
- ผู้ให้บริการ:
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 ที่รวมมาให้
ติดตั้ง Gemini CLI
brew
brew install gemini-clinpm
npm install -g @google/gemini-cliเปิดใช้ Plugin
openclaw plugins enable googleเข้าสู่ระบบ
openclaw models auth login --provider google-gemini-cli --set-defaultโมเดลเริ่มต้น: google-gemini-cli/gemini-3-flash-preview คุณ ไม่ ต้องวางรหัสไคลเอนต์หรือข้อมูลลับลงใน openclaw.json โฟลว์เข้าสู่ระบบของ CLI จะจัดเก็บโทเค็นไว้ในโปรไฟล์การยืนยันตัวตนบนโฮสต์ Gateway
ตั้งค่าโปรเจกต์ (หากจำเป็น)
หากคำขอล้มเหลวหลังเข้าสู่ระบบ ให้ตั้งค่า GOOGLE_CLOUD_PROJECT หรือ GOOGLE_CLOUD_PROJECT_ID บนโฮสต์ Gateway
Gemini CLI ใช้ stream-json เป็นค่าเริ่มต้น OpenClaw อ่านข้อความสตรีมของผู้ช่วย
และทำให้ stats.cached เป็นมาตรฐานเป็น cacheRead; การเขียนทับแบบเดิม
--output-format json ยังอ่านข้อความตอบกลับจาก response
Z.AI (GLM)
- ผู้ให้บริการ:
zai - การยืนยันตัวตน:
ZAI_API_KEY - โมเดลตัวอย่าง:
zai/glm-5.2 - CLI:
openclaw onboard --auth-choice zai-api-key- การอ้างอิงโมเดลใช้รหัสผู้ให้บริการมาตรฐาน
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
Plugin ผู้ให้บริการอื่นที่รวมมาให้
| ผู้ให้บริการ | รหัส | env การยืนยันตัวตน | โมเดลตัวอย่าง |
|---|---|---|---|
| BytePlus | byteplus / byteplus-plan |
BYTEPLUS_API_KEY |
byteplus-plan/ark-code-latest |
| Cohere | cohere |
COHERE_API_KEY |
cohere/command-a-03-2025 |
| GitHub Copilot | github-copilot |
COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN |
- |
| Hugging Face Inference | huggingface |
HUGGINGFACE_HUB_TOKEN or HF_TOKEN |
huggingface/deepseek-ai/DeepSeek-R1 |
| MiniMax | minimax / minimax-portal |
MINIMAX_API_KEY / MINIMAX_OAUTH_TOKEN |
minimax/MiniMax-M3 |
| 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-ultra-550b-a55b |
| NovitaAI | novita |
NOVITA_API_KEY |
novita/deepseek/deepseek-v3-0324 |
| Ollama Cloud | ollama-cloud |
OLLAMA_API_KEY |
ollama-cloud/kimi-k2.6 |
| OpenRouter | openrouter |
OpenRouter OAuth หรือ OPENROUTER_API_KEY |
openrouter/auto |
| Qwen OAuth | qwen-oauth |
QWEN_API_KEY |
qwen-oauth/qwen3.5-plus |
| Together | together |
TOGETHER_API_KEY |
together/meta-llama/Llama-3.3-70B-Instruct-Turbo |
| 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 |
SuperGrok/X Premium OAuth หรือ XAI_API_KEY |
xai/grok-4.3 |
| Xiaomi | xiaomi / xiaomi-token-plan |
XIAOMI_API_KEY / XIAOMI_TOKEN_PLAN_API_KEY |
xiaomi/mimo-v2-flash / xiaomi-token-plan/mimo-v2.5-pro |
ข้อควรรู้เฉพาะบางอย่าง
OpenRouter
ใช้ส่วนหัวการระบุแอปและมาร์กเกอร์ cache_control ของ Anthropic เฉพาะบนเส้นทาง openrouter.ai ที่ยืนยันแล้วเท่านั้น การอ้างอิง DeepSeek, Moonshot, และ ZAI มีสิทธิ์ใช้ cache-TTL สำหรับการแคชพรอมป์ที่ OpenRouter จัดการ แต่จะไม่ได้รับมาร์กเกอร์แคชของ Anthropic ในฐานะเส้นทางพร็อกซีที่เข้ากันได้กับ OpenAI จะข้ามการปรับรูปแบบที่เป็นเนทีฟของ OpenAI เท่านั้น (serviceTier, Responses store, คำใบ้แคชพรอมป์, ความเข้ากันได้ของการให้เหตุผลของ OpenAI) การอ้างอิงที่หนุนด้วย Gemini จะคงไว้เฉพาะการทำความสะอาดลายเซ็นความคิดของ proxy-Gemini
Kilo Gateway
การอ้างอิงที่หนุนด้วย Gemini ใช้เส้นทางการทำความสะอาด proxy-Gemini เดียวกัน; kilocode/kilo/auto และการอ้างอิงอื่นที่พร็อกซีไม่รองรับการให้เหตุผลจะข้ามการฉีดการให้เหตุผลของพร็อกซี
MiniMax
การเริ่มต้นใช้งานด้วยคีย์ API เขียนคำจำกัดความโมเดลแชต M3 และ 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 เส้นทางที่แนะนำคือ SuperGrok/X Premium OAuth; คีย์ API ยังใช้งานได้ผ่าน XAI_API_KEY หรือการกำหนดค่า Plugin และ Grok web_search ใช้โปรไฟล์การยืนยันตัวตนเดียวกันซ้ำก่อนสำรองไปใช้คีย์ API grok-4.3 เป็นโมเดลแชตเริ่มต้นที่รวมมาให้ และเลือก grok-build-0.1 ได้สำหรับงานที่เน้นการสร้าง/เขียนโค้ด /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
ผู้ให้บริการผ่าน models.providers (URL แบบกำหนดเอง/ฐาน)
ใช้ models.providers (หรือ models.json) เพื่อเพิ่มผู้ให้บริการ กำหนดเอง หรือพร็อกซีที่เข้ากันได้กับ OpenAI/Anthropic
Plugin ผู้ให้บริการที่รวมมาให้หลายรายการด้านล่างเผยแพร่แค็ตตาล็อกเริ่มต้นอยู่แล้ว ใช้รายการ models.providers.<id> แบบชัดเจนเฉพาะเมื่อคุณต้องการเขียนทับ URL ฐาน ส่วนหัว หรือรายการโมเดลเริ่มต้นเท่านั้น
การตรวจสอบความสามารถของโมเดลใน Gateway ยังอ่านเมทาดาทา models.providers.<id>.models[] ที่ระบุอย่างชัดเจนด้วย หากโมเดลแบบกำหนดเองหรือโมเดล proxy รับรูปภาพได้ ให้ตั้งค่า input: ["text", "image"] บนโมเดลนั้น เพื่อให้ WebChat และเส้นทางไฟล์แนบที่มีต้นทางจากโหนดส่งรูปภาพเป็นอินพุตโมเดลแบบเนทีฟ แทนที่จะเป็นการอ้างอิงสื่อแบบข้อความเท่านั้น
agents.defaults.models["provider/model"] ควบคุมเฉพาะการมองเห็นโมเดล นามแฝง และเมทาดาทารายโมเดลสำหรับเอเจนต์เท่านั้น ไม่ได้ลงทะเบียนโมเดลรันไทม์ใหม่ด้วยตัวเอง สำหรับโมเดลของผู้ให้บริการแบบกำหนดเอง ให้เพิ่ม models.providers.<provider>.models[] ด้วย โดยอย่างน้อยต้องมี id ที่ตรงกัน
Moonshot AI (Kimi)
ติดตั้ง @openclaw/moonshot-provider ก่อนเริ่ม onboarding เพิ่มรายการ 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.7-codemoonshot/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
Kimi Coding ใช้ endpoint ของ Moonshot AI ที่เข้ากันได้กับ Anthropic:
- ผู้ให้บริการ:
kimi - การยืนยันตัวตน:
KIMI_API_KEY - โมเดลตัวอย่าง:
kimi/kimi-for-coding
{ env: { KIMI_API_KEY: "sk-..." }, agents: { defaults: { model: { primary: "kimi/kimi-for-coding" } }, },}kimi/kimi-code และ kimi/k2p5 แบบเดิมยังคงยอมรับเป็นรหัสโมเดลสำหรับความเข้ากันได้ และจะถูกทำให้เป็นรหัสโมเดล API เสถียรของ Kimi
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 เนื่องจากใช้ปลายทางแบบกำหนดเอง:
- MiniMax OAuth (ทั่วโลก):
--auth-choice minimax-global-oauth - MiniMax OAuth (จีน):
--auth-choice minimax-cn-oauth - คีย์ API ของ MiniMax (ทั่วโลก):
--auth-choice minimax-global-api - คีย์ API ของ MiniMax (จีน):
--auth-choice minimax-cn-api - การยืนยันตัวตน:
MINIMAX_API_KEYสำหรับminimax;MINIMAX_OAUTH_TOKENหรือMINIMAX_API_KEYสำหรับminimax-portal
ดู /providers/minimax สำหรับรายละเอียดการตั้งค่า ตัวเลือกโมเดล และตัวอย่างการกำหนดค่า
การแบ่งความสามารถที่ Plugin เป็นเจ้าของ:
- ค่าเริ่มต้นของข้อความ/แชตยังคงอยู่บน
minimax/MiniMax-M3 - การสร้างภาพคือ
minimax/image-01หรือminimax-portal/image-01 - การทำความเข้าใจภาพคือ
MiniMax-VL-01ที่ Plugin เป็นเจ้าของบนเส้นทางการยืนยันตัวตน MiniMax ทั้งสองแบบ - การค้นหาเว็บยังคงอยู่บนรหัสผู้ให้บริการ
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 เป็นเจ้าของวงจรชีวิตของโมเดล ให้ตั้งค่า 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 โหมดคลาวด์/ภายในเครื่อง และการกำหนดค่าแบบกำหนดเอง
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"บนปลายทางที่ไม่ใช่ดั้งเดิม (ทุกbaseUrlที่ไม่ว่างและมีโฮสต์ไม่ใช่api.openai.com) OpenClaw จะบังคับcompat.supportsDeveloperRole: falseเพื่อหลีกเลี่ยงข้อผิดพลาด 400 จากผู้ให้บริการสำหรับบทบาทdeveloperที่ไม่รองรับ - เส้นทางแบบพร็อกซีที่เข้ากันได้กับ OpenAI จะข้ามการจัดรูปคำขอที่ใช้เฉพาะ OpenAI ดั้งเดิมด้วย: ไม่มี
service_tier, ไม่มี Responsesstore, ไม่มี Completionsstore, ไม่มีคำใบ้ prompt-cache, ไม่มีการจัดรูป payload เพื่อความเข้ากันได้กับ reasoning ของ OpenAI และไม่มีส่วนหัวแสดงที่มาของ OpenClaw แบบซ่อน - สำหรับพร็อกซี Completions ที่เข้ากันได้กับ OpenAI ซึ่งต้องใช้ฟิลด์เฉพาะผู้ขาย ให้ตั้งค่า
agents.defaults.models["provider/model"].params.extra_body(หรือextraBody) เพื่อผสาน JSON เพิ่มเติมเข้ากับเนื้อความคำขอขาออก - สำหรับการควบคุม chat-template ของ vLLM ให้ตั้งค่า
agents.defaults.models["provider/model"].params.chat_template_kwargsPlugin vLLM แบบบันเดิลจะส่งenable_thinking: falseและforce_nonempty_content: trueโดยอัตโนมัติสำหรับvllm/nemotron-3-*เมื่อระดับ thinking ของเซสชันปิดอยู่ - สำหรับโมเดลภายในเครื่องที่ช้าหรือโฮสต์ LAN/tailnet ระยะไกล ให้ตั้งค่า
models.providers.<id>.timeoutSecondsค่านี้ขยายการจัดการคำขอ HTTP ของโมเดลผู้ให้บริการ รวมถึงการเชื่อมต่อ ส่วนหัว การสตรีมเนื้อความ และการยกเลิก guarded-fetch ทั้งหมด โดยไม่เพิ่ม timeout ของรันเอเจนต์ทั้งหมด หากagents.defaults.timeoutSecondsหรือ timeout เฉพาะรันต่ำกว่า ให้เพิ่มเพดานนั้นด้วย; timeout ของผู้ให้บริการไม่สามารถขยายรันทั้งหมดได้ - การเรียก HTTP ของผู้ให้บริการโมเดลอนุญาตคำตอบ DNS แบบ fake-IP ของ Surge, Clash และ sing-box ใน
198.18.0.0/15และfc00::/7เฉพาะสำหรับชื่อโฮสต์baseUrlของผู้ให้บริการที่กำหนดค่าไว้เท่านั้น ปลายทางผู้ให้บริการแบบกำหนดเอง/ภายในเครื่องยังเชื่อถือ originscheme://host:portที่กำหนดค่าไว้อย่างตรงกันสำหรับคำขอโมเดลที่มีการป้องกัน รวมถึงโฮสต์ loopback, LAN และ tailnet นี่ไม่ใช่ตัวเลือกการกำหนดค่าใหม่;baseUrlที่คุณกำหนดค่าจะขยายนโยบายคำขอเฉพาะสำหรับ origin นั้นเท่านั้น การอนุญาตชื่อโฮสต์ fake-IP และการเชื่อถือ exact-origin เป็นกลไกอิสระต่อกัน ปลายทางส่วนตัว, loopback, link-local, metadata อื่น ๆ และพอร์ตที่ต่างกันยังต้องเลือกใช้models.providers.<id>.request.allowPrivateNetwork: trueอย่างชัดเจน ตั้งค่าmodels.providers.<id>.request.allowPrivateNetwork: falseเพื่อเลือกไม่ใช้การเชื่อถือ exact-origin - หาก
baseUrlว่าง/ละไว้ OpenClaw จะคงพฤติกรรมเริ่มต้นของ OpenAI (ซึ่งแก้เป็นapi.openai.com) - เพื่อความปลอดภัย
compat.supportsDeveloperRole: trueที่ตั้งอย่างชัดเจนจะยังถูกแทนที่บนปลายทางopenai-completionsที่ไม่ใช่ดั้งเดิม - สำหรับ
api: "anthropic-messages"บนปลายทางที่ไม่ใช่แบบตรง (ผู้ให้บริการใด ๆ นอกเหนือจากanthropicตามแบบแผน หรือmodels.providers.anthropic.baseUrlแบบกำหนดเองที่มีโฮสต์ไม่ใช่ปลายทางapi.anthropic.comสาธารณะ) OpenClaw จะระงับส่วนหัว Anthropic beta แบบแฝง เช่นclaude-code-20250219,interleaved-thinking-2025-05-14และเครื่องหมาย OAuth เพื่อให้พร็อกซีแบบกำหนดเองที่เข้ากันได้กับ Anthropic ไม่ปฏิเสธแฟล็ก beta ที่ไม่รองรับ ตั้งค่าmodels.providers.<id>.headers["anthropic-beta"]อย่างชัดเจนหากพร็อกซีของคุณต้องใช้ฟีเจอร์ beta เฉพาะ
ตัวอย่าง CLI
openclaw onboard --auth-choice opencode-zenopenclaw models set opencode/claude-opus-4-6openclaw models listดูเพิ่มเติม: การกำหนดค่า สำหรับตัวอย่างการกำหนดค่าแบบครบถ้วน
ที่เกี่ยวข้อง
- ข้อมูลอ้างอิงการกำหนดค่า - คีย์การกำหนดค่าโมเดล
- Model failover - เชน fallback และพฤติกรรมการลองใหม่
- โมเดล - การกำหนดค่าโมเดลและ alias
- ผู้ให้บริการ - คู่มือการตั้งค่ารายผู้ให้บริการ