---
read_when:
    - คุณต้องการเปลี่ยนโมเดลเริ่มต้นหรือดูสถานะการยืนยันตัวตนของผู้ให้บริการ
    - คุณต้องการสแกนโมเดล/ผู้ให้บริการที่พร้อมใช้งานและดีบักโปรไฟล์การยืนยันตัวตน
summary: ข้อมูลอ้างอิง CLI สำหรับ `openclaw models` (status/list/set/scan, นามแฝง, fallback, auth)
title: โมเดล
x-i18n:
    generated_at: "2026-06-27T17:21:47Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 15d0a01e0f8f971996359413306a1c694e5a787eaef69b13eb8ac63c2a7c8990
    source_path: cli/models.md
    workflow: 16
---

# `openclaw models`

การค้นพบ การสแกน และการกำหนดค่าโมเดล (โมเดลเริ่มต้น ตัวสำรอง โปรไฟล์การยืนยันตัวตน)

ที่เกี่ยวข้อง:

- ผู้ให้บริการ + โมเดล: [โมเดล](/th/providers/models)
- แนวคิดการเลือกโมเดล + คำสั่งสแลช `/models`: [แนวคิดเกี่ยวกับโมเดล](/th/concepts/models)
- การตั้งค่าการยืนยันตัวตนของผู้ให้บริการ: [เริ่มต้นใช้งาน](/th/start/getting-started)

## คำสั่งทั่วไป

```bash
openclaw models status
openclaw models list
openclaw models set <model-or-alias>
openclaw models scan
```

`openclaw 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](/th/providers/openai#check-and-recover-codex-oauth-routing)

หมายเหตุ:

- `models set <model-or-alias>` รับ `provider/model` หรือ alias
- `models 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/runtime
- `models 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`

กลุ่มสถานะการตรวจสอบ:

- `ok`
- `auth`
- `rate_limit`
- `billing`
- `timeout`
- `format`
- `unknown`
- `no_model`

กรณีรายละเอียด/รหัสเหตุผลของการตรวจสอบที่ควรคาดไว้:

- `excluded_by_auth_order`: มีโปรไฟล์ที่เก็บไว้ แต่ `auth.order.<provider>` ที่ระบุชัดเจน
  ละเว้นโปรไฟล์นั้น ดังนั้นการตรวจสอบจึงรายงานการถูกยกเว้นแทนการ
  ลองใช้โปรไฟล์นั้น
- `missing_credential`, `invalid_expires`, `expired`, `unresolved_ref`:
  มีโปรไฟล์อยู่แต่ไม่เข้าเกณฑ์/แก้ค่าไม่ได้
- `no_model`: มีการยืนยันตัวตนของผู้ให้บริการ แต่ OpenClaw ไม่สามารถแก้ค่า
  ตัวเลือกโมเดลที่ตรวจสอบได้สำหรับผู้ให้บริการนั้น

## Alias + ตัวสำรอง

```bash
openclaw models aliases list
openclaw models fallbacks list
```

## โปรไฟล์การยืนยันตัวตน

```bash
openclaw models auth add
openclaw models auth list [--provider <id>] [--json]
openclaw models auth login --provider <id>
openclaw models auth login --provider openai --profile-id openai:work
openclaw models auth paste-api-key --provider <id>
openclaw models auth setup-token --provider <id>
openclaw models auth paste-token
```

`models 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`

ตัวอย่าง:

```bash
openclaw models auth login --provider openai --set-default
openclaw models auth login --provider openai --method api-key
openclaw models auth paste-api-key --provider openai
openclaw 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 openai`
- `setup-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` ก่อนเมื่อมีให้ใช้

## ที่เกี่ยวข้อง

- [อ้างอิง CLI](/th/cli)
- [การเลือกโมเดล](/th/concepts/model-providers)
- [การสลับโมเดลเมื่อเกิดความล้มเหลว](/th/concepts/model-failover)
