CLI
สัญญาณและคำสั่งของ OpenCode CLI
OpenCode CLI จะเริ่มต้น TUI เป็นค่าเริ่มต้นเมื่อเรียกใช้โดยไม่มีอาร์กิวเมนต์
opencodeนอกจากนี้ยังรับคำสั่งและแฟล็ก ซึ่งช่วยให้คุณใช้ OpenCode ผ่านโปรแกรมได้
opencode run "Explain how closures work in JavaScript"tui
เริ่ม TUI เพื่อใช้ OpenCode แบบโต้ตอบ
opencode [project]แฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--continue | -c | ดำเนินการต่อจากเซสชันล่าสุด |
--session | -s | ID เซสชันเพื่อดำเนินการต่อ |
--fork | แยกเซสชันเมื่อทำต่อ (ใช้กับ --continue หรือ --session) | |
--prompt | พรอมต์เริ่มต้นที่จะใช้ | |
--model | -m | โมเดลที่จะใช้ในรูปแบบ provider/model |
--agent | เอเจนต์ที่จะใช้ | |
--port | พอร์ตที่จะฟัง | |
--hostname | ชื่อโฮสต์ที่จะฟัง |
คำสั่ง
OpenCode CLI ยังมีคำสั่งย่อยอีกมากมาย
agent
จัดการเอเจนต์สำหรับ OpenCode
opencode agent [command]attach
เชื่อมต่อกับเซิร์ฟเวอร์แบ็กเอนด์ OpenCode ที่กำลังทำงานอยู่ ซึ่งเริ่มต้นผ่านคำสั่ง serve หรือ web
opencode attach [url]วิธีนี้ช่วยให้คุณใช้ TUI กับแบ็กเอนด์ OpenCode ระยะไกลได้ ตัวอย่าง:
# Start the backend server for web/mobile accessopencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backendopencode attach http://10.20.30.40:4096แฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--dir | ไดเร็กทอรีการทำงานเพื่อเริ่มต้น TUI ใน | |
--session | -s | ID เซสชันเพื่อดำเนินการต่อ |
create
สร้างเอเจนต์ใหม่
opencode agent createคำสั่งนี้จะแนะนำคุณตลอดกระบวนการสร้างเอเจนต์ใหม่ พร้อมพรอมต์ระบบและความสามารถของเครื่องมือ
list
แสดงรายชื่อเอเจนต์ที่พร้อมใช้งานทั้งหมด
opencode agent listauth
จัดการการตรวจสอบสิทธิ์และข้อมูลรับรอง
opencode auth [command]login
OpenCode ได้รับการกำหนดค่าไว้ล่วงหน้าด้วยรายชื่อผู้ให้บริการทั่วไปที่ Models.dev ดังนั้นคุณเพียงแค่ต้องใส่คีย์ API สำหรับผู้ให้บริการที่คุณต้องการใช้ ข้อมูลนี้จะถูกเก็บไว้ที่ ~/.local/share/opencode/auth.json
opencode auth loginเมื่อ OpenCode เริ่มต้น ระบบจะโหลดข้อมูลรับรองจากไฟล์นี้ ดังนั้นคุณจึงไม่ต้องกังวลกับการตั้งค่าตัวแปรสภาพแวดล้อมหรือไฟล์ .env ในโปรเจ็กต์ของคุณ
list
แสดงรายการข้อมูลรับรองการตรวจสอบสิทธิ์ทั้งหมดที่กำหนดค่าไว้
opencode auth listหรือใช้นามแฝงสั้น
opencode auth lslogout
ออกจากระบบของผู้ให้บริการและลบข้อมูลรับรองออกจากไฟล์ auth
opencode auth logoutgithub
จัดการเอเจนต์ GitHub สำหรับเวิร์กโฟลว์อัตโนมัติ
opencode github [command]install
ติดตั้งเอเจนต์ GitHub ใน repository ของคุณ
opencode github installคำสั่งนี้จะสร้างเวิร์กโฟลว์ GitHub Actions และแนะนำคุณตลอดกระบวนการตั้งค่า เรียนรู้เพิ่มเติม
run
รันเอเจนต์ GitHub ด้วยตนเองหรือใน GitHub Actions
opencode github runแฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--event | เหตุการณ์ GitHub เพื่อทริกเกอร์เอเจนต์ |
--token | GitHub token |
mcp
จัดการเซิร์ฟเวอร์ Model Context Protocol (MCP)
opencode mcp [command]add
เพิ่มเซิร์ฟเวอร์ MCP ลงในการกำหนดค่าของคุณ
opencode mcp addคำสั่งนี้จะแนะนำคุณผ่านวิซาร์ดเพื่อกำหนดค่าเซิร์ฟเวอร์ MCP ใหม่
list
แสดงรายชื่อเซิร์ฟเวอร์ MCP ทั้งหมดที่กำหนดค่าไว้และสถานะ
opencode mcp listหรือใช้นามแฝงสั้น
opencode mcp lsauth
ยืนยันตัวตนกับเซิร์ฟเวอร์ MCP ที่ต้องการ OAuth
opencode mcp auth [name]หากไม่ระบุชื่อเซิร์ฟเวอร์ คุณจะได้รับแจ้งให้เลือกจากเซิร์ฟเวอร์ที่รองรับ OAuth ที่พร้อมใช้งาน
คุณยังสามารถแสดงรายการสถานะการตรวจสอบสิทธิ์ OAuth ได้:
opencode mcp auth listหรือใช้นามแฝงสั้น
opencode mcp auth lslogout
ลบข้อมูลรับรอง OAuth สำหรับเซิร์ฟเวอร์ MCP
opencode mcp logout [name]debug
ดีบักการเชื่อมต่อเซิร์ฟเวอร์ MCP
opencode mcp debug <name>models
แสดงรายการโมเดลที่พร้อมใช้งานทั้งหมดจากผู้ให้บริการที่กำหนดค่าไว้
opencode models [provider]คำสั่งนี้จะแสดง ID โมเดลทั้งหมดในรูปแบบ provider/model
คุณสามารถใช้ชื่อโมเดลเหล่านี้ในการกำหนดค่า config ของคุณ
คุณยังสามารถส่งผ่านรหัสผู้ให้บริการเพื่อกรองโมเดลตามผู้ให้บริการรายนั้นได้
opencode models anthropicแฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--refresh | รีเฟรชแคชโมเดลจาก models.dev |
--verbose | แสดงรายละเอียดโมเดลเพิ่มเติม (รวมข้อมูลเมตาเช่นต้นทุน) |
--json | แสดงผลลัพธ์เป็น JSON |
ใช้แฟล็ก --refresh เพื่ออัปเดตรายการโมเดลที่แคชไว้ มีประโยชน์เมื่อมีการเพิ่มโมเดลใหม่ให้กับผู้ให้บริการและคุณต้องการเห็นใน OpenCode
opencode models --refreshrun
รัน OpenCode โดยไม่ต้องใช้ TUI โดยส่งพรอมต์โดยตรง
opencode run [message..]มีประโยชน์สำหรับการทำงานอัตโนมัติหรือเมื่อต้องการคำตอบอย่างรวดเร็วโดยไม่ต้องเปิด TUI ตัวอย่าง:
opencode run Explain the use of context in Goคุณยังสามารถแนบไปกับเซิร์ฟเวอร์ opencode serve ที่ทำงานอยู่ หรือใช้เซิร์ฟเวอร์ MCP แบบ headless:
# Start a headless server in one terminalopencode serve
# In another terminal, run commands that attach to itopencode run --attach http://localhost:4096 "Explain async/await in JavaScript"แฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--command | คำสั่งที่จะรัน (ใช้ส่วนที่เหลือของ args เป็นอาร์กิวเมนต์) | |
--continue | -c | ดำเนินการต่อจากเซสชันล่าสุด |
--session | -s | ID เซสชันเพื่อดำเนินการต่อ |
--fork | แยกเซสชันเมื่อทำต่อ (ใช้กับ --continue หรือ --session) | |
--share | สร้างลิงก์แชร์สำหรับเซสชัน | |
--model | -m | โมเดลที่จะใช้ในรูปแบบ provider/model |
--agent | เอเจนต์ที่จะใช้ | |
--file | -f | แนบไฟล์ไปกับข้อความ |
--format | รูปแบบเอาต์พุต: text (จัดรูปแบบ) หรือ json (JSON ดิบ) | |
--title | ชื่อสำหรับเซสชัน (หากไม่ได้ระบุ จะสร้างจากพรอมต์) | |
--attach | แนบไปกับเซิร์ฟเวอร์ opencode ที่ทำงานอยู่ (เช่น http://localhost:4096) | |
--port | พอร์ตสำหรับเซิร์ฟเวอร์ภายในเครื่อง (หากไม่ได้ระบุ จะใช้พอร์ตสุ่ม) |
serve
เริ่มต้นเซิร์ฟเวอร์ OpenCode headless ที่ให้บริการ API HTTP ดู เอกสารเซิร์ฟเวอร์ สำหรับรายละเอียด API เต็มรูปแบบ
opencode serveคำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP ให้ API เข้าถึงฟังก์ชันการทำงานของ OpenCode ได้โดยไม่ต้องมี TUI นอกจากนี้ยังรองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)
แฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--port | พอร์ตที่จะฟัง |
--hostname | ชื่อโฮสต์ที่จะฟัง |
--mdns | เปิดใช้งานการค้นหา mDNS |
--cors | ต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS |
session
จัดการเซสชัน OpenCode
opencode session [command]list
แสดงรายการเซสชัน OpenCode ทั้งหมด
opencode session listแฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--max-count | -n | จำกัดการแสดงผล N รายการล่าสุด |
--format | รูปแบบ table หรือ json |
stats
แสดงสถิติการใช้งานและค่าใช้จ่ายสำหรับ OpenCode ของคุณ
opencode statsแฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--days | แสดงสถิติของ N วันที่ผ่านมา (ค่าเริ่มต้น: ตลอดเวลา) |
--tools | แสดงสถิติการใช้เครื่องมือ |
--models | แสดงรายละเอียดการใช้งานโมเดล (ซ่อนไว้ตามค่าเริ่มต้น) |
--project | กรองตามโครงการ (ค่าเริ่มต้น: โครงการปัจจุบัน) |
export
ส่งออกประวัติเซสชันเป็น JSON
opencode export [sessionID]หากไม่ระบุรหัสเซสชัน คุณจะได้รับแจ้งให้เลือกจากรายการล่าสุด
import
นำเข้าเซสชันจากไฟล์ JSON หรือ URL ที่แชร์ของ OpenCode
opencode import <file>คุณสามารถนำเข้าไฟล์ในเครื่องหรือ URL ที่แชร์
opencode import session.jsonopencode import https://opncd.ai/s/abc123web
เริ่ม OpenCode ในโหมดเซิร์ฟเวอร์พร้อมเว็บอินเตอร์เฟส
opencode webคำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP และเปิดเว็บเบราว์เซอร์เพื่อเข้าถึง OpenCode ผ่านทางเว็บอินเตอร์เฟส รองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)
แฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--port | พอร์ตที่จะฟัง |
--hostname | ชื่อโฮสต์ที่จะฟัง |
--mdns | เปิดใช้งานการค้นหา mDNS |
--cors | ต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS |
acp
เริ่มต้นเซิร์ฟเวอร์ ACP (Agent Client Protocol)
opencode acpคำสั่งนี้เริ่มต้นเซิร์ฟเวอร์ ACP ที่สื่อสารผ่าน stdin/stdout ด้วย nd-JSON
แฟล็ก
| แฟล็ก | คำอธิบาย |
|---|---|
--cwd | ไดเร็กทอรีการทำงาน |
--port | พอร์ตที่จะฟัง |
--hostname | ชื่อโฮสต์ที่จะฟัง |
uninstall
ถอนการติดตั้ง OpenCode และลบข้อมูลการกำหนดค่าทั้งหมด
opencode uninstallแฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--keep-config | -c | เก็บไฟล์การกำหนดค่าไว้ |
--keep-data | -d | เก็บไฟล์ข้อมูล (เซสชันและสแน็ปช็อต) |
--dry-run | แสดงสิ่งที่จะลบออกโดยไม่ต้องทำจริง | |
--force | -f | บังคับลบโดยไม่มีการแจ้งเตือน |
upgrade
อัปเกรด OpenCode เป็นเวอร์ชันล่าสุดหรือเวอร์ชันที่ระบุ
opencode upgrade [target]อัปเกรดเป็นเวอร์ชันล่าสุด
opencode upgradeอัปเกรดเป็นเวอร์ชันที่ระบุ
opencode upgrade v0.1.48แฟล็ก
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--method | -m | วิธีการติดตั้งที่ใช้ curl, npm, pnpm, bun, brew |
แฟล็กระดับโลก
OpenCode CLI ยอมรับแฟล็กสากลต่อไปนี้สำหรับทุกคำสั่ง
| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
--help | -h | แสดงความช่วยเหลือ |
--version | -v | พิมพ์เวอร์ชัน |
--print-logs | พิมพ์บันทึกไปยัง stderr | |
--log-level | ระดับการบันทึก (DEBUG, INFO, WARN, ERROR) |
ตัวแปรสภาพแวดล้อม
OpenCode สามารถกำหนดค่าโดยใช้ตัวแปรสภาพแวดล้อม
| ตัวแปร | ชนิด | คำอธิบาย |
|---|---|---|
OPENCODE_AUTO_SHARE | Boolean | แชร์เซสชันอัตโนมัติเมื่อสร้าง |
OPENCODE_GIT_BASH_PATH | String | เส้นทางไปยัง Git Bash บน Windows |
OPENCODE_CONFIG | String | เส้นทางไปยังไฟล์การกำหนดค่า |
OPENCODE_CONFIG_DIR | String | เส้นทางไปยังไดเร็กทอรีการกำหนดค่า |
OPENCODE_CONFIG_CONTENT | String | เนื้อหาการกำหนดค่าแบบ inline JSON |
OPENCODE_DISABLE_AUTOUPDATE | Boolean | ปิดใช้งานการอัปเดตอัตโนมัติ |
OPENCODE_DISABLE_PRUNE | Boolean | ปิดใช้งานการลบข้อมูลเซสชันเก่า |
OPENCODE_DISABLE_TERMINAL_TITLE | Boolean | ปิดใช้งานการตั้งชื่อหน้าต่าง terminal |
OPENCODE_PERMISSION | String | การกำหนดค่าสิทธิ์แบบ inline JSON |
OPENCODE_DISABLE_DEFAULT_PLUGINS | Boolean | ปิดใช้งานปลั๊กอินเริ่มต้น |
OPENCODE_DISABLE_LSP_DOWNLOAD | Boolean | ปิดใช้งานการดาวน์โหลด LSP อัตโนมัติ |
OPENCODE_ENABLE_EXPERIMENTAL_MODELS | Boolean | เปิดใช้งานโมเดลทดลอง |
OPENCODE_DISABLE_AUTOCOMPACT | Boolean | ปิดใช้งานการบีบอัดบริบทอัตโนมัติ |
OPENCODE_DISABLE_CLAUDE_CODE | Boolean | ปิดใช้งานการนำเข้าจาก .claude (prompt + skills) |
OPENCODE_DISABLE_CLAUDE_CODE_PROMPT | Boolean | ปิดใช้งานการนำเข้า ~/.claude/CLAUDE.md |
OPENCODE_DISABLE_CLAUDE_CODE_SKILLS | Boolean | ปิดใช้งานการนำเข้า .claude/skills |
OPENCODE_DISABLE_MODELS_FETCH | Boolean | ปิดใช้งานการดึงรายการโมเดลจากระยะไกล |
OPENCODE_FAKE_VCS | String | เปิดใช้งาน VCS จำลองสำหรับการทดสอบ |
OPENCODE_DISABLE_FILETIME_CHECK | Boolean | ปิดใช้งานการตรวจสอบเวลาแก้ไขไฟล์ |
OPENCODE_CLIENT | String | ตัวระบุไคลเอนต์ (ค่าเริ่มต้นคือ cli) |
OPENCODE_ENABLE_EXA | Boolean | เปิดใช้งานการใช้ Exa แทน ls หากมี |
OPENCODE_SERVER_PASSWORD | String | รหัสผ่านสำหรับการตรวจสอบสิทธิ์พื้นฐาน serve/web |
OPENCODE_SERVER_USERNAME | String | ชื่อผู้ใช้สำหรับการตรวจสอบสิทธิ์พื้นฐาน (ค่าเริ่มต้น opencode) |
OPENCODE_MODELS_URL | String | URL ที่กำหนดเองสำหรับการดึงรายการโมเดล |
ขั้นทดลอง
ตัวแปรสภาพแวดล้อมเหล่านี้เปิดใช้งานฟีเจอร์ทดลองที่อาจมีการเปลี่ยนแปลงหรือถูกลบออก
| ตัวแปร | ชนิด | คำอธิบาย |
|---|---|---|
OPENCODE_EXPERIMENTAL | Boolean | เปิดใช้งานฟีเจอร์ทดลองทั้งหมด |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | Boolean | การค้นหาไอคอนทดลอง |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | Boolean | ปิดใช้งานการคัดลอกเมื่อเลือกใน TUI |
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS | Number | การหมดเวลาเริ่มต้นสำหรับคำสั่ง bash ในหน่วย ms |
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX | Number | ขีดจำกัดสูงสุดสำหรับโทเค็นเอาต์พุต LLM |
OPENCODE_EXPERIMENTAL_FILEWATCHER | Boolean | เปิดใช้งานตัวเฝ้าดูไฟล์สำหรับไดเร็กทอรีทั้งหมด |
OPENCODE_EXPERIMENTAL_OXFMT | Boolean | ใช้ oxfmt เป็นตัวจัดรูปแบบ |
OPENCODE_EXPERIMENTAL_LSP_TOOL | Boolean | เปิดใช้งานเครื่องมือ LSP ทดลอง |
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER | Boolean | ปิดใช้งานตัวเฝ้าดูไฟล์ |
OPENCODE_EXPERIMENTAL_EXA | Boolean | ฟีเจอร์ Exa ทดลอง |
OPENCODE_EXPERIMENTAL_LSP_TY | Boolean | การตรวจสอบประเภท LSP แบบทดลอง |
OPENCODE_EXPERIMENTAL_MARKDOWN | Boolean | ใช้ Markdown renderer แบบทดลอง |
OPENCODE_EXPERIMENTAL_PLAN_MODE | Boolean | เปิดใช้งาน Plan mode |