CLI commands
โมเดล
openclaw models
การค้นพบ การสแกน และการกำหนดค่าโมเดล (โมเดลเริ่มต้น ตัวสำรอง โปรไฟล์การยืนยันตัวตน)
ที่เกี่ยวข้อง:
- ผู้ให้บริการ + โมเดล: โมเดล
- แนวคิดการเลือกโมเดล + คำสั่งสแลช
/models: แนวคิดเกี่ยวกับโมเดล - การตั้งค่าการยืนยันตัวตนของผู้ให้บริการ: เริ่มต้นใช้งาน
คำสั่งทั่วไป
openclaw models statusopenclaw models listopenclaw models set <model-or-alias>openclaw models scanopenclaw models status แสดงค่าเริ่มต้น/ตัวสำรองที่ถูกแก้ค่าแล้ว พร้อมภาพรวมการยืนยันตัวตน
เมื่อมีสแนปช็อตการใช้งานของผู้ให้บริการ ส่วนสถานะ OAuth/API-key จะรวม
ช่วงเวลาการใช้งานของผู้ให้บริการและสแนปช็อตโควตา
ผู้ให้บริการช่วงเวลาการใช้งานปัจจุบัน: Anthropic, GitHub Copilot, Gemini CLI, OpenAI,
MiniMax, Xiaomi และ z.ai การยืนยันตัวตนการใช้งานมาจากฮุกเฉพาะผู้ให้บริการ
เมื่อมีให้ใช้ มิฉะนั้น OpenClaw จะย้อนกลับไปจับคู่ข้อมูลรับรอง OAuth/API-key
จากโปรไฟล์การยืนยันตัวตน env หรือ config
ในเอาต์พุต --json นั้น auth.providers คือภาพรวมผู้ให้บริการที่รับรู้
env/config/store ขณะที่ auth.oauth คือสุขภาพของโปรไฟล์ในที่เก็บการยืนยันตัวตนเท่านั้น
เพิ่ม --probe เพื่อเรียกใช้การตรวจสอบการยืนยันตัวตนแบบสดกับโปรไฟล์ผู้ให้บริการแต่ละรายการที่กำหนดค่าไว้
การตรวจสอบเป็นคำขอจริง (อาจใช้โทเค็นและทำให้เกิดขีดจำกัดอัตรา)
ใช้ --agent <id> เพื่อตรวจสอบสถานะโมเดล/การยืนยันตัวตนของเอเจนต์ที่กำหนดค่าไว้ เมื่อไม่ระบุ
คำสั่งจะใช้ OPENCLAW_AGENT_DIR หากตั้งค่าไว้ มิฉะนั้นจะใช้
เอเจนต์เริ่มต้นที่กำหนดค่าไว้
แถวการตรวจสอบอาจมาจากโปรไฟล์การยืนยันตัวตน ข้อมูลรับรอง env หรือ models.json
สำหรับการแก้ปัญหา OpenAI ChatGPT/Codex OAuth, openclaw models status,
openclaw models auth list --provider openai และ
openclaw config get agents.defaults.model --json เป็นวิธีที่เร็วที่สุดในการ
ยืนยันว่าเอเจนต์มีโปรไฟล์ OAuth openai ที่ใช้ได้สำหรับ
openai/* ผ่านรันไทม์ Codex แบบเนทีฟหรือไม่ ดู การตั้งค่าผู้ให้บริการ OpenAI
หมายเหตุ:
models set <model-or-alias>รับprovider/modelหรือ aliasmodels listเป็นแบบอ่านอย่างเดียว: จะอ่าน config, โปรไฟล์การยืนยันตัวตน, สถานะแค็ตตาล็อกที่มีอยู่ และแถวแค็ตตาล็อกที่ผู้ให้บริการเป็นเจ้าของ แต่จะไม่เขียนmodels.jsonใหม่- คอลัมน์
Authเป็นระดับผู้ให้บริการและอ่านอย่างเดียว โดยคำนวณจากเมทาดาทา โปรไฟล์การยืนยันตัวตนภายในเครื่อง เครื่องหมาย env คีย์ผู้ให้บริการที่กำหนดค่าไว้ เครื่องหมายผู้ให้บริการภายในเครื่อง เครื่องหมาย env/profile ของ AWS Bedrock และเมทาดาทาการยืนยันตัวตนสังเคราะห์ของ Plugin; คอลัมน์นี้จะไม่โหลดรันไทม์ผู้ให้บริการ อ่านความลับใน keychain เรียก API ของผู้ให้บริการ หรือพิสูจน์ความพร้อมในการรันแบบรายโมเดลอย่างแน่นอน models list --all --provider <id>อาจรวมแถวแค็ตตาล็อกแบบคงที่ที่ผู้ให้บริการเป็นเจ้าของ จาก manifest ของ Plugin หรือเมทาดาทาแค็ตตาล็อกผู้ให้บริการที่บันเดิลมา แม้เมื่อคุณ ยังไม่ได้ยืนยันตัวตนกับผู้ให้บริการนั้น แถวเหล่านั้นจะยังแสดงเป็น ไม่พร้อมใช้งานจนกว่าจะกำหนดค่าการยืนยันตัวตนที่ตรงกันmodels listทำให้ control plane ตอบสนองได้ต่อไปในขณะที่การค้นพบแค็ตตาล็อกของผู้ให้บริการ ทำงานช้า มุมมองเริ่มต้นและมุมมองที่กำหนดค่าไว้จะย้อนกลับไปใช้แถวโมเดลที่กำหนดค่าไว้หรือ แถวโมเดลสังเคราะห์หลังจากรอสั้น ๆ และปล่อยให้การค้นพบจบใน เบื้องหลัง ใช้--allเมื่อคุณต้องการแค็ตตาล็อกทั้งหมดที่ค้นพบอย่างแน่นอนและ ยินดีรอการค้นพบของผู้ให้บริการmodels list --allแบบกว้างจะผสานแถวแค็ตตาล็อกจาก manifest ทับแถวจาก registry โดยไม่โหลดฮุกเสริมของรันไทม์ผู้ให้บริการ เส้นทางลัด manifest ที่กรองตามผู้ให้บริการ ใช้เฉพาะผู้ให้บริการที่ทำเครื่องหมายเป็นstatic; ผู้ให้บริการที่ทำเครื่องหมายเป็นrefreshableจะยังอิง registry/cache และต่อท้ายแถว manifest เป็นส่วนเสริม ขณะที่ ผู้ให้บริการที่ทำเครื่องหมายเป็นruntimeจะยังอยู่บนการค้นพบจาก registry/runtimemodels listแยกเมทาดาทาโมเดลแบบเนทีฟออกจากขีดจำกัดรันไทม์ ในเอาต์พุตตารางCtxแสดงcontextTokens/contextWindowเมื่อขีดจำกัดรันไทม์ที่มีผล แตกต่างจากหน้าต่างบริบทแบบเนทีฟ; แถว JSON จะรวมcontextTokensเมื่อผู้ให้บริการเปิดเผยขีดจำกัดนั้นmodels list --provider <id>กรองตาม id ผู้ให้บริการ เช่นmoonshotหรือopenaiโดยไม่รับป้ายชื่อที่แสดงจากตัวเลือกผู้ให้บริการแบบโต้ตอบ เช่นMoonshot AI- การอ้างอิงโมเดลถูกแยกโดยแบ่งที่
/ตัว แรก หาก model ID มี/(แบบ OpenRouter) ให้ใส่คำนำหน้าผู้ให้บริการด้วย (ตัวอย่าง:openrouter/moonshotai/kimi-k2) - หากคุณละเว้นผู้ให้บริการ OpenClaw จะแก้ค่าอินพุตเป็น alias ก่อน จากนั้น เป็นการจับคู่ผู้ให้บริการที่กำหนดค่าไว้แบบไม่ซ้ำสำหรับ model id นั้นพอดี และหลังจากนั้นเท่านั้น จึงย้อนกลับไปใช้ผู้ให้บริการเริ่มต้นที่กำหนดค่าไว้พร้อมคำเตือนการเลิกใช้ หากผู้ให้บริการนั้นไม่เปิดเผยโมเดลเริ่มต้นที่กำหนดค่าไว้อีกต่อไป OpenClaw จะย้อนกลับไปใช้ผู้ให้บริการ/โมเดลที่กำหนดค่าไว้รายการแรกแทนการแสดง ค่าเริ่มต้นของผู้ให้บริการที่ถูกลบออกและล้าสมัย
models statusอาจแสดงmarker(<value>)ในเอาต์พุตการยืนยันตัวตนสำหรับ placeholder ที่ไม่ใช่ความลับ (เช่นOPENAI_API_KEY,secretref-managed,minimax-oauth,oauth:chutes,ollama-local) แทนการปิดบังเป็นความลับ
การสแกนโมเดล
models scan อ่านแค็ตตาล็อกสาธารณะ :free ของ OpenRouter และจัดอันดับตัวเลือกสำหรับ
การใช้เป็นตัวสำรอง ตัวแค็ตตาล็อกเป็นสาธารณะ ดังนั้นการสแกนเฉพาะเมทาดาทาจึงไม่ต้องใช้
คีย์ OpenRouter
โดยค่าเริ่มต้น OpenClaw จะพยายามตรวจสอบการรองรับเครื่องมือและรูปภาพด้วยการเรียกโมเดลแบบสด
หากไม่ได้กำหนดค่าคีย์ OpenRouter คำสั่งจะย้อนกลับไปใช้เอาต์พุตเฉพาะเมทาดาทา
และอธิบายว่าโมเดล :free ยังคงต้องใช้ OPENROUTER_API_KEY สำหรับ
การตรวจสอบและการอนุมาน
ตัวเลือก:
--no-probe(เฉพาะเมทาดาทา; ไม่ค้นหา config/secrets)--min-params <b>--max-age-days <days>--provider <name>--max-candidates <n>--timeout <ms>(คำขอแค็ตตาล็อกและเวลาหมดอายุต่อการตรวจสอบ)--concurrency <n>--yes--no-input--set-default--set-image--json
--set-default และ --set-image ต้องใช้การตรวจสอบแบบสด; ผลการสแกนเฉพาะเมทาดาทา
เป็นข้อมูลประกอบและจะไม่ถูกนำไปใช้กับ config
สถานะโมเดล
ตัวเลือก:
--json--plain--check(ออก 1=หมดอายุ/ขาดหาย, 2=ใกล้หมดอายุ)--probe(ตรวจสอบโปรไฟล์การยืนยันตัวตนที่กำหนดค่าไว้แบบสด)--probe-provider <name>(ตรวจสอบผู้ให้บริการหนึ่งราย)--probe-profile <id>(id โปรไฟล์แบบซ้ำหรือคั่นด้วยจุลภาค)--probe-timeout <ms>--probe-concurrency <n>--probe-max-tokens <n>--agent <id>(id เอเจนต์ที่กำหนดค่าไว้; แทนที่OPENCLAW_AGENT_DIR)
--json สงวน stdout ไว้สำหรับเพย์โหลด JSON การวินิจฉัยโปรไฟล์การยืนยันตัวตน ผู้ให้บริการ
และการเริ่มต้นจะถูกส่งไปยัง stderr เพื่อให้สคริปต์สามารถ pipe stdout โดยตรง
เข้าเครื่องมือ เช่น jq
กลุ่มสถานะการตรวจสอบ:
okauthrate_limitbillingtimeoutformatunknownno_model
กรณีรายละเอียด/รหัสเหตุผลของการตรวจสอบที่ควรคาดไว้:
excluded_by_auth_order: มีโปรไฟล์ที่เก็บไว้ แต่auth.order.<provider>ที่ระบุชัดเจน ละเว้นโปรไฟล์นั้น ดังนั้นการตรวจสอบจึงรายงานการถูกยกเว้นแทนการ ลองใช้โปรไฟล์นั้นmissing_credential,invalid_expires,expired,unresolved_ref: มีโปรไฟล์อยู่แต่ไม่เข้าเกณฑ์/แก้ค่าไม่ได้no_model: มีการยืนยันตัวตนของผู้ให้บริการ แต่ OpenClaw ไม่สามารถแก้ค่า ตัวเลือกโมเดลที่ตรวจสอบได้สำหรับผู้ให้บริการนั้น
Alias + ตัวสำรอง
openclaw models aliases listopenclaw models fallbacks listโปรไฟล์การยืนยันตัวตน
openclaw models auth addopenclaw models auth list [--provider <id>] [--json]openclaw models auth login --provider <id>openclaw models auth login --provider openai --profile-id openai:workopenclaw models auth paste-api-key --provider <id>openclaw models auth setup-token --provider <id>openclaw models auth paste-tokenmodels auth add เป็นตัวช่วยการยืนยันตัวตนแบบโต้ตอบ สามารถเริ่ม flow การยืนยันตัวตนของผู้ให้บริการ
(OAuth/API key) หรือนำทางคุณไปสู่การวางโทเค็นด้วยตนเอง ขึ้นอยู่กับ
ผู้ให้บริการที่คุณเลือก
models auth list แสดงรายการโปรไฟล์การยืนยันตัวตนที่บันทึกไว้สำหรับเอเจนต์ที่เลือกโดยไม่
พิมพ์โทเค็น API-key หรือวัสดุความลับ OAuth ใช้ --provider <id> เพื่อ
กรองไปยังผู้ให้บริการหนึ่งราย เช่น openai และใช้ --json สำหรับการเขียนสคริปต์
models auth login เรียกใช้ flow การยืนยันตัวตนของ Plugin ผู้ให้บริการ (OAuth/API key) ใช้
openclaw plugins list เพื่อดูว่ามีผู้ให้บริการใดติดตั้งอยู่บ้าง
ใช้ openclaw models auth --agent <id> <subcommand> เพื่อเขียนผลการยืนยันตัวตนไปยัง
ที่เก็บของเอเจนต์ที่กำหนดค่าไว้โดยเฉพาะ แฟล็ก --agent ของคำสั่งแม่ถูกเคารพโดย
add, list, login, paste-api-key, setup-token, paste-token และ
login-github-copilot
สำหรับโมเดล OpenAI, --provider openai มีค่าเริ่มต้นเป็นการเข้าสู่ระบบบัญชี ChatGPT/Codex
ใช้ --method api-key เฉพาะเมื่อคุณต้องการเพิ่มโปรไฟล์ OpenAI API-key
โดยปกติเป็นข้อมูลสำรองสำหรับขีดจำกัดการสมัครสมาชิก Codex เรียกใช้ openclaw doctor --fix
เพื่อย้ายสถานะการยืนยันตัวตน/โปรไฟล์ prefix OpenAI Codex แบบเดิมไปยัง openai
ตัวอย่าง:
openclaw models auth login --provider openai --set-defaultopenclaw models auth login --provider openai --method api-keyopenclaw models auth paste-api-key --provider openaiopenclaw models auth list --provider openaiหมายเหตุ:
loginรับ--profile-id <id>สำหรับผู้ให้บริการที่รองรับโปรไฟล์ที่มีชื่อ ระหว่างการเข้าสู่ระบบ ใช้สิ่งนี้เพื่อแยกการเข้าสู่ระบบหลายรายการสำหรับ ผู้ให้บริการเดียวกันpaste-api-keyรับ API key ที่สร้างจากที่อื่น แจ้งให้ป้อนค่า key และเขียนไปยัง id โปรไฟล์เริ่มต้น<provider>:manualเว้นแต่คุณ ส่ง--profile-idในระบบอัตโนมัติ ให้ pipe key บน stdin เช่นprintf "%s\n" "$OPENAI_API_KEY" | openclaw models auth paste-api-key --provider openaisetup-tokenและpaste-tokenยังคงเป็นคำสั่งโทเค็นทั่วไปสำหรับผู้ให้บริการ ที่เปิดเผยวิธีการยืนยันตัวตนด้วยโทเค็นsetup-tokenต้องใช้ TTY แบบโต้ตอบและเรียกใช้วิธีการยืนยันตัวตนด้วยโทเค็นของผู้ให้บริการ (ค่าเริ่มต้นเป็นวิธีsetup-tokenของผู้ให้บริการนั้นเมื่อเปิดเผย วิธีดังกล่าว)paste-tokenรับสตริงโทเค็นที่สร้างจากที่อื่นหรือจากระบบอัตโนมัติpaste-tokenต้องใช้--providerแจ้งให้ป้อนค่าโทเค็นตามค่าเริ่มต้น และเขียนไปยัง id โปรไฟล์เริ่มต้น<provider>:manualเว้นแต่คุณส่ง--profile-id- ในระบบอัตโนมัติ ให้ pipe โทเค็นบน stdin แทนการส่งเป็นอาร์กิวเมนต์ เพื่อให้ ข้อมูลรับรองผู้ให้บริการไม่ปรากฏในประวัติ shell หรือรายการ process
paste-token --expires-in <duration>จัดเก็บเวลาหมดอายุของโทเค็นแบบสัมบูรณ์จาก ระยะเวลาสัมพัทธ์ เช่น365dหรือ12h- สำหรับ
openai, OpenAI API key และวัสดุโทเค็น ChatGPT/OAuth เป็น รูปแบบการยืนยันตัวตนที่ต่างกัน ใช้paste-api-keyสำหรับ OpenAI API key แบบsk-...และ ใช้paste-tokenเฉพาะสำหรับวัสดุการยืนยันตัวตนด้วยโทเค็น - หมายเหตุ Anthropic: พนักงาน Anthropic แจ้งเราว่าการใช้งาน Claude CLI แบบ OpenClaw ได้รับอนุญาตอีกครั้ง ดังนั้น OpenClaw จึงถือว่าการใช้ Claude CLI ซ้ำและการใช้งาน
claude -pได้รับอนุมัติสำหรับการผสานรวมนี้ เว้นแต่ Anthropic จะเผยแพร่นโยบายใหม่ - Anthropic
setup-token/paste-tokenยังคงพร้อมใช้งานเป็นเส้นทางโทเค็น OpenClaw ที่รองรับ แต่ตอนนี้ OpenClaw เลือกใช้ Claude CLI ซ้ำและclaude -pก่อนเมื่อมีให้ใช้