บทที่ 6 — provider, model และ API key
thClaws คุยกับ provider ได้ทั้งหมดสิบราย โดยตรวจจับให้อัตโนมัติ
จากชื่อ model และสลับได้ตลอดเวลาด้วย /model หรือ /provider
ภาพรวม provider
| Provider | Model prefix | Auth env var | หมายเหตุ |
|---|---|---|---|
| Agentic Press | ap/* |
AGENTIC_PRESS_LLM_API_KEY |
gateway แบบ OpenAI-compatible; หลาย backend ภายใต้ key เดียว |
| Anthropic | claude-* |
ANTHROPIC_API_KEY |
extended thinking, prompt caching (system + tools) |
| Anthropic Agent SDK | agent/* |
— (ใช้ auth ของ Claude Code เอง) | ขับ claude CLI ผ่าน subscription Claude Pro / Max แทนการคิดเงินแบบ API ⚠ tool registry ของ thClaws ไม่ข้าม subprocess boundary — model เห็นเฉพาะ toolset ของ Claude Code เท่านั้น tool ของ KMS / MCP / Agent Teams เข้าถึงไม่ได้จาก provider นี้ ต้องสลับไป claude-* หากต้องการใช้ |
| OpenAI | gpt-*, o1-*, o3*, o4-* |
OPENAI_API_KEY |
Chat Completions; prompt caching อัตโนมัติ |
| OpenAI Responses | codex/* |
OPENAI_API_KEY |
Responses API — รูปแบบ agentic-native ที่ใหม่กว่า |
| OpenRouter | openrouter/* |
OPENROUTER_API_KEY |
gateway รวม เข้าถึง model 300+ ตัวจากผู้ให้บริการ LLM รายใหญ่ทุกเจ้า |
| Gemini | gemini-*, gemma-* |
GEMINI_API_KEY |
Gemma ให้บริการผ่าน Google AI Studio |
| Ollama | ollama/* |
— (local) | NDJSON streaming; ไม่ต้อง auth |
| Ollama Anthropic | oa/* |
— (local, v0.14+) | endpoint /v1/messages ของ Ollama ที่เข้ากันกับ Anthropic |
| DashScope | qwen-*, qwq-* |
DASHSCOPE_API_KEY |
Qwen ของ Alibaba; caching อัตโนมัติ |
ค่าเริ่มต้นครั้งแรกคือ claude-sonnet-4-6 เปลี่ยนได้ด้วย
--model ที่ command line หรือบันทึกลง settings.json
การสลับ provider
❯ /providers
agentic-press → ap/gemma4-12b
* anthropic → claude-sonnet-4-6
anthropic-agent → agent/claude-sonnet-4-6
openrouter → openrouter/anthropic/claude-sonnet-4-6
...
❯ /provider openai
model → gpt-4o (provider: openai; saved to .thclaws/settings.json; new session sess-…)
❯ /provider
current provider: openai (model: gpt-4o)
เมื่อไรจะ fork session และเมื่อไรจะคุย session เดิมต่อ
การสลับ model/provider จะตัดสินใจให้คุณอัตโนมัติว่าบทสนทนาจะถูกต่อ หรือถูก fork เป็น session ใหม่ โดยดูจากว่า provider family เปลี่ยนหรือไม่ (Anthropic, OpenAI, Gemini, Ollama, DashScope, OpenRouter, Agentic Press ฯลฯ):
| สลับจาก → ไป | พฤติกรรม | เหตุผล |
|---|---|---|
sonnet → opus (Anthropic → Anthropic) |
ต่อบทสนทนาเดิม session id เดิม ประวัติเดิมทั้งหมด | wire schema เหมือนกัน ข้อความ + tool call ส่งเข้าโมเดลใหม่ได้ตรง ๆ |
gemini-2.0-flash → gemini-2.5-flash (Gemini → Gemini) |
ต่อบทสนทนาเดิม | เช่นกัน — intra-family |
sonnet → gpt-4o (Anthropic → OpenAI) |
fork session ใหม่ บันทึก session เก่าลงดิสก์ก่อน แล้วเริ่มใหม่ | provider แต่ละค่ายใช้ shape ของ message/tool-call ต่างกัน ถ้าส่งประวัติเดิมข้ามค่ายจะ error หรือได้ผลลัพธ์เพี้ยน |
/provider <name> |
fork session ใหม่เสมอ | การสลับ provider ถือเป็นการเปลี่ยน family โดยนิยาม |
ข้อความที่ thClaws แจ้งหลังสลับจะบอกชัดเจนว่าอยู่โหมดไหน:
# intra-family — ต่อบทสนทนาเดิม
model → claude-opus-4-6 (provider: anthropic; saved to .thclaws/settings.json; conversation preserved)
# cross-family — fork session
model → gpt-4o (provider: openai; saved to .thclaws/settings.json; new session sess-…)
session เก่าจะถูก save ลงดิสก์ก่อนเสมอ จึงสามารถ /load <id> หรือ
คลิกใน sidebar เพื่อกลับไปคุยต่อได้เมื่อสลับ provider กลับ
การ load session ย้อนกลับ: ถ้าคุณคลิก session เก่าใน sidebar ขณะ
อยู่คนละ provider กับของ session นั้น thClaws จะ auto-switch
provider/model ให้ตรงกับ session ก่อน replay แต่ถ้า provider ของ
session นั้นยังไม่ได้ตั้ง API key ไว้ (เช่น load Gemini session แต่ยังไม่มี
GEMINI_API_KEY) ระบบจะ ปฏิเสธการ load และขึ้น error แทน ไม่ใช่
โหลดแบบเพี้ยน ๆ แล้วรอ error ตอนส่ง prompt รอบต่อไป
การสลับ model
/model รับได้ทั้ง model id เต็ม หรือ alias สั้น:
| Alias | resolve เป็น |
|---|---|
sonnet |
claude-sonnet-4-6 |
opus |
claude-opus-4-6 |
haiku |
claude-haiku-4-5 |
flash |
gemini-2.5-flash |
❯ /model sonnet
(alias 'sonnet' → 'claude-sonnet-4-6')
model → claude-sonnet-4-6 (provider: anthropic; saved to .thclaws/settings.json; conversation preserved)
❯ /models
claude-haiku-4-5
claude-opus-4-6
claude-sonnet-4-6
...
/model จะ ตรวจสอบ ชื่อเทียบกับ list_models ก่อน commit
ถ้าพิมพ์ผิดอย่าง /model gemma4-9999 model ปัจจุบันจะยังอยู่เหมือนเดิม
และระบบจะพิมพ์ว่า unknown model '…' — try /models
/models จะแสดง catalogue ที่ server รายงานมาสำหรับ provider
ปัจจุบัน สำหรับ Ollama และ Agentic Press ID จะถูกใส่ prefix กลับมาให้ด้วย
(เช่น ollama/llama3.2, ap/gemma4-26b) เพื่อให้คุณ paste เข้า
/model ได้ทันที
Model catalogue — ขนาด context ของแต่ละโมเดล
thClaws เก็บตาราง context window ของแต่ละโมเดลไว้ในตัว เพื่อให้ compaction / fork / threshold อื่น ๆ อ้างอิงขนาดจริงของโมเดลที่ใช้อยู่ (เช่น Claude Sonnet 4.6 = 200k tokens, Gemini 2.5 Pro = 2M, GPT-4o = 128k, Qwen Max = 32k) ไม่ได้ใช้เลขสมมติตายตัวเดียวกันทุก provider
สามชั้นของ lookup (ตามลำดับความสำคัญ)
- User cache —
~/.config/thclaws/model_catalogue.jsonเขียน โดย/models refreshและ auto-refresh รายวัน - Embedded baseline — ตารางฝังมากับ binary ชั้นสำรองเวลา cache ไม่มี หรือออฟไลน์
- Provider default + global fallback — ถ้าไม่เจอ model เลย จะใช้ ขนาดกลาง ๆ ของ provider นั้น (เช่น 200k สำหรับ Anthropic) และ fallback รวม 128k เป็นพื้น
/models refresh — อัปเดตตารางเอง
❯ /models refresh
refreshing model catalogue…
catalogue refreshed: 352 models (source: openrouter + thclaws 2026-04-24)
ถ้ายังไม่มีอินเทอร์เน็ต หรือ endpoint ล่ม ข้อความจะบอกตรง ๆ ว่าล้มเหลว และ cache เดิมจะไม่ถูกแตะ
สำหรับ contributor — make catalogue
ถ้าคุณ build จาก source แล้วอยากอัปเดต model_catalogue.json (ไฟล์ที่
compile-in baseline ไปกับ binary) ใช้ Makefile target ที่ root ของ workspace:
make catalogue
จะดึง model list จาก OpenRouter (เสมอ ไม่ต้องมี key) + ของ
Anthropic / OpenAI / Gemini ถ้า env var key ที่ตรงกันถูกตั้งไว้ + Ollama
ถ้าเข้าถึงได้ที่ localhost:11434 จากนั้น merge เข้า catalogue โดย
ไม่ทับ rows ที่ hand-curated (insert-only) แล้ว print git diff
--stat ให้ตรวจสอบก่อน commit รายการ id ใหม่จะถูกแสดงในรายงาน
พร้อมจำนวน unchanged + skipped (no context) per provider เพื่อให้
ตอบคำถามแบบ “ทำไมโมเดล X ไม่มาในรายการใหม่” ได้จากรายงานเอง
Auto-refresh รายวัน
เมื่อเปิด thClaws ใหม่ ถ้า cache มีอายุเกิน 24 ชั่วโมง (หรือยังไม่เคยมี) จะมี task เบื้องหลังไปโหลด catalogue ใหม่ครั้งเดียวโดยไม่บอกอะไร (เงียบโดย ออกแบบ) ถ้าสำเร็จ cache จะถูกเขียน; ถ้าไม่สำเร็จจะข้ามไปเฉย ๆ และ session ยังทำงานต่อได้ปกติด้วย cache / baseline เดิม
ถ้าเลือกโมเดลที่ catalogue ไม่รู้จัก
model → claude-future-x99 (provider: anthropic; …)
⚠ no catalogue entry for 'claude-future-x99' — using anthropic (200000 tokens). Run /models refresh to pick up newer entries.
threshold ของ auto-compact ยังใช้ได้ (fall back ไป provider default) แต่จะแม่นยำขึ้นเมื่อ refresh แล้วมี entry จริงของโมเดลใหม่
ลำดับชั้นของ API key
Key จะไม่ถูกเก็บใน settings.json เด็ดขาด thClaws จะมองหาจาก
สี่ที่ โดยที่มีลำดับความสำคัญสูงสุดจะชนะ
| ระดับ | ที่อยู่ | ขอบเขต |
|---|---|---|
| Shell export | ~/.zshrc, env ของ CI ฯลฯ |
ทุก process |
| OS keychain | macOS Keychain / Windows Credential Manager / Linux Secret Service | ทุก session ของ thClaws บนเครื่องนี้ |
user .env |
~/.config/thclaws/.env |
ทุก session ของ thClaws |
project .env |
./.env ใน working directory |
เฉพาะโปรเจกต์นี้ |
แนะนำ: ใช้ Settings modal (GUI) ซึ่งจะบันทึก key ลงใน
OS keychain ให้ ปลอดภัยกว่าเส้นทาง .env แบบไหน ๆ ชัดเจน
| OS keychain (ผ่าน Settings modal) | ไฟล์ .env |
|
|---|---|---|
| เข้ารหัสขณะพัก (at-rest) | ✓ ได้มาจากรหัสผ่าน login ของคุณ (Secure Enclave บน Mac รุ่นใหม่) | ✗ plaintext |
| การควบคุมการเข้าถึง | ✓ ผูกกับบัญชีผู้ใช้ของคุณ | ✗ process ใดก็ตามที่อ่าน filesystem ได้ |
| commit เข้า git โดยไม่ตั้งใจ | ✓ เป็นไปไม่ได้ (ไม่ใช่ไฟล์ใน repo) | ⚠ เกิดง่าย (คนลืม .gitignore) |
| รั่วผ่าน Time Machine / cloud sync / rsync | ✓ ไม่ | ⚠ รั่ว — ไฟล์ไปที่ไหน backup ก็ไปที่นั่น |
| ใช้ได้ใน headless / CI | ✗ Linux แบบ headless ส่วนใหญ่ไม่มี Secret Service | ✓ ใช้ได้ |
สรุปคือ: ใช้ Settings modal บน laptop หรือ workstation ของคุณ แล้ว
ค่อย fallback ไปใช้ .env เฉพาะเมื่ออยู่ในสภาพแวดล้อมที่ไม่มี keychain
(เช่น CI runner, Docker image ขั้นต่ำ หรือ server แบบ headless)
ตัวเลือก backend สำหรับ secret
ครั้งแรกที่เปิด thClaws ทันทีหลังจากเลือก working directory
(บทที่ 3) จะมี dialog เด้งถามว่าอยากเก็บ secret แบบไหน
dialog นี้จะขึ้นก่อนที่ thClaws จะแตะ OS keychain ด้วยซ้ำ ถ้า
เลือก .env จะไม่มี prompt จาก keychain เด้งขึ้นมาเลยสักครั้ง

มีสองทางเลือก:
- OS keychain (แนะนำ) — macOS Keychain / Windows Credential Manager / Linux Secret Service เข้ารหัสขณะพัก และผูกไว้กับบัญชี ผู้ใช้ของคุณ ครั้งแรกที่ thClaws อ่าน key คุณจะเจอ prompt ขอสิทธิ์ จาก OS ครั้งเดียว คลิก “Always Allow” หลังจากนั้นจะเงียบไปเลย
- ไฟล์
.env— เก็บเป็น plain-text อยู่ที่~/.config/thclaws/.envไม่มี prompt จาก keychain มารบกวน เหมาะกับเครื่อง Linux แบบ headless ที่ไม่มี Secret Service แต่แลกมาด้วยความเสี่ยงที่ใครก็ตาม ซึ่งเข้าถึง home directory ของคุณได้ จะอ่านไฟล์นี้ได้ด้วย จึงควรปฏิบัติ กับมันเหมือนไฟล์ลับอื่น ๆ
ตัวเลือกของคุณจะถูกบันทึกลง ~/.config/thclaws/secrets.json และ
ใช้ต่อไปตลอด หากภายหลังเปลี่ยนใจก็ทำได้: Settings → Provider API
keys → ลิงก์ “Change…” ที่หัวของ modal จะเปิดตัวเลือกขึ้นมาอีกครั้ง
bundle keychain แบบ entry เดียว (prompt เดียวต่อการเปิดใช้งาน)
เมื่อเลือก backend แบบ keychain key ของทุก provider จะถูกเก็บไว้ใน
keychain item เดียว (service thclaws, account api-keys เก็บเป็น JSON map
{"anthropic": "sk-ant-…", "openai": "sk-…", …}) เรื่องนี้สำคัญเพราะ macOS
Keychain ACL เป็นแบบต่อ item ถ้ามี N item แยกกัน คุณจะโดน N prompt ทุกครั้งที่
เปิด binary ที่ rebuild ใหม่ แต่พอรวมเป็น bundle เดียว ก็จะเห็น prompt
ครั้งเดียว คลิก “Always Allow” แล้วการเปิดครั้งต่อ ๆ ไปของ
binary ที่เซ็นแล้วจะเงียบไปเลย
การ migrate ทำให้อัตโนมัติ — ครั้งแรกที่ thClaws อ่าน bundle entry เก่าที่เคยแยก ตาม provider จะถูกดึงเข้ามาใน bundle แล้วเขียน bundle กลับลงไปให้
การมองเห็น key ข้าม process
Desktop GUI และ PTY-child REPL เป็น OS process คนละตัวกัน เมื่อคุณบันทึก key ใน Settings ตัว GUI จะตั้ง env var ให้ ตัวมันเอง เท่านั้น แต่ REPL ลูกที่รันอยู่แล้ว จะมองไม่เห็นการเปลี่ยน env ของ GUI เพื่อให้ทั้งคู่ sync กัน ทุกคำขอจึงอ่าน keychain แบบ live ถ้าไม่มี env var อยู่ — ดังนั้น key ที่บันทึกใน Settings จะใช้งานได้ทันทีใน REPL ของแท็บ Terminal
auto-switch ตอนบันทึก key
เคสที่น่าสนใจ: สมมติคุณบันทึก key ของ Anthropic แต่ config.model ยังเป็น
gpt-4o (OpenAI) อยู่ ถ้าไม่มี auto-switch คุณก็จะยังเห็นตัวบอก “no API key”
สีแดงค้างอยู่
thClaws จัดการเรื่องนี้ให้: ทันทีหลังจากบันทึก key สำเร็จ หาก provider ของ
model ที่ตั้งไว้ตอนนี้ยังไม่มี credential ตัว model ที่ใช้งานอยู่จะถูกเขียนทับ
ให้เป็นค่าเริ่มต้นของ provider ที่เพิ่งใช้ได้ (Anthropic → claude-sonnet-4-6,
OpenAI → gpt-4o ฯลฯ) sidebar จะเปลี่ยนเป็นสีเขียวภายในหนึ่งวินาที และ
chat รอบถัดไปก็ใช้งานได้เลย
env var สำหรับวินิจฉัย
| Env var | ผล |
|---|---|
THCLAWS_DISABLE_KEYCHAIN=1 |
ข้าม keychain ไปเลย เหมาะสำหรับทดสอบหรือวินิจฉัยอาการ flaky |
THCLAWS_KEYCHAIN_TRACE=1 |
พิมพ์บรรทัด diagnostic สีม่วงทุกครั้งที่มีการเรียก keychain พร้อมแสดง process ID และ flag “already loaded” |
THCLAWS_KEYCHAIN_LOADED=1 |
GUI ตั้งให้อัตโนมัติหลังอ่าน keychain ครั้งแรก เพื่อให้ PTY ลูกที่ถูก spawn ขึ้นมาข้ามการ walk ของตัวเองไป โดยทั่วไปคุณไม่ต้องแตะตัวนี้ |
Settings modal (GUI)
คลิกไอคอนเฟืองที่แถบสถานะด้านล่าง การ์ดของ provider แต่ละตัวจะแสดง
- ช่อง API Key — กรอกไว้ล่วงหน้าด้วย
*****(ดอกจันจำนวนเท่า ความยาวของ key ที่เก็บไว้ สูงสุด 64 ตัว) เมื่อพิมพ์อะไรลงไป sentinel จะถูกแทนที่ และช่องจะเปลี่ยนจาก plain text เป็น masked ส่วนปุ่ม Save จะถูก disable ไว้จนกว่าคุณจะพิมพ์ค่าใหม่จริง ๆ - ช่อง Base URL (เฉพาะ Ollama) — กรอกไว้ล่วงหน้าด้วยค่าปัจจุบัน
หรือ placeholder ค่าเริ่มต้น เก็บไว้ใน
~/.config/thclaws/endpoints.json
DashScope ถูกล็อกไว้ที่ค่าเริ่มต้นใน Settings UI แต่หากจำเป็นก็สามารถ
ชี้ไป endpoint ระดับภูมิภาคได้ด้วย env var DASHSCOPE_BASE_URL
(เช่น URL ของ Alibaba Cloud International)
ล้าง key ได้ด้วยไอคอนถังขยะ entry ใน keychain จะถูกลบ และ env var จะถูก unset สำหรับ session ที่กำลังรันอยู่

ไฟล์ .env (CI, headless, quick-start)
เมื่อ keychain ใช้ไม่ได้ — เช่น CI runner, Linux แบบ headless
ที่ไม่มี Secret Service หรือเวลาต้องการ key ที่ tool แบบ CLI อย่างเดียว
(script หรือ thclaws -p ใน pipeline) อ่านได้ — เส้นทาง .env
แบบคลาสสิกก็ยังใช้ได้เช่นกัน
# ~/.config/thclaws/.env
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...
OPENROUTER_API_KEY=sk-or-v1-...
GEMINI_API_KEY=AI...
AGENTIC_PRESS_LLM_API_KEY=llm_v1_...
DASHSCOPE_API_KEY=sk-...
OLLAMA_BASE_URL=http://localhost:11434 # defaults to this anyway
⚠️ ถ้าคุณใช้ git ให้ใส่
.envลงใน.gitignoreทันที — ก่อน จะ paste key ใด ๆ เข้าไป ไฟล์.envที่ถูก commit ขึ้น repo สาธารณะ (หรือแม้แต่ repo ส่วนตัวที่แชร์กัน) คือสาเหตุที่พบบ่อยที่สุดของการที่ API key รั่ว โดย./.envแบบ project-scope นั้นเสี่ยงเป็นพิเศษ เพราะอยู่ใน root ของ repo ส่วน~/.config/thclaws/.envแบบ user-scope นั้นอยู่นอก repo จึงปลอดภัยในแง่นี้ แต่ก็ยังควรปฏิบัติ กับมันเหมือนเป็นไฟล์ลับอยู่ดีวิธีแก้บรรทัดเดียว:
bash $ echo ".env" >> .gitignore && git add .gitignoreและถ้าเผลอ commit ไปแล้ว ให้ rotate key ทันทีที่ dashboard ของ provider เพราะประวัติ git จะเก็บไฟล์ที่ลบไปไว้ตลอดกาล การ rewrite ประวัติก็ยุ่งยาก แถมใครก็ตามที่ clone ไปก่อนที่คุณจะรู้ตัวก็มี key ของคุณติดมือไปแล้ว
โมเดลแบบ reasoning / thinking
โมเดลในกลุ่มต่อไปนี้ส่ง field reasoning_content (chain-of-thought) ออก
มาคู่กับ content ปกติ และ provider บังคับให้เราต้อง ส่งกลับ
reasoning_content เก่า ไปด้วยทุกครั้งที่ต่อบทสนทนา (turn ถัด ๆ
ไป) — ไม่อย่างนั้น API จะตอบ HTTP 400 ว่า "The reasoning_content in the
thinking mode must be passed back to the API"
thClaws จัดการให้อัตโนมัติ — เก็บ reasoning ไว้บน assistant message แล้วส่งกลับเฉพาะกับ provider ที่ต้องการ ไม่บอกใครเสริม:
| ตระกูล | model id (ตัวอย่าง) | provider |
|---|---|---|
| DeepSeek v4 | deepseek/deepseek-v4-flash, deepseek/deepseek-v4-pro |
OpenRouter |
| DeepSeek r1 | deepseek/deepseek-r1, deepseek-r1 |
OpenRouter, native |
| OpenAI o-series | openai/o1-mini, openai/o3, openai/o4-* |
OpenRouter |
โมเดลอื่น ๆ ที่ไม่อยู่ในกลุ่มนี้ (เช่น gpt-4o, claude-sonnet-4-6,
qwen3.6-plus) — reasoning_content block จะถูก ตัดออก
ระหว่าง serialize เพื่อไม่ให้กิน input token เพิ่มและไม่เสี่ยงโดน
provider reject เพราะ field แปลก ๆ
ถ้าคุณสลับจากโมเดล thinking ไปโมเดลปกติกลาง session, reasoning block ของ turn ก่อนจะคงอยู่ในไฟล์ session แต่ไม่ถูกส่งบนสาย ไม่มี token leak
ใช้ Ollama ในเครื่อง
- ติดตั้ง Ollama:
brew install ollama(macOS) หรือดูที่ ollama.com - pull model:
ollama pull gemma4:26b - บอก thClaws:
/model ollama/gemma4:26b
ไม่ต้องใช้ API key หากใช้ Ollama server ระยะไกล ให้ตั้ง OLLAMA_BASE_URL
(ผ่าน Settings modal หรือ env var)
ใช้ Agentic Press (multi-model แบบ hosted)
Agentic Press คือ gateway ที่ให้บริการหลาย backend (Gemma 3, GPT 4o-mini, Claude Sonnet, Llama 4, Qwen 3) ภายใต้ API key เดียว เหมาะสำหรับทดลอง model หลายตัวโดยไม่ต้องไปสมัครทีละเจ้า
- ขอ key จาก dashboard ของ Agentic Press
- Paste ลงใน Settings → API Keys (Agentic Press) — หรือตั้ง
AGENTIC_PRESS_LLM_API_KEY /model ap/gemma4-26b(หรือ model ใดที่มีใน list)
prefix ap/ จะ route request ผ่าน gateway และ /models จะแสดง
ทุก model ที่ gateway ให้บริการอยู่ในตอนนี้
ใช้ OpenRouter (model 300+ ผ่าน key เดียว)
OpenRouter คือ gateway รวมที่เข้าถึงผู้ให้บริการ LLM รายใหญ่ได้ทุกเจ้า (ทั้ง Anthropic, OpenAI, Google, Meta, Mistral, xAI, DeepSeek, Alibaba และอื่น ๆ อีกมาก) ใช้ API key เดียวแต่เข้าถึง model ได้กว่า 300 ตัว
- ขอ key จาก openrouter.ai/keys
- Paste ลงใน Settings → API Keys (OpenRouter) — หรือตั้ง
OPENROUTER_API_KEY - เลือก model:
/model openrouter/anthropic/claude-sonnet-4-6(หรือ ตัวใดก็ได้จากหลายร้อยที่/modelsแสดง)
Model ID มีรูปแบบ openrouter/<vendor>/<model> — copy ได้จาก
openrouter.ai/models หรือ paste string
ตรง ๆ ตามที่เห็นใน output ของ /models
เหมาะสำหรับ
- เปรียบเทียบคำตอบข้าม vendor โดยไม่ต้องไปสมัครทีละเจ้า
- ทดลอง model ใหม่โดยไม่ต้องเปิดบัญชีแยก
- มีรายการจ่ายเงินเพียงรายการเดียว สำหรับการใช้งานแบบ hobby หรือทีมเล็ก
หมายเหตุ: OpenRouter จะบวก markup เล็กน้อยทับต้นทุนของ vendor แต่ละเจ้า สำหรับงาน production ที่ volume สูง ใช้ตรงกับ provider ต้นทางจะคุ้มกว่า