Providers
LM Studio
LM Studio เรียกใช้โมเดล llama.cpp (GGUF) หรือ MLX ภายในเครื่อง โดยทำงานเป็นแอป GUI หรือดีมอน llmster
แบบไม่มีส่วนติดต่อผู้ใช้ สำหรับเอกสารการติดตั้งและผลิตภัณฑ์ โปรดดูที่ lmstudio.ai
เริ่มต้นอย่างรวดเร็ว
ติดตั้งและเริ่มเซิร์ฟเวอร์
ติดตั้ง LM Studio (เดสก์ท็อป) หรือ llmster (แบบไม่มีส่วนติดต่อผู้ใช้) จากนั้นเริ่มเซิร์ฟเวอร์:
lms server start --port 1234หรือเรียกใช้ดีมอนแบบไม่มีส่วนติดต่อผู้ใช้:
lms daemon upหากใช้แอปเดสก์ท็อป ให้เปิดใช้ JIT เพื่อให้การโหลดโมเดลราบรื่น โปรดดู คู่มือ JIT และ TTL ของ LM Studio
ตั้งค่าคีย์ API หากเปิดใช้การยืนยันตัวตน
export LM_API_TOKEN="your-lm-studio-api-token"หากปิดใช้การยืนยันตัวตนของ LM Studio ให้เว้นคีย์ API ว่างไว้ระหว่างการตั้งค่า โปรดดู การยืนยันตัวตนของ LM Studio
เรียกใช้การเริ่มต้นใช้งาน
openclaw onboardเลือก LM Studio จากนั้นเลือกโมเดลเมื่อระบบแจ้ง Default model
เปลี่ยนโมเดลเริ่มต้นในภายหลัง:
openclaw models set lmstudio/qwen/qwen3.5-9bคีย์โมเดลของ LM Studio ใช้รูปแบบ author/model-name (เช่น qwen/qwen3.5-9b) ส่วนการอ้างอิงโมเดลของ OpenClaw
จะเติมผู้ให้บริการไว้ข้างหน้า: lmstudio/qwen/qwen3.5-9b ค้นหาคีย์ที่แน่นอนของโมเดลโดยเรียกใช้
คำสั่งด้านล่างและดูฟิลด์ key:
curl http://localhost:1234/api/v1/modelsการเริ่มต้นใช้งานแบบไม่โต้ตอบ
openclaw onboard --non-interactive --accept-risk --auth-choice lmstudioหรือระบุ URL ฐาน โมเดล และคีย์ API อย่างชัดเจน:
openclaw onboard \ --non-interactive \ --accept-risk \ --auth-choice lmstudio \ --custom-base-url http://localhost:1234/v1 \ --lmstudio-api-key "$LM_API_TOKEN" \ --custom-model-id qwen/qwen3.5-9b--custom-model-id รับคีย์โมเดลตามที่ LM Studio ส่งคืน (เช่น qwen/qwen3.5-9b) โดยไม่มี
คำนำหน้าผู้ให้บริการ lmstudio/ ส่ง --lmstudio-api-key (หรือตั้งค่า LM_API_TOKEN) สำหรับเซิร์ฟเวอร์
ที่ต้องยืนยันตัวตน สำหรับเซิร์ฟเวอร์ที่ไม่ต้องยืนยันตัวตนให้ละเว้นค่านี้ แล้ว OpenClaw จะจัดเก็บเครื่องหมาย
ภายในเครื่องที่ไม่ใช่ข้อมูลลับแทน ระบบยังคงรองรับ --custom-api-key เพื่อความเข้ากันได้ แต่แนะนำให้ใช้
--lmstudio-api-key
การดำเนินการนี้จะเขียนค่า models.providers.lmstudio และตั้งโมเดลเริ่มต้นเป็น lmstudio/<custom-model-id>
การระบุคีย์ API จะเขียนโปรไฟล์การยืนยันตัวตน lmstudio:default ด้วย
การตั้งค่าแบบโต้ตอบอาจถามเพิ่มเติมเกี่ยวกับความยาวบริบทการโหลดที่ต้องการ และนำค่านั้นไปใช้กับ โมเดลที่ค้นพบซึ่งบันทึกลงในการกำหนดค่า
การกำหนดค่า
ความเข้ากันได้ของข้อมูลการใช้งานแบบสตรีม
LM Studio ไม่ได้ส่งออบเจ็กต์ usage ในรูปแบบของ OpenAI สำหรับการตอบกลับแบบสตรีมเสมอไป OpenClaw
จะกู้คืนจำนวนโทเค็นจากเมทาดาทารูปแบบ llama.cpp ได้แก่ timings.prompt_n / timings.predicted_n
แทน ปลายทางที่เข้ากันได้กับ OpenAI ซึ่งถูกระบุว่าเป็นปลายทางภายในเครื่อง (โฮสต์ local loopback) จะใช้
กลไกสำรองเดียวกัน ซึ่งครอบคลุมแบ็กเอนด์ภายในเครื่องอื่น ๆ เช่น vLLM, SGLang, llama.cpp, LocalAI, Jan, TabbyAPI
และ text-generation-webui
ความเข้ากันได้ของการคิดวิเคราะห์
เมื่อการค้นหาผ่าน /api/v1/models ของ LM Studio รายงานตัวเลือกการใช้เหตุผลเฉพาะโมเดล OpenClaw
จะแสดงค่า reasoning_effort ที่สอดคล้องกัน (none, minimal, low, medium, high, xhigh) ใน
เมทาดาทาความเข้ากันได้ของโมเดล LM Studio บางรุ่นระบุตัวเลือก UI แบบสองค่า (allowed_options: ["off", "on"]) แต่ปฏิเสธค่าตรงตัวเหล่านั้นบน /v1/chat/completions OpenClaw จึงปรับรูปแบบสองค่านี้
ให้เป็นมาตราส่วนหกระดับก่อนส่งคำขอ รวมถึงการกำหนดค่าที่บันทึกไว้จากรุ่นเก่าซึ่งยังมีแมปการใช้เหตุผล
off/on
การกำหนดค่าอย่างชัดเจน
{ models: { providers: { lmstudio: { baseUrl: "http://localhost:1234/v1", apiKey: "${LM_API_TOKEN}", api: "openai-completions", models: [ { id: "qwen/qwen3-coder-next", name: "Qwen 3 Coder Next", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 128000, maxTokens: 8192, }, ], }, }, },}การปิดใช้การโหลดล่วงหน้า
LM Studio รองรับการโหลดโมเดลแบบทันเวลาพอดี (JIT) โดยโหลดโมเดลเมื่อมีคำขอครั้งแรก ตามค่าเริ่มต้น OpenClaw จะโหลดโมเดลล่วงหน้าผ่านปลายทางการโหลดแบบเนทีฟของ LM Studio ซึ่งมีประโยชน์เมื่อปิดใช้ JIT หากต้องการให้ JIT, TTL เมื่อไม่มีการใช้งาน และพฤติกรรมการนำโมเดลออกโดยอัตโนมัติของ LM Studio เป็นผู้จัดการวงจรชีวิตของโมเดลแทน ให้ปิดขั้นตอนการโหลดล่วงหน้าของ OpenClaw:
{ models: { providers: { lmstudio: { baseUrl: "http://localhost:1234/v1", api: "openai-completions", params: { preload: false }, models: [{ id: "qwen/qwen3.5-9b" }], }, }, },}โฮสต์ LAN หรือเครือข่าย tailnet
ใช้ที่อยู่ของโฮสต์ LM Studio ที่เข้าถึงได้ คง /v1 ไว้ และตรวจสอบว่า LM Studio บนเครื่องนั้น
ผูกกับอินเทอร์เฟซอื่นนอกเหนือจาก loopback:
{ models: { providers: { lmstudio: { baseUrl: "http://gpu-box.local:1234/v1", apiKey: "lmstudio", api: "openai-completions", models: [{ id: "qwen/qwen3.5-9b" }], }, }, },}lmstudio จะเชื่อถือปลายทางที่กำหนดค่าไว้โดยอัตโนมัติสำหรับคำขอโมเดล ซึ่งรวมถึงโฮสต์ loopback,
LAN และ tailnet (ยกเว้นต้นทางเมทาดาทา/ลิงก์ภายในเครื่อง) รายการผู้ให้บริการที่กำหนดเอง/ภายในเครื่อง
ซึ่งเข้ากันได้กับ OpenAI จะได้รับความเชื่อถือตามต้นทางที่ตรงกันทุกประการเช่นเดียวกัน คำขอไปยังโฮสต์
หรือพอร์ตส่วนตัวอื่นยังคงต้องใช้ models.providers.<id>.request.allowPrivateNetwork: true
ให้ตั้งค่าเป็น false หากไม่ต้องการใช้ความเชื่อถือเริ่มต้นนี้
การแก้ไขปัญหา
ตรวจไม่พบ LM Studio
ตรวจสอบว่า LM Studio กำลังทำงานอยู่:
lms server start --port 1234หากเปิดใช้การยืนยันตัวตน ให้ตั้งค่า LM_API_TOKEN ด้วย ตรวจสอบว่าสามารถเข้าถึง API ได้:
curl http://localhost:1234/api/v1/modelsข้อผิดพลาดในการยืนยันตัวตน (HTTP 401)
- ตรวจสอบว่า
LM_API_TOKENตรงกับคีย์ที่กำหนดค่าใน LM Studio - โปรดดู การยืนยันตัวตนของ LM Studio
- หากเซิร์ฟเวอร์ไม่ต้องการการยืนยันตัวตน ให้เว้นคีย์ว่างไว้ระหว่างการตั้งค่า