- 1. OpenCode คืออะไร
- 2. ตรวจสอบเวอร์ชันก่อนติดตั้ง
- 3. ติดตั้ง OpenCode V2
- 4. เตรียมบัญชีและ API key
- 5. วิธีเริ่มต้นที่ง่ายที่สุด: ใช้ /connect
- 6. จัดการการเชื่อมต่อผ่าน CLI
- 7. ตั้งค่าทั้งสามค่ายด้วย environment variables
- 8. เลือกโมเดลและกำหนดค่าเริ่มต้น
- 9. เวิร์กช็อป: ใช้สามค่ายช่วยพัฒนาฟังก์ชันคิดส่วนลด
- 10. เขียน AGENTS.md ให้ทุกโมเดลทำงานตามกติกาเดียวกัน
- 11. ปัญหาที่พบบ่อย
- 12. ค่าใช้จ่ายและการใช้งานในชั้นเรียน
- เอกสารอ้างอิง
คู่มือภาษาไทยสำหรับเริ่มใช้ AI Coding Agent ผ่าน Terminal พร้อมตัวอย่าง config และเวิร์กช็อปสลับโมเดล
#1. OpenCode คืออะไร

OpenCode เป็น AI Coding Agent แบบโอเพนซอร์ส ใช้ช่วยอ่านโค้ด อธิบายโปรเจกต์ วางแผนพัฒนา แก้ไขไฟล์ และเรียกเครื่องมือในสภาพแวดล้อมพัฒนาได้ โดยมีทั้ง Terminal, Desktop และ Web interface [1]
การใช้งานผ่าน Terminal ทำให้เราทำงานกับโปรเจกต์เดิมได้โดยตรง และเลือกเชื่อมต่อผู้ให้บริการโมเดลที่ต้องการได้
แยกคำศัพท์สามคำนี้ก่อนเริ่มต้น:
| คำศัพท์ | ความหมาย | ตัวอย่าง |
|---|---|---|
| Agent / เครื่องมือ | โปรแกรมที่จัดการบทสนทนา บริบท และการเรียกเครื่องมือ | OpenCode |
| Provider | ผู้ให้บริการที่รับคำขอไปประมวลผล | OpenAI, Anthropic, Google |
| Model | โมเดลที่ใช้ตอบหรือทำงานในคำขอนั้น | โมเดลตระกูล GPT, Claude, Gemini |
ดังนั้น Claude เป็นชื่อโมเดลของ Anthropic และ Gemini เป็นชื่อโมเดลของ Google ส่วน OpenCode เป็นเครื่องมือที่เราใช้ทำงานกับโมเดลเหล่านั้น
การเชื่อมต่อครบสามค่ายทำให้เลือกหรือสลับโมเดลได้ การส่งหนึ่งข้อความไม่ได้หมายความว่าจะเรียกทั้งสามค่ายมาช่วยกันโดยอัตโนมัติ
#2. ตรวจสอบเวอร์ชันก่อนติดตั้ง
ปัจจุบันเอกสารทางการแยก OpenCode V1 และ V2 ทั้งสองรุ่นใช้ชื่อคำสั่ง opencode เหมือนกัน จึงต้องเลือกแพ็กเกจให้ตรงกับคู่มือ [1][2]
| รายการ | OpenCode V1 | OpenCode V2 ที่ใช้ในบทความ |
|---|---|---|
| npm package | opencode-ai |
@opencode/cli |
| Homebrew | anomalyco/tap/opencode |
anomalyco/tap/opencode-v2 |
| config ของ provider แบบ native | provider |
providers |
| options ของ provider แบบ native | options |
settings |
ตรวจสอบคำสั่งที่มีอยู่ในเครื่อง:
opencode --version
opencode --help
หากเคยติดตั้ง V1 ด้วย package manager ให้ถอนแพ็กเกจ V1 ด้วย package manager เดิมก่อนติดตั้ง V2 และเก็บสำเนาการตั้งค่าเดิมไว้ระหว่างตรวจสอบการย้ายรุ่น เอกสารระบุว่า V2 รองรับการแปลงค่าจาก V1 หลายส่วน แต่ plugin และ server integration มีข้อแตกต่างที่ต้องตรวจสอบ [2]
#3. ติดตั้ง OpenCode V2
เลือกวิธีใดวิธีหนึ่งต่อไปนี้ [1]
#วิธีที่ 1: npm
เหมาะกับเครื่องที่ติดตั้ง Node.js และ npm แล้ว:
npm install -g @opencode/cli
#วิธีที่ 2: Homebrew บน macOS หรือ Linux
brew install anomalyco/tap/opencode-v2
#วิธีที่ 3: Installation script บน macOS หรือ Linux
curl -fsSL https://opencode.ai/v2/install | bash
สำหรับ Windows เอกสาร V2 มี standalone binary ให้ดาวน์โหลด เลือกไฟล์ให้ตรงกับสถาปัตยกรรมเครื่องจากหน้าเริ่มต้น หากใช้ WSL ให้ติดตั้งภายใน Linux environment นั้น [1]
หลังติดตั้ง เปิด Terminal ใหม่หากจำเป็น แล้วตรวจสอบ:
opencode --version
#4. เตรียมบัญชีและ API key
บทความนี้ใช้ API key ของแต่ละ provider เป็นวิธีหลัก เพื่อให้ขั้นตอนเชื่อมต่อมีรูปแบบใกล้เคียงกัน
| โมเดลที่ต้องการใช้ | Provider ใน OpenCode | ที่สร้าง API key |
|---|---|---|
| โมเดลของ OpenAI | OpenAI / openai |
OpenAI Platform |
| Claude | Anthropic / anthropic |
Claude Console |
| Gemini | Google / google |
Google AI Studio |
OpenAI ให้เก็บ key เป็นความลับและโหลดผ่าน environment variable หรือระบบจัดการ secrets ส่วน Claude API ใช้ key จาก Console และ Gemini API ใช้ key ที่จัดการผ่าน Google AI Studio [9][10][11]
ก่อนเริ่มงาน ให้ตรวจสอบใน dashboard ว่าบัญชีมีโควตา เครดิตหรือ billing ที่จำเป็น และมีสิทธิ์เข้าถึงโมเดลที่เลือก การสร้าง key สำเร็จเพียงอย่างเดียวไม่ได้ยืนยันว่าทุกโมเดลจะใช้งานได้
#API key กับการเข้าสู่ระบบผ่านบัญชีต่างกันอย่างไร
OpenCode รองรับวิธี authentication ตาม integration ที่มีอยู่ในรุ่นและสภาพแวดล้อมนั้น เช่น API key หรือ OAuth ดูตัวเลือกจริงจาก /connect หรือ opencode auth login [3]
อย่าสรุปว่าสมาชิกเว็บแชตรายเดือนจะกลายเป็นเครดิต API โดยอัตโนมัติ หากเลือก API key ให้ตรวจสอบค่าใช้จ่ายในระบบ API ของ provider นั้น หากเลือก OAuth ให้ตรวจสอบสิทธิ์และข้อจำกัดของวิธีที่ปรากฏในหน้าจอ
#5. วิธีเริ่มต้นที่ง่ายที่สุด: ใช้ /connect
เปิด Terminal ในโปรเจกต์:
cd /path/to/your-project
opencode
คำสั่งที่ขึ้นต้นด้วย / ต่อไปนี้พิมพ์ ภายในหน้าจอ OpenCode ไม่ใช่ใน Bash, Zsh หรือ PowerShell
#5.1 เชื่อมต่อ OpenAI
- พิมพ์
/connect - เลือก OpenAI
- เลือกวิธีใส่ API key หากหน้าจอมีหลายวิธี
- ใส่ key ของ OpenAI ในช่องรับข้อมูล
- พิมพ์
/modelsแล้วเลือกโมเดลของ OpenAI ที่ต้องการ
#5.2 เชื่อมต่อ Claude
- พิมพ์
/connect - เลือก Anthropic
- เลือกวิธีใส่ API key
- ใส่ key จาก Claude Console
- พิมพ์
/modelsแล้วเลือกโมเดล Claude
#5.3 เชื่อมต่อ Gemini
- พิมพ์
/connect - เลือก Google ซึ่งใช้ provider ID ว่า
google - เลือกวิธีใส่ API key
- ใส่ Gemini API key จาก Google AI Studio
- พิมพ์
/modelsแล้วเลือกโมเดล Gemini
ขั้นตอนร่วมคือ เชื่อมต่อ provider → เลือกโมเดล → เริ่มส่งงาน รายการที่เห็นขึ้นอยู่กับ server โปรเจกต์ และ integration ที่พร้อมใช้งาน [3][4]
Google Gemini API จาก AI Studio กับ Google Vertex AI เป็นคนละเส้นทางเชื่อมต่อ ในเวิร์กช็อปนี้เลือก
google-vertexซึ่งต้องตั้งค่า Google Cloud และ authentication เพิ่มเติม [4]
ทดลองส่งข้อความสั้นหลังเชื่อมต่อแต่ละค่าย:
ตอบเป็นภาษาไทย อธิบายความแตกต่างระหว่าง unit test กับ integration test
ไม่ต้องอ่านหรือแก้ไขไฟล์ในโปรเจกต์
หากได้รับคำตอบสำเร็จ แสดงว่าเส้นทางที่เลือกส่งคำขอได้ในขณะนั้น จากนั้นจึงทดสอบงานอ่านไฟล์หรือเรียกเครื่องมือต่อ
#6. จัดการการเชื่อมต่อผ่าน CLI
นอกจาก /connect ภายใน TUI ยังใช้คำสั่งจาก Terminal ได้ [3][5]
# เปิดหน้าจอเลือก provider
opencode auth login
# เลือก OpenAI โดยตรง แล้วทำตามตัวเลือก authentication ที่แสดง
opencode auth login openai
# ตัวอย่างระบุวิธี API key ของ Anthropic
opencode auth login anthropic --method key
# ตรวจสอบการเชื่อมต่อที่มี
opencode auth list
หากมีหลายบัญชีของ provider เดียวกัน ให้ใช้ /connect เข้าไปจัดการและเลือกบัญชีที่ต้องการใช้งาน
V2 เก็บบัญชีและ credentials ที่บันทึกไว้ในฐานข้อมูลของ server ส่วน V1 ใช้ auth.json จึงไม่ควรยึดตำแหน่งเก็บข้อมูลจากคู่มือ V1 มาใช้กับ V2 โดยตรง [3]
#7. ตั้งค่าทั้งสามค่ายด้วย environment variables
วิธีนี้เหมาะกับคนที่ต้องการจัดการ secrets ผ่าน environment ของเครื่องหรือระบบ CI
สร้างไฟล์ opencode.json ที่รากโปรเจกต์ โดยใช้รูปแบบ V2:
{
"$schema": "https://opencode.ai/config.json",
"providers": {
"openai": {
"env": ["OPENAI_API_KEY"],
"settings": {
"apiKey": "{env:OPENAI_API_KEY}"
}
},
"anthropic": {
"env": ["ANTHROPIC_API_KEY"],
"settings": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"google": {
"env": ["GEMINI_API_KEY"],
"settings": {
"apiKey": "{env:GEMINI_API_KEY}"
}
}
}
}
ตัวอย่างนี้ระบุชื่อ environment variable เองผ่าน env และอ้างค่าผ่าน settings.apiKey จึงไม่ต้องเดาว่าแต่ละ integration มีชื่อตัวแปรเริ่มต้นอะไร โดยเฉพาะชื่อ key ของ Google ที่อาจต่างกันระหว่างเครื่องมือ [4][6]
ยังไม่ใส่ model ในขั้นนี้ ให้ใช้ /models เลือกจากรายการจริงก่อน
#macOS / Linux: Bash หรือ Zsh
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY"
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
opencode --standalone
ค่าที่เขียนว่า YOUR_... เป็น placeholder ต้องแทนด้วย key ของตนเองบนเครื่อง และไม่ควรบันทึกคำสั่งที่มี key จริงไว้ในเอกสารหรือแชร์ภาพหน้าจอ
#Windows PowerShell
$env:OPENAI_API_KEY = "YOUR_OPENAI_API_KEY"
$env:ANTHROPIC_API_KEY = "YOUR_ANTHROPIC_API_KEY"
$env:GEMINI_API_KEY = "YOUR_GEMINI_API_KEY"
opencode --standalone
#เหตุผลที่ใช้ --standalone
V2 ใช้ shared background server ตามค่าเริ่มต้น การตั้งตัวแปรใน Terminal ที่เพิ่งเปิดอาจไม่ส่งต่อไปยัง server เดิมที่กำลังทำงานอยู่ การเปิดด้วย --standalone ทำให้ server ส่วนตัวเริ่มจาก environment ของคำสั่งนั้น [3][7]
หากใช้งานผ่าน shared service เป็นประจำ ให้ตั้ง environment ของ service ตามเอกสารทางการ และตรวจสอบบัญชีที่กำลัง active เพราะบัญชีที่บันทึกไว้อาจมีลำดับความสำคัญเหนือ environment connection [3]
ไฟล์ .env ในโปรเจกต์ไม่ควรถูกสมมติว่าจะโหลดเข้าสู่ OpenCode โดยอัตโนมัติ ต้องมีวิธีส่งค่าเข้าสู่ process ที่ใช้งานจริง
#8. เลือกโมเดลและกำหนดค่าเริ่มต้น
ภายใน OpenCode ใช้:
/models
หรือดูรายการจาก Terminal:
opencode models
รูปแบบอ้างอิงโมเดลคือ:
provider/model-id
ตัวอย่างเชิงรูปแบบ:
openai/<model-id-from-your-list>
anthropic/<model-id-from-your-list>
google/<model-id-from-your-list>
ข้อความใน <...> เป็น placeholder ไม่ใช่ชื่อโมเดลจริง ให้คัดลอก ID จากรายการของคุณ ชื่อโมเดลและสิทธิ์ใช้งานเปลี่ยนได้ ไม่ควรเดาจากชื่อที่เห็นในเว็บแชต [8]
เมื่อต้องการค่าเริ่มต้นสำหรับงานใหม่ ให้เพิ่ม model ใน config เดิม ตัวอย่างต่อไปนี้เป็น template ที่ต้องแทน placeholder ก่อนใช้:
{
"$schema": "https://opencode.ai/config.json",
"model": "openai/REPLACE_WITH_AN_AVAILABLE_MODEL_ID"
}
การเลือกด้วย /models มีผลต่อ session ปัจจุบัน ส่วนการแก้ model ใน config ใช้ตั้งค่าเริ่มต้น และไม่ได้เปลี่ยนโมเดลที่ session เดิมเลือกไว้อัตโนมัติ [8]
#ส่งงานหนึ่งครั้งจาก Terminal
แทนค่า ID ในตัวอย่างนี้ก่อนรัน:
opencode run --standalone --model "openai/REPLACE_WITH_AN_AVAILABLE_MODEL_ID" "อธิบายโครงสร้างโปรเจกต์นี้เป็นภาษาไทย โดยไม่แก้ไขไฟล์"
เปลี่ยนเป็น anthropic/... หรือ google/... เพื่อใช้ provider อื่น ต้องเชื่อมต่อหรือส่ง credentials ให้พร้อมก่อน [5][8]
#9. เวิร์กช็อป: ใช้สามค่ายช่วยพัฒนาฟังก์ชันคิดส่วนลด
ตัวอย่างนี้เป็น workflow ที่ผู้เขียนเสนอสำหรับฝึกใช้งาน ใช้โมเดลทีละขั้น ไม่ใช่ผลเปรียบเทียบว่าโมเดลค่ายใดเก่งที่สุด
#9.1 เตรียมโปรเจกต์
ใช้ Node.js รุ่นที่รองรับ built-in test runner:
mkdir opencode-discount-lab
cd opencode-discount-lab
npm init -y
npm pkg set type=module
npm pkg set scripts.test="node --test"
git init
เริ่ม OpenCode แล้วเชื่อมต่อ provider ตามขั้นตอนก่อนหน้า หากใช้ config และ environment variables ให้เปิดด้วย opencode --standalone
#9.2 ใช้ OpenAI ช่วยวางแผน
เลือกโมเดลของ OpenAI ผ่าน /models และเลือก Plan ผ่าน /agents จากนั้นส่ง:
วางแผนสร้าง JavaScript module สำหรับคำนวณราคาหลังหักส่วนลด
ข้อกำหนด:
- ฟังก์ชันชื่อ calculateDiscountedPrice(price, discountPercent)
- price ต้องเป็น finite number และไม่ติดลบ
- discountPercent ต้องเป็น finite number ระหว่าง 0 ถึง 100
- input ไม่ถูกต้องให้โยน RangeError
- ผลลัพธ์ปัดเป็นทศนิยม 2 ตำแหน่งและคืนเป็น number
- ใช้ Node.js built-in test runner ไม่เพิ่ม dependency
แจกแจง test cases และไฟล์ที่จำเป็นก่อน ยังไม่แก้ไฟล์
Plan agent ใช้สำรวจและวางแผนโดยไม่แก้ไฟล์โปรเจกต์ปกติ แต่สิทธิ์เรียก shell ยังขึ้นกับการตั้งค่า ไม่ควรถือว่าการพิมพ์คำว่า “วางแผน” เป็นตัวแทนของการกำหนดสิทธิ์เครื่องมือ [12]
#9.3 ใช้ Claude ช่วยลงมือเขียน
สลับไปโมเดล Claude ผ่าน /models และเลือก Build ผ่าน /agents ส่งข้อกำหนดเดิมพร้อมแผนที่ยอมรับแล้ว:
สร้าง calculate-discount.js และ calculate-discount.test.js
ตามข้อกำหนดและแผนที่ยอมรับแล้ว
ใช้ node:test และ node:assert/strict
ให้ครอบคลุมราคาปกติ ส่วนลด 0% และ 100% การปัดทศนิยม
ค่าติดลบ ค่าเกินช่วง NaN Infinity และ input ที่ไม่ใช่ number
รัน npm test แล้วสรุปไฟล์ที่เปลี่ยนและผลการทดสอบ
หากรันไม่ได้ ให้บอกเหตุผลจริง ห้ามรายงานว่าผ่านโดยไม่ได้รัน
ตัวอย่างผลลัพธ์ที่คาดหวัง:
| Input | ผลลัพธ์ |
|---|---|
calculateDiscountedPrice(100, 10) |
90 |
calculateDiscountedPrice(100, 0) |
100 |
calculateDiscountedPrice(100, 100) |
0 |
calculateDiscountedPrice(99.99, 15) |
84.99 |
calculateDiscountedPrice(-1, 10) |
RangeError |
calculateDiscountedPrice(100, 101) |
RangeError |
calculateDiscountedPrice("100", 10) |
RangeError |
#9.4 ใช้ Gemini ช่วยตรวจทาน
สลับไปโมเดล Gemini จาก /models แล้วส่ง:
ตรวจทาน @calculate-discount.js และ @calculate-discount.test.js
เทียบกับข้อกำหนดฟังก์ชันคิดส่วนลด
เน้น validation, floating-point rounding และ test cases ที่ยังขาด
รายงานแต่ละประเด็นพร้อมตัวอย่าง input ที่ทำให้เห็นปัญหา
ยังไม่แก้ไขไฟล์ และอย่ารันคำสั่งที่เปลี่ยนไฟล์
OpenCode รองรับการพิมพ์ @ เพื่อเลือกไฟล์เป็นบริบท หากเปิด session ใหม่ ให้แนบข้อกำหนดหรือแผนเดิมด้วย ไม่ควรคาดหวังว่าโมเดลจะรู้รายละเอียดจาก session อื่น [13]
ข้อความ “ยังไม่แก้ไขไฟล์” เป็นคำสั่งเชิงพฤติกรรม หากต้องการบังคับสิทธิ์แบบอ่านอย่างเดียว ให้กำหนด permissions หรือ reviewer agent เพิ่มเติมตามเอกสาร [12]
#9.5 ตรวจสอบด้วยตนเอง
npm test
git status --short
git diff
เพราะไฟล์ที่สร้างใหม่ยังเป็น untracked file ให้เปิดอ่านไฟล์เหล่านั้นด้วย git diff ปกติไม่แสดงเนื้อหาไฟล์ untracked
สำหรับระบบการเงินจริง ควรออกแบบกฎการปัดเศษและการแทนจำนวนเงินให้ชัดเจน ตัวอย่างนี้เป็นแบบฝึกใช้ agent กับ JavaScript number เท่านั้น
#10. เขียน AGENTS.md ให้ทุกโมเดลทำงานตามกติกาเดียวกัน
OpenCode อ่าน project instructions จาก AGENTS.md ได้ [14] ตัวอย่างเนื้อหาที่แนะนำสำหรับเวิร์กช็อป:
# Project Instructions
## Project
- JavaScript ES modules on Node.js
- Test command: npm test
## Working rules
- อธิบายและสรุปงานเป็นภาษาไทย
- อ่านไฟล์ที่เกี่ยวข้องก่อนแก้ไข
- ห้ามเพิ่ม dependency โดยไม่มีเหตุผลที่จำเป็น
- งานแก้พฤติกรรมต้องมี test case ที่เกี่ยวข้อง
- รายงานคำสั่งทดสอบและผลที่เกิดขึ้นจริง
- ห้ามอ่านหรือแสดงค่า API keys และไฟล์ secrets
- ก่อนจบงาน ระบุไฟล์ที่เปลี่ยนและประเด็นที่ยังไม่ได้ตรวจสอบ
ไฟล์นี้ช่วยทำให้ข้อกำหนดงานสม่ำเสมอเมื่อสลับโมเดล แต่ไม่ใช่ตัวแทนของระบบ permissions หรือการตรวจทานโค้ด
#11. ปัญหาที่พบบ่อย
ตารางนี้เป็นแนวทางวินิจฉัยเบื้องต้น ต้องอ่าน error message จาก provider และรุ่นที่ใช้อยู่ประกอบ
| อาการ | สิ่งที่ควรตรวจสอบ |
|---|---|
opencode ไม่พบคำสั่ง |
การติดตั้ง PATH และ Terminal ที่เปิดหลังติดตั้ง |
| หน้าจอหรือ config ไม่ตรงบทความ | ตรวจ opencode --version และแพ็กเกจ V1/V2 |
| 401 / authentication failed | key ถูกต้อง ยังใช้งานได้ และเลือก provider ถูกค่าย |
| 403 / access denied | สิทธิ์บัญชี โปรเจกต์ โมเดล และข้อจำกัดของ key |
| 429 / quota หรือ rate limit | โควตา ความถี่คำขอ และ billing ของ provider |
| Model not found | คัดลอก ID จาก /models หรือ opencode models ใหม่ |
| export key แล้วโมเดลยังไม่พร้อม | server process ได้รับ environment หรือไม่ ลอง --standalone |
| ใช้บัญชีไม่ตรงที่ตั้งใจ | ดู opencode auth list และบัญชี active ผ่าน /connect |
| Gemini key ใช้ไม่ได้ | ตรวจโปรเจกต์ สถานะและ restrictions ของ key ใน AI Studio |
| สลับโมเดลแล้วผลลัพธ์ต่างกัน | ใช้ข้อกำหนด บริบท และ test cases เดียวกันในการตรวจ |
Google ระบุว่า key แบบเก่าที่ไม่มี restrictions อาจถูกปฏิเสธหรือถูกบล็อก ตรวจสถานะใน AI Studio และทำตามแนวทางจัดการ key ปัจจุบัน [11]
คำสั่งประกอบการตรวจสอบ:
opencode --version
opencode auth list
opencode models
opencode run --help
#12. ค่าใช้จ่ายและการใช้งานในชั้นเรียน
สำหรับการสอนหรือทดลองหลายโมเดล แนะนำให้กำหนดจำนวนงานและจำนวนรอบก่อนเริ่ม เช่น ใช้โจทย์เดียวกันสามค่าย ค่ายละหนึ่งรอบ แล้วบันทึกผล
| รายการบันทึก | ตัวอย่าง |
|---|---|
| วันที่และเวอร์ชันเครื่องมือ | วันที่ทดลอง และผล opencode --version |
| Provider และ Model ID | ค่าที่เลือกจริงจากรายการ |
| งานที่มอบหมาย | วางแผน สร้างโค้ด หรือตรวจทาน |
| บริบทเริ่มต้น | ไฟล์ ข้อกำหนด และ commit เริ่มต้น |
| ความถูกต้อง | จำนวน tests ที่ผ่าน และ bug ที่ตรวจพบจริง |
| เวลาและค่าใช้จ่าย | เวลาที่วัด และ usage จาก dashboard |
หากต้องการเปรียบเทียบความสามารถของโมเดล ให้เริ่มจากสำเนาโค้ดเดียวกันและใช้ prompt เดียวกัน การให้ค่ายหนึ่งเขียนต่อจากอีกค่ายเหมาะกับการฝึก workflow แต่ไม่ใช่การทดลองเปรียบเทียบที่ควบคุมเงื่อนไข
เก็บ API key ไว้นอก repository และตั้ง budget หรือ usage alerts ตามที่ provider รองรับ อย่าใช้ไฟล์ config ที่มี key จริงเป็นสื่อแจกนักศึกษา [9][11]
#เอกสารอ้างอิง
ตรวจสอบเมื่อ 17 ตุลาคม 2026 รายการโมเดล ตัวเลือก authentication และแพ็กเกจอาจเปลี่ยนตามรุ่น
- OpenCode V2 — Intro และการติดตั้ง
- OpenCode V2 — Migrate from V1
- OpenCode V2 — Provider accounts และ Environment
- OpenCode V2 — Providers
- OpenCode V2 — CLI commands
- OpenCode V2 — Config และ Variable substitution
- OpenCode V2 — CLI และ Background service
- OpenCode V2 — Models
- OpenAI — API authentication
- Anthropic — Claude API overview
- Google — Using Gemini API keys
- OpenCode V2 — Agents
- OpenCode V2 — TUI
- OpenCode V2 — Instructions
สถานะการตรวจสอบ: ตรวจคำสั่งและโครงสร้างตัวอย่างกับเอกสารทางการแล้ว แต่ยังไม่ได้เชื่อมต่อหรือทดสอบเรียก API จริงด้วยบัญชีของผู้ใช้ ผลเวิร์กช็อปต้องยืนยันจากการรันในเครื่องและสิทธิ์ของแต่ละบัญชี