CLI commands
CLI สำหรับการอนุมาน
openclaw infer เป็นอินเทอร์เฟซแบบไม่มีส่วนติดต่อผู้ใช้หลักสำหรับการอนุมานที่ทำงานผ่านผู้ให้บริการ โดยเปิดเผยกลุ่มความสามารถ (model, image, audio, tts, video, web, embedding) ไม่ใช่ชื่อ RPC ดิบของ Gateway หรือรหัสเครื่องมือของเอเจนต์ openclaw capability ... เป็นนามแฝงสำหรับโครงสร้างคำสั่งเดียวกัน
เหตุผลที่ควรเลือกใช้แทนตัวหุ้มผู้ให้บริการที่สร้างขึ้นเฉพาะกิจ:
- นำผู้ให้บริการและโมเดลที่กำหนดค่าไว้แล้วใน OpenClaw มาใช้ซ้ำ
- รูปแบบครอบ
--jsonที่เสถียรสำหรับสคริปต์และระบบอัตโนมัติที่ขับเคลื่อนโดยเอเจนต์ (ดู เอาต์พุต JSON) - เรียกใช้เส้นทางภายในเครื่องตามปกติโดยไม่ผ่าน Gateway สำหรับคำสั่งย่อยส่วนใหญ่
- สำหรับการตรวจสอบผู้ให้บริการตั้งแต่ต้นจนจบ ระบบจะทดสอบ CLI ที่เผยแพร่แล้ว การโหลดการกำหนดค่า การระบุเอเจนต์เริ่มต้น การเปิดใช้งาน Plugin ที่มาพร้อมระบบ และรันไทม์ความสามารถที่ใช้ร่วมกัน ก่อนส่งคำขอไปยังผู้ให้บริการ
เปลี่ยน infer ให้เป็น Skills
คัดลอกและวางข้อความนี้ให้เอเจนต์:
อ่าน https://docs.openclaw.ai/cli/infer จากนั้นสร้าง Skills ที่กำหนดเส้นทางเวิร์กโฟลว์ทั่วไปของฉันไปยัง `openclaw infer`เน้นการเรียกใช้โมเดล การสร้างภาพ การสร้างวิดีโอ การถอดเสียง การแปลงข้อความเป็นเสียงพูด การค้นหาเว็บ และเวกเตอร์ฝังSkills ที่อิงกับ infer ซึ่งออกแบบมาอย่างดีจะจับคู่เจตนาทั่วไปของผู้ใช้กับคำสั่งย่อยที่เหมาะสม มีตัวอย่างมาตรฐานสองสามรายการต่อเวิร์กโฟลว์ เลือกใช้ openclaw infer ... แทนทางเลือกระดับล่าง และไม่เขียนเอกสารพื้นผิว infer ทั้งหมดซ้ำในเนื้อหาของ Skills
โครงสร้างคำสั่ง
openclaw infer list inspect model run list inspect providers auth login auth logout auth status image generate edit describe describe-many providers audio transcribe providers tts convert voices providers personas status enable disable set-provider set-persona video generate describe providers web search fetch providers embedding create providersinfer list / infer inspect --name <capability> แสดงโครงสร้างนี้ในรูปแบบข้อมูล (รหัสความสามารถ การขนส่ง คำอธิบาย)
งานทั่วไป
| งาน | คำสั่ง | หมายเหตุ |
|---|---|---|
| เรียกใช้พรอมต์ข้อความ/โมเดล | openclaw infer model run --prompt "..." --json |
ใช้ภายในเครื่องโดยค่าเริ่มต้น |
| เรียกใช้พรอมต์โมเดลกับภาพ | openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model |
ใช้ --file ซ้ำสำหรับหลายภาพ |
| สร้างภาพ | openclaw infer image generate --prompt "..." --json |
ใช้ image edit เมื่อเริ่มจากไฟล์ที่มีอยู่ |
| อธิบายไฟล์ภาพหรือ URL | openclaw infer image describe --file ./image.png --prompt "..." --json |
--model ต้องเป็น <provider/model> ที่รองรับภาพ |
| ถอดเสียง | openclaw infer audio transcribe --file ./memo.m4a --json |
--model ต้องเป็น <provider/model> |
| สังเคราะห์เสียงพูด | openclaw infer tts convert --text "..." --output ./speech.mp3 --json |
tts status ทำงานผ่าน Gateway เท่านั้น |
| สร้างวิดีโอ | openclaw infer video generate --prompt "..." --json |
รองรับคำใบ้ผู้ให้บริการ เช่น --resolution |
| อธิบายไฟล์วิดีโอ | openclaw infer video describe --file ./clip.mp4 --json |
--model ต้องเป็น <provider/model> |
| ค้นหาเว็บ | openclaw infer web search --query "..." --json |
|
| ดึงข้อมูลหน้าเว็บ | openclaw infer web fetch --url https://example.com --json |
|
| สร้างเวกเตอร์ฝัง | openclaw infer embedding create --text "..." --json |
ลักษณะการทำงาน
- ใช้
--jsonเมื่อจะส่งเอาต์พุตให้คำสั่งหรือสคริปต์อื่น มิฉะนั้นให้ใช้เอาต์พุตข้อความ - ใช้
--providerหรือ--model provider/modelเพื่อตรึงแบ็กเอนด์ที่ระบุ - ใช้
model run --thinking <level>เพื่อแทนที่การคิด/การให้เหตุผลแบบครั้งเดียว:off,minimal,low,medium,high,adaptive,xhighหรือmax - สำหรับ
image describe,audio transcribeและvideo describeนั้น--modelต้องใช้รูปแบบ<provider/model> - สำหรับ
image describeนั้น--fileรองรับพาธภายในเครื่องและ HTTP(S) URL ส่วน URL ระยะไกลจะอยู่ภายใต้นโยบาย SSRF สำหรับการดึงสื่อตามปกติ - คำสั่งดำเนินการแบบไร้สถานะ (
model run,image *,audio *,video *,web *,embedding *) ใช้ภายในเครื่องโดยค่าเริ่มต้น ส่วนคำสั่งสถานะที่จัดการโดย Gateway (tts status) ใช้ Gateway โดยค่าเริ่มต้น - เส้นทางภายในเครื่องไม่จำเป็นต้องให้ Gateway ทำงานอยู่
model runภายในเครื่องเป็นการเติมคำตอบจากผู้ให้บริการแบบครั้งเดียวที่กระชับ โดยระบุโมเดลและข้อมูลรับรองความถูกต้องของเอเจนต์ที่กำหนดค่าไว้ แต่จะไม่เริ่มเทิร์นของแชตเอเจนต์ โหลดเครื่องมือ หรือเปิดเซิร์ฟเวอร์ MCP ที่มาพร้อมระบบmodel run --fileแนบไฟล์ภาพ (ตรวจหาประเภท MIME โดยอัตโนมัติ) เข้ากับพรอมต์ ใช้--fileซ้ำสำหรับหลายภาพ ไฟล์ที่ไม่ใช่ภาพจะถูกปฏิเสธ — ให้ใช้infer audio transcribeหรือinfer video describeแทนmodel run --gatewayทดสอบการกำหนดเส้นทางของ Gateway ข้อมูลรับรองความถูกต้องที่บันทึกไว้ การเลือกผู้ให้บริการ และรันไทม์แบบฝัง แต่ยังคงเป็นการตรวจสอบโมเดลดิบ: ไม่มีทรานสคริปต์เซสชันก่อนหน้า บริบทบูตสแตรป/AGENTS เครื่องมือ หรือเซิร์ฟเวอร์ MCP ที่มาพร้อมระบบmodel run --gateway --model <provider/model>ต้องใช้ข้อมูลรับรอง Gateway ของผู้ดำเนินการที่เชื่อถือได้ เนื่องจากเป็นการขอให้ Gateway เรียกใช้การแทนที่ผู้ให้บริการ/โมเดลแบบครั้งเดียว
โมเดล
การอนุมานข้อความและการตรวจสอบโมเดล/ผู้ให้บริการ
openclaw infer model run --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: smoke-ok" --jsonopenclaw infer model run --prompt "สรุปรายการบันทึกการเปลี่ยนแปลงนี้" --model openai/gpt-5.4 --jsonopenclaw infer model run --prompt "อธิบายภาพนี้ในหนึ่งประโยค" --file ./photo.jpg --model google/gemini-2.5-flash --jsonopenclaw infer model run --prompt "ใช้การให้เหตุผลมากขึ้นตรงนี้" --thinking high --jsonopenclaw infer model providers --jsonopenclaw infer model inspect --model gpt-5.6-sol --jsonใช้การอ้างอิง <provider/model> แบบเต็มร่วมกับ --local เพื่อทดสอบขั้นต้นผู้ให้บริการรายหนึ่งโดยไม่ต้องเริ่ม Gateway หรือโหลดพื้นผิวเครื่องมือของเอเจนต์:
openclaw infer model run --local --model anthropic/claude-sonnet-4-6 --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model cerebras/zai-glm-4.7 --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model google/gemini-2.5-flash --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model groq/llama-3.1-8b-instant --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model mistral/mistral-medium-3-5 --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model mistral/mistral-small-latest --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model openai/gpt-5.6-luna --prompt "ตอบกลับด้วยข้อความนี้เท่านั้น: pong" --jsonopenclaw infer model run --local --model ollama/qwen2.5vl:7b --prompt "อธิบายภาพนี้" --file ./photo.jpg --jsonหมายเหตุ:
model runภายในเครื่องเป็นการทดสอบขั้นต้นผ่าน CLI ที่แคบที่สุดสำหรับตรวจสอบสถานะของผู้ให้บริการ/โมเดล/การรับรองความถูกต้อง โดยสำหรับผู้ให้บริการที่ไม่ใช่ ChatGPT-Codex ระบบจะส่งเฉพาะพรอมต์ที่ระบุmodel run --model <provider/model>ภายในเครื่องสามารถระบุแถวที่ตรงกันทุกประการจากแค็ตตาล็อกแบบคงที่ที่มาพร้อมระบบ (แถวเดียวกับที่openclaw models list --allแสดง) ก่อนเขียนผู้ให้บริการนั้นลงในการกำหนดค่า ยังคงต้องมีการรับรองความถูกต้องของผู้ให้บริการ หากขาดข้อมูลรับรอง ระบบจะล้มเหลวด้วยข้อผิดพลาดการรับรองความถูกต้อง ไม่ใช่Unknown model- สำหรับการตรวจสอบการให้เหตุผลของ Mistral Medium 3.5 ให้ปล่อยค่าอุณหภูมิเป็นไม่กำหนด/ค่าเริ่มต้น Mistral ปฏิเสธ
reasoning_effort="high"ด้วยtemperature: 0ให้ใช้ค่าอุณหภูมิเริ่มต้นหรือค่าที่ไม่ใช่ศูนย์ เช่น0.7 - การตรวจสอบภายในเครื่องด้วย OpenAI ChatGPT/Codex OAuth (API
openai-chatgpt-responses) จะเพิ่มคำสั่งระบบขั้นต่ำเพื่อให้การขนส่งสามารถใส่ข้อมูลในฟิลด์instructionsที่จำเป็นได้ — โดยไม่มีบริบทเอเจนต์แบบเต็ม เครื่องมือ หน่วยความจำ หรือทรานสคริปต์เซสชัน model run --fileแนบเนื้อหาภาพโดยตรงกับข้อความผู้ใช้รายการเดียว รูปแบบทั่วไป (PNG, JPEG, WebP) ใช้งานได้เมื่อตรวจพบประเภท MIME เป็นimage/*ส่วนไฟล์ที่ไม่รองรับหรือไม่รู้จักจะล้มเหลวก่อนเรียกผู้ให้บริการ ให้ใช้infer image describeแทนเมื่อต้องการการกำหนดเส้นทางโมเดลภาพและกลไกสำรองของ OpenClaw แทนการตรวจสอบโมเดลหลายสื่อโดยตรง- โมเดลที่เลือกต้องรองรับอินพุตภาพ โมเดลที่รองรับเฉพาะข้อความอาจปฏิเสธคำขอที่ชั้นผู้ให้บริการ
model run --promptต้องมีข้อความที่ไม่ใช่ช่องว่าง พรอมต์ว่างจะถูกปฏิเสธก่อนเรียกผู้ให้บริการหรือ Gatewaymodel runภายในเครื่องจะจบการทำงานด้วยรหัสที่ไม่ใช่ศูนย์เมื่อผู้ให้บริการไม่ส่งเอาต์พุตข้อความ เพื่อไม่ให้ผู้ให้บริการที่เข้าถึงไม่ได้และการเติมคำตอบที่ว่างเปล่าดูเหมือนเป็นการตรวจสอบที่สำเร็จ- ใช้
model run --gatewayเพื่อทดสอบการกำหนดเส้นทางของ Gateway หรือการตั้งค่ารันไทม์เอเจนต์ โดยคงอินพุตโมเดลเป็นข้อมูลดิบ ใช้openclaw agentหรือพื้นผิวแชตสำหรับบริบทเอเจนต์แบบเต็ม เครื่องมือ หน่วยความจำ และทรานสคริปต์เซสชัน --thinking adaptiveแมปกับmediumระดับรันไทม์การเติมคำตอบ ส่วน--thinking maxแมปกับmaxสำหรับโมเดล OpenAI ที่รองรับระดับความพยายามสูงสุดแบบเนทีฟ มิฉะนั้นจะเป็นxhighmodel auth login,model auth logoutและmodel auth statusจัดการสถานะการรับรองความถูกต้องของผู้ให้บริการที่บันทึกไว้
ภาพ
การสร้าง การแก้ไข และการอธิบาย
openclaw infer image generate --prompt "ภาพประกอบกุ้งล็อบสเตอร์ที่ดูเป็นมิตร" --jsonopenclaw infer image generate --prompt "ภาพถ่ายผลิตภัณฑ์หูฟังสไตล์ภาพยนตร์" --jsonopenclaw infer image generate --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "สติกเกอร์วงกลมสีแดงเรียบง่ายบนพื้นหลังโปร่งใส" --jsonopenclaw infer image generate --model openai/gpt-image-2 --quality low --openai-moderation low --prompt "โปสเตอร์ฉบับร่างต้นทุนต่ำ" --jsonopenclaw infer image generate --prompt "แบ็กเอนด์ภาพที่ทำงานช้า" --timeout-ms 180000 --jsonopenclaw infer image edit --file ./logo.png --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "คงโลโก้ไว้และลบพื้นหลัง" --jsonopenclaw infer image edit --file ./poster.png --prompt "ทำให้เป็นโฆษณาสตอรีแนวตั้ง" --size 2160x3840 --aspect-ratio 9:16 --resolution 4K --jsonopenclaw infer image describe --file ./photo.jpg --jsonopenclaw infer image describe --file https://example.com/photo.png --jsonopenclaw infer image describe --file ./receipt.jpg --prompt "แยกชื่อร้านค้า วันที่ และยอดรวม" --jsonopenclaw infer image describe-many --file ./before.png --file ./after.png --prompt "เปรียบเทียบภาพหน้าจอและแสดงรายการการเปลี่ยนแปลง UI ที่มองเห็นได้" --jsonopenclaw infer image describe --file ./ui-screenshot.png --model openai/gpt-5.4-mini --jsonopenclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --prompt "อธิบายภาพนี้ในหนึ่งประโยค" --timeout-ms 300000 --jsonหมายเหตุ:
-
ใช้
image editเมื่อเริ่มจากไฟล์อินพุตที่มีอยู่แล้ว ส่วน--size,--aspect-ratioหรือ--resolutionจะเพิ่มคำใบ้เกี่ยวกับรูปทรงเรขาคณิตให้กับผู้ให้บริการ/โมเดลที่รองรับ -
--output-format png --background transparentร่วมกับ--model openai/gpt-image-1.5จะสร้างเอาต์พุต PNG ของ OpenAI ที่มีพื้นหลังโปร่งใส ส่วน--openai-backgroundเป็นนามแฝงเฉพาะ OpenAI สำหรับคำใบ้เดียวกัน ผู้ให้บริการที่ไม่ได้ประกาศว่ารองรับพื้นหลังจะรายงานว่าเป็นการแทนค่าที่ถูกละเว้น (ดูignoredOverridesใน เอนเวโลป JSON) -
--quality low|medium|high|autoใช้ได้กับผู้ให้บริการที่รองรับคำใบ้ด้านคุณภาพภาพ รวมถึง OpenAI นอกจากนี้ OpenAI ยังยอมรับ--openai-moderation low|auto -
image providers --jsonแสดงรายการผู้ให้บริการภาพที่รวมมาให้ซึ่งระบบค้นพบได้ กำหนดค่าแล้ว เลือกใช้อยู่ และความสามารถในการสร้าง/แก้ไขที่แต่ละรายเปิดให้ใช้ -
image generate --model <provider/model> --jsonเป็นการทดสอบควันแบบสดที่มีขอบเขตแคบที่สุดสำหรับการเปลี่ยนแปลงด้านการสร้างภาพ:bash openclaw infer image providers --jsonopenclaw infer image generate \ --model google/gemini-3.1-flash-image \ --prompt "ภาพทดสอบแบบแบนเรียบง่าย: สี่เหลี่ยมสีน้ำเงินหนึ่งรูปบนพื้นหลังสีขาว ไม่มีข้อความ" \ --output ./openclaw-infer-image-smoke.png \ --jsonการตอบกลับรายงาน
ok,provider,model,attemptsและพาธเอาต์พุตที่เขียนไว้ เมื่อตั้งค่า--outputนามสกุลไฟล์สุดท้ายอาจเป็นไปตามชนิด MIME ที่ผู้ให้บริการส่งกลับ -
สำหรับ
image describeและimage describe-manyให้ใช้--promptสำหรับคำสั่งเฉพาะงาน (OCR, การเปรียบเทียบ, การตรวจสอบ UI, การสร้างคำบรรยายแบบกระชับ) -
ใช้
--timeout-msสำหรับโมเดลการมองเห็นในเครื่องที่ทำงานช้า หรือการเริ่ม Ollama แบบเย็น -
สำหรับ
image describeระบบจะเรียก--modelที่ระบุไว้อย่างชัดเจน (ต้องเป็น<provider/model>ที่รองรับภาพ) ก่อน จากนั้นหากการเรียกนั้นล้มเหลว จะลองใช้agents.defaults.imageModel.fallbacksที่กำหนดค่าไว้ ข้อผิดพลาดในการเตรียมอินพุต (ไฟล์หาย, URL ที่ไม่รองรับ) จะทำให้ล้มเหลวก่อนพยายามใช้ตัวสำรอง และโมเดลต้องรองรับภาพในแค็ตตาล็อกโมเดลหรือการกำหนดค่าผู้ให้บริการ -
สำหรับโมเดลการมองเห็น Ollama ในเครื่อง ให้ดึงโมเดลมาก่อนและตั้งค่า
OLLAMA_API_KEYเป็นค่าตัวยึดตำแหน่งใดก็ได้ เช่นollama-localดู Ollama
เสียง
การถอดเสียงไฟล์ (ไม่ใช่การจัดการเซสชันแบบเรียลไทม์)
openclaw infer audio transcribe --file ./memo.m4a --jsonopenclaw infer audio transcribe --file ./team-sync.m4a --language en --prompt "เน้นชื่อและรายการงานที่ต้องดำเนินการ" --jsonopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json--model ต้องเป็น <provider/model>
TTS
การสังเคราะห์เสียงพูดและสถานะผู้ให้บริการ/บุคลิกเสียง TTS
openclaw infer tts convert --text "สวัสดีจาก openclaw" --output ./hello.mp3 --jsonopenclaw infer tts convert --text "การสร้างของคุณเสร็จสมบูรณ์แล้ว" --output ./build-complete.mp3 --jsonopenclaw infer tts providers --jsonopenclaw infer tts personas --jsonopenclaw infer tts status --jsonหมายเหตุ:
tts statusรองรับเฉพาะ--gateway(สะท้อนสถานะ TTS ที่ Gateway จัดการ)- ใช้
tts providers,tts voices,tts personas,tts set-providerและtts set-personaเพื่อตรวจสอบและกำหนดค่าพฤติกรรม TTS
วิดีโอ
การสร้างและการอธิบาย
openclaw infer video generate --prompt "พระอาทิตย์ตกเหนือมหาสมุทรในบรรยากาศแบบภาพยนตร์" --jsonopenclaw infer video generate --prompt "ภาพโดรนเคลื่อนช้าเหนือทะเลสาบกลางป่า" --resolution 768P --duration 6 --jsonopenclaw infer video describe --file ./clip.mp4 --jsonopenclaw infer video describe --file ./clip.mp4 --model openai/gpt-5.4-mini --jsonหมายเหตุ:
video generateยอมรับ--size,--aspect-ratio,--resolution,--duration,--audio,--watermarkและ--timeout-msซึ่งจะถูกส่งต่อไปยังรันไทม์การสร้างวิดีโอ--modelต้องเป็น<provider/model>สำหรับvideo describe
เว็บ
การค้นหาและการดึงข้อมูล
openclaw infer web search --query "เอกสาร OpenClaw" --jsonopenclaw infer web search --query "ผู้ให้บริการเว็บ infer ของ OpenClaw" --jsonopenclaw infer web fetch --url https://docs.openclaw.ai/cli/infer --jsonopenclaw infer web providers --jsonweb providers แสดงรายการผู้ให้บริการที่พร้อมใช้งาน กำหนดค่าแล้ว และเลือกใช้อยู่สำหรับการค้นหาและการดึงข้อมูล
การฝังเวกเตอร์
การสร้างเวกเตอร์และการตรวจสอบผู้ให้บริการการฝังเวกเตอร์
openclaw infer embedding create --text "ล็อบสเตอร์ที่เป็นมิตร" --jsonopenclaw infer embedding create --text "ตั๋วฝ่ายสนับสนุนลูกค้า: การจัดส่งล่าช้า" --model openai/text-embedding-3-large --jsonopenclaw infer embedding providers --jsonเอาต์พุต JSON
คำสั่ง Infer ปรับเอาต์พุต JSON ให้อยู่ภายใต้เอนเวโลปร่วม:
{ "ok": true, "capability": "image.generate", "transport": "local", "provider": "openai", "model": "gpt-image-2", "attempts": [], "outputs": []}ฟิลด์ระดับบนสุดที่คงที่:
okcapabilitytransportprovidermodelattemptsinputs(ไฟล์แนบภาพที่ส่งไปพร้อมกับคำขอ เมื่อใช้ได้)outputsignoredOverrides(คีย์คำใบ้ที่ผู้ให้บริการไม่รองรับ เมื่อใช้ได้)error
สำหรับคำสั่งสื่อที่สร้างขึ้น outputs ประกอบด้วยไฟล์ที่ OpenClaw เขียนไว้ ให้ใช้ path, mimeType, size และมิติเฉพาะสื่อใดๆ ในอาร์เรย์นั้นสำหรับการทำงานอัตโนมัติ แทนการแยกวิเคราะห์ stdout ที่มนุษย์อ่านได้
ข้อผิดพลาดที่พบบ่อย
# ไม่ถูกต้องopenclaw infer media image generate --prompt "ล็อบสเตอร์ที่เป็นมิตร" # ถูกต้องopenclaw infer image generate --prompt "ล็อบสเตอร์ที่เป็นมิตร"# ไม่ถูกต้องopenclaw infer audio transcribe --file ./memo.m4a --model whisper-1 --json # ถูกต้องopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json