| title | CLI |
|---|---|
| description | สัญญาณและคำสั่งของ OpenCode CLI |
import { Tabs, TabItem } from "@astrojs/starlight/components"
OpenCode CLI จะเริ่มต้น TUI เป็นค่าเริ่มต้นเมื่อเรียกใช้โดยไม่มีอาร์กิวเมนต์
opencodeนอกจากนี้ยังรับคำสั่งและแฟล็ก ซึ่งช่วยให้คุณใช้ OpenCode ผ่านโปรแกรมได้
opencode run "Explain how closures work in JavaScript"เริ่ม TUI เพื่อใช้ OpenCode แบบโต้ตอบ
opencode [project]| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
{"--continue"} |
-c |
ดำเนินการต่อจากเซสชันล่าสุด |
{"--session"} |
-s |
ID เซสชันเพื่อดำเนินการต่อ |
{"--fork"} |
แยกเซสชันเมื่อทำต่อ (ใช้กับ --continue หรือ --session) |
|
{"--prompt"} |
พรอมต์เริ่มต้นที่จะใช้ | |
{"--model"} |
-m |
โมเดลที่จะใช้ในรูปแบบ provider/model |
{"--agent"} |
เอเจนต์ที่จะใช้ | |
{"--port"} |
พอร์ตที่จะฟัง | |
{"--hostname"} |
ชื่อโฮสต์ที่จะฟัง |
OpenCode CLI ยังมีคำสั่งย่อยอีกมากมาย
จัดการเอเจนต์สำหรับ OpenCode
opencode agent [command]เชื่อมต่อกับเซิร์ฟเวอร์แบ็กเอนด์ OpenCode ที่กำลังทำงานอยู่ ซึ่งเริ่มต้นผ่านคำสั่ง serve หรือ web
opencode attach [url]วิธีนี้ช่วยให้คุณใช้ TUI กับแบ็กเอนด์ OpenCode ระยะไกลได้ ตัวอย่าง:
# Start the backend server for web/mobile access
opencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backend
opencode attach http://10.20.30.40:4096| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
{"--dir"} |
ไดเร็กทอรีการทำงานเพื่อเริ่มต้น TUI ใน | |
{"--continue"} |
-c |
ดำเนินการต่อจากเซสชันล่าสุด |
{"--session"} |
-s |
ID เซสชันเพื่อดำเนินการต่อ |
{"--fork"} |
แยกเซสชันเมื่อดำเนินการต่อ (ใช้กับ --continue หรือ --session) |
|
{"--password"} |
-p |
รหัสผ่านการยืนยันตัวตนพื้นฐาน (ค่าเริ่มต้นคือ OPENCODE_SERVER_PASSWORD) |
{"--username"} |
-u |
ชื่อผู้ใช้การยืนยันตัวตนพื้นฐาน (ค่าเริ่มต้นคือ OPENCODE_SERVER_USERNAME หรือ opencode) |
สร้างเอเจนต์ใหม่
opencode agent createคำสั่งนี้จะแนะนำคุณตลอดกระบวนการสร้างเอเจนต์ใหม่ พร้อมพรอมต์ระบบและความสามารถของเครื่องมือ
แสดงรายชื่อเอเจนต์ที่พร้อมใช้งานทั้งหมด
opencode agent listจัดการการตรวจสอบสิทธิ์และข้อมูลรับรอง
opencode auth [command]OpenCode ได้รับการกำหนดค่าไว้ล่วงหน้าด้วยรายชื่อผู้ให้บริการทั่วไปที่ Models.dev ดังนั้นคุณเพียงแค่ต้องใส่คีย์ API สำหรับผู้ให้บริการที่คุณต้องการใช้ ข้อมูลนี้จะถูกเก็บไว้ที่ ~/.local/share/opencode/auth.json
opencode auth loginเมื่อ OpenCode เริ่มต้น ระบบจะโหลดข้อมูลรับรองจากไฟล์นี้ ดังนั้นคุณจึงไม่ต้องกังวลกับการตั้งค่าตัวแปรสภาพแวดล้อมหรือไฟล์ .env ในโปรเจ็กต์ของคุณ
แสดงรายการข้อมูลรับรองการตรวจสอบสิทธิ์ทั้งหมดที่กำหนดค่าไว้
opencode auth listหรือใช้นามแฝงสั้น
opencode auth lsออกจากระบบของผู้ให้บริการและลบข้อมูลรับรองออกจากไฟล์ auth
opencode auth logoutจัดการเอเจนต์ GitHub สำหรับเวิร์กโฟลว์อัตโนมัติ
opencode github [command]ติดตั้งเอเจนต์ GitHub ใน repository ของคุณ
opencode github installคำสั่งนี้จะสร้างเวิร์กโฟลว์ GitHub Actions และแนะนำคุณตลอดกระบวนการตั้งค่า เรียนรู้เพิ่มเติม
รันเอเจนต์ GitHub ด้วยตนเองหรือใน GitHub Actions
opencode github run| แฟล็ก | คำอธิบาย |
|---|---|
{"--event"} |
เหตุการณ์ GitHub เพื่อทริกเกอร์เอเจนต์ |
{"--token"} |
GitHub token |
จัดการเซิร์ฟเวอร์ Model Context Protocol (MCP)
opencode mcp [command]เพิ่มเซิร์ฟเวอร์ MCP ลงในการกำหนดค่าของคุณ
opencode mcp addคำสั่งนี้จะแนะนำคุณผ่านวิซาร์ดเพื่อกำหนดค่าเซิร์ฟเวอร์ MCP ใหม่
แสดงรายชื่อเซิร์ฟเวอร์ MCP ทั้งหมดที่กำหนดค่าไว้และสถานะ
opencode mcp listหรือใช้นามแฝงสั้น
opencode mcp lsยืนยันตัวตนกับเซิร์ฟเวอร์ MCP ที่ต้องการ OAuth
opencode mcp auth [name]หากไม่ระบุชื่อเซิร์ฟเวอร์ คุณจะได้รับแจ้งให้เลือกจากเซิร์ฟเวอร์ที่รองรับ OAuth ที่พร้อมใช้งาน
คุณยังสามารถแสดงรายการสถานะการตรวจสอบสิทธิ์ OAuth ได้:
opencode mcp auth listหรือใช้นามแฝงสั้น
opencode mcp auth lsลบข้อมูลรับรอง OAuth สำหรับเซิร์ฟเวอร์ MCP
opencode mcp logout [name]ดีบักการเชื่อมต่อเซิร์ฟเวอร์ MCP
opencode mcp debug <name>แสดงรายการโมเดลที่พร้อมใช้งานทั้งหมดจากผู้ให้บริการที่กำหนดค่าไว้
opencode models [provider]คำสั่งนี้จะแสดง ID โมเดลทั้งหมดในรูปแบบ provider/model
คุณสามารถใช้ชื่อโมเดลเหล่านี้ในการกำหนดค่า config ของคุณ
คุณยังสามารถส่งผ่านรหัสผู้ให้บริการเพื่อกรองโมเดลตามผู้ให้บริการรายนั้นได้
opencode models anthropic| แฟล็ก | คำอธิบาย |
|---|---|
{"--refresh"} |
รีเฟรชแคชโมเดลจาก models.dev |
{"--verbose"} |
แสดงรายละเอียดโมเดลเพิ่มเติม (รวมข้อมูลเมตาเช่นต้นทุน) |
{"--json"} |
แสดงผลลัพธ์เป็น JSON |
ใช้แฟล็ก --refresh เพื่ออัปเดตรายการโมเดลที่แคชไว้ มีประโยชน์เมื่อมีการเพิ่มโมเดลใหม่ให้กับผู้ให้บริการและคุณต้องการเห็นใน OpenCode
opencode models --refreshรัน 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 terminal
opencode serve
# In another terminal, run commands that attach to it
opencode 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) | |
{"--password"} |
-p |
รหัสผ่านการยืนยันตัวตนพื้นฐาน (ค่าเริ่มต้นคือ OPENCODE_SERVER_PASSWORD) |
{"--username"} |
-u |
ชื่อผู้ใช้การยืนยันตัวตนพื้นฐาน (ค่าเริ่มต้นคือ OPENCODE_SERVER_USERNAME หรือ opencode) |
{"--dir"} |
ไดเร็กทอรีสำหรับรัน หรือเส้นทางบนเซิร์ฟเวอร์ระยะไกลเมื่อแนบ | |
{"--variant"} |
ตัวแปรโมเดล (ระดับการใช้เหตุผลเฉพาะผู้ให้บริการ) | |
{"--thinking"} |
แสดงบล็อกความคิด | |
{"--port"} |
พอร์ตสำหรับเซิร์ฟเวอร์ภายในเครื่อง (หากไม่ได้ระบุ จะใช้พอร์ตสุ่ม) |
เริ่มต้นเซิร์ฟเวอร์ OpenCode headless ที่ให้บริการ API HTTP ดู เอกสารเซิร์ฟเวอร์ สำหรับรายละเอียด API เต็มรูปแบบ
opencode serveคำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP ให้ API เข้าถึงฟังก์ชันการทำงานของ OpenCode ได้โดยไม่ต้องมี TUI นอกจากนี้ยังรองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)
| แฟล็ก | คำอธิบาย |
|---|---|
{"--port"} |
พอร์ตที่จะฟัง |
{"--hostname"} |
ชื่อโฮสต์ที่จะฟัง |
{"--mdns"} |
เปิดใช้งานการค้นหา mDNS |
{"--cors"} |
ต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS |
จัดการเซสชัน OpenCode
opencode session [command]แสดงรายการเซสชัน OpenCode ทั้งหมด
opencode session list| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
{"--max-count"} |
-n |
จำกัดการแสดงผล N รายการล่าสุด |
{"--format"} |
รูปแบบ table หรือ json |
แสดงสถิติการใช้งานและค่าใช้จ่ายสำหรับ OpenCode ของคุณ
opencode stats| แฟล็ก | คำอธิบาย |
|---|---|
{"--days"} |
แสดงสถิติของ N วันที่ผ่านมา (ค่าเริ่มต้น: ตลอดเวลา) |
{"--tools"} |
แสดงสถิติการใช้เครื่องมือ |
{"--models"} |
แสดงรายละเอียดการใช้งานโมเดล (ซ่อนไว้ตามค่าเริ่มต้น) |
{"--project"} |
กรองตามโครงการ (ค่าเริ่มต้น: โครงการปัจจุบัน) |
ส่งออกประวัติเซสชันเป็น JSON
opencode export [sessionID]หากไม่ระบุรหัสเซสชัน คุณจะได้รับแจ้งให้เลือกจากรายการล่าสุด
นำเข้าเซสชันจากไฟล์ JSON หรือ URL ที่แชร์ของ OpenCode
opencode import <file>คุณสามารถนำเข้าไฟล์ในเครื่องหรือ URL ที่แชร์
opencode import session.json
opencode import https://opncd.ai/s/abc123เริ่ม OpenCode ในโหมดเซิร์ฟเวอร์พร้อมเว็บอินเตอร์เฟส
opencode webคำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP และเปิดเว็บเบราว์เซอร์เพื่อเข้าถึง OpenCode ผ่านทางเว็บอินเตอร์เฟส รองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)
| แฟล็ก | คำอธิบาย |
|---|---|
{"--port"} |
พอร์ตที่จะฟัง |
{"--hostname"} |
ชื่อโฮสต์ที่จะฟัง |
{"--mdns"} |
เปิดใช้งานการค้นหา mDNS |
{"--cors"} |
ต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS |
เริ่มต้นเซิร์ฟเวอร์ ACP (Agent Client Protocol)
opencode acpคำสั่งนี้เริ่มต้นเซิร์ฟเวอร์ ACP ที่สื่อสารผ่าน stdin/stdout ด้วย nd-JSON
| แฟล็ก | คำอธิบาย |
|---|---|
{"--cwd"} |
ไดเร็กทอรีการทำงาน |
{"--port"} |
พอร์ตที่จะฟัง |
{"--hostname"} |
ชื่อโฮสต์ที่จะฟัง |
ถอนการติดตั้ง OpenCode และลบข้อมูลการกำหนดค่าทั้งหมด
opencode uninstall| แฟล็ก | สั้น | คำอธิบาย |
|---|---|---|
{"--keep-config"} |
-c |
เก็บไฟล์การกำหนดค่าไว้ |
{"--keep-data"} |
-d |
เก็บไฟล์ข้อมูล (เซสชันและสแน็ปช็อต) |
{"--dry-run"} |
แสดงสิ่งที่จะลบออกโดยไม่ต้องทำจริง | |
{"--force"} |
-f |
บังคับลบโดยไม่มีการแจ้งเตือน |
อัปเกรด 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_TUI_CONFIG |
String | เส้นทางไปยังไฟล์การกำหนดค่า TUI |
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_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 | เปิดใช้งาน TY LSP สำหรับไฟล์ python |
OPENCODE_EXPERIMENTAL_MARKDOWN |
Boolean | ใช้ Markdown renderer แบบทดลอง |
OPENCODE_EXPERIMENTAL_PLAN_MODE |
Boolean | เปิดใช้งาน Plan mode |