Skip to content

CLI

สัญญาณและคำสั่งของ OpenCode CLI

OpenCode CLI จะเริ่มต้น TUI เป็นค่าเริ่มต้นเมื่อเรียกใช้โดยไม่มีอาร์กิวเมนต์

Terminal window
opencode

นอกจากนี้ยังรับคำสั่งและแฟล็ก ซึ่งช่วยให้คุณใช้ OpenCode ผ่านโปรแกรมได้

Terminal window
opencode run "Explain how closures work in JavaScript"

tui

เริ่ม TUI เพื่อใช้ OpenCode แบบโต้ตอบ

Terminal window
opencode [project]

แฟล็ก

แฟล็กสั้นคำอธิบาย
--continue-cดำเนินการต่อจากเซสชันล่าสุด
--session-sID เซสชันเพื่อดำเนินการต่อ
--forkแยกเซสชันเมื่อทำต่อ (ใช้กับ --continue หรือ --session)
--promptพรอมต์เริ่มต้นที่จะใช้
--model-mโมเดลที่จะใช้ในรูปแบบ provider/model
--agentเอเจนต์ที่จะใช้
--portพอร์ตที่จะฟัง
--hostnameชื่อโฮสต์ที่จะฟัง

คำสั่ง

OpenCode CLI ยังมีคำสั่งย่อยอีกมากมาย


agent

จัดการเอเจนต์สำหรับ OpenCode

Terminal window
opencode agent [command]

attach

เชื่อมต่อกับเซิร์ฟเวอร์แบ็กเอนด์ OpenCode ที่กำลังทำงานอยู่ ซึ่งเริ่มต้นผ่านคำสั่ง serve หรือ web

Terminal window
opencode attach [url]

วิธีนี้ช่วยให้คุณใช้ TUI กับแบ็กเอนด์ OpenCode ระยะไกลได้ ตัวอย่าง:

Terminal window
# 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 ใน
--session-sID เซสชันเพื่อดำเนินการต่อ

create

สร้างเอเจนต์ใหม่

Terminal window
opencode agent create

คำสั่งนี้จะแนะนำคุณตลอดกระบวนการสร้างเอเจนต์ใหม่ พร้อมพรอมต์ระบบและความสามารถของเครื่องมือ


list

แสดงรายชื่อเอเจนต์ที่พร้อมใช้งานทั้งหมด

Terminal window
opencode agent list

auth

จัดการการตรวจสอบสิทธิ์และข้อมูลรับรอง

Terminal window
opencode auth [command]

login

OpenCode ได้รับการกำหนดค่าไว้ล่วงหน้าด้วยรายชื่อผู้ให้บริการทั่วไปที่ Models.dev ดังนั้นคุณเพียงแค่ต้องใส่คีย์ API สำหรับผู้ให้บริการที่คุณต้องการใช้ ข้อมูลนี้จะถูกเก็บไว้ที่ ~/.local/share/opencode/auth.json

Terminal window
opencode auth login

เมื่อ OpenCode เริ่มต้น ระบบจะโหลดข้อมูลรับรองจากไฟล์นี้ ดังนั้นคุณจึงไม่ต้องกังวลกับการตั้งค่าตัวแปรสภาพแวดล้อมหรือไฟล์ .env ในโปรเจ็กต์ของคุณ


list

แสดงรายการข้อมูลรับรองการตรวจสอบสิทธิ์ทั้งหมดที่กำหนดค่าไว้

Terminal window
opencode auth list

หรือใช้นามแฝงสั้น

Terminal window
opencode auth ls

logout

ออกจากระบบของผู้ให้บริการและลบข้อมูลรับรองออกจากไฟล์ auth

Terminal window
opencode auth logout

github

จัดการเอเจนต์ GitHub สำหรับเวิร์กโฟลว์อัตโนมัติ

Terminal window
opencode github [command]

install

ติดตั้งเอเจนต์ GitHub ใน repository ของคุณ

Terminal window
opencode github install

คำสั่งนี้จะสร้างเวิร์กโฟลว์ GitHub Actions และแนะนำคุณตลอดกระบวนการตั้งค่า เรียนรู้เพิ่มเติม


run

รันเอเจนต์ GitHub ด้วยตนเองหรือใน GitHub Actions

Terminal window
opencode github run
แฟล็ก
แฟล็กคำอธิบาย
--eventเหตุการณ์ GitHub เพื่อทริกเกอร์เอเจนต์
--tokenGitHub token

mcp

จัดการเซิร์ฟเวอร์ Model Context Protocol (MCP)

Terminal window
opencode mcp [command]

add

เพิ่มเซิร์ฟเวอร์ MCP ลงในการกำหนดค่าของคุณ

Terminal window
opencode mcp add

คำสั่งนี้จะแนะนำคุณผ่านวิซาร์ดเพื่อกำหนดค่าเซิร์ฟเวอร์ MCP ใหม่


list

แสดงรายชื่อเซิร์ฟเวอร์ MCP ทั้งหมดที่กำหนดค่าไว้และสถานะ

Terminal window
opencode mcp list

หรือใช้นามแฝงสั้น

Terminal window
opencode mcp ls

auth

ยืนยันตัวตนกับเซิร์ฟเวอร์ MCP ที่ต้องการ OAuth

Terminal window
opencode mcp auth [name]

หากไม่ระบุชื่อเซิร์ฟเวอร์ คุณจะได้รับแจ้งให้เลือกจากเซิร์ฟเวอร์ที่รองรับ OAuth ที่พร้อมใช้งาน

คุณยังสามารถแสดงรายการสถานะการตรวจสอบสิทธิ์ OAuth ได้:

Terminal window
opencode mcp auth list

หรือใช้นามแฝงสั้น

Terminal window
opencode mcp auth ls

logout

ลบข้อมูลรับรอง OAuth สำหรับเซิร์ฟเวอร์ MCP

Terminal window
opencode mcp logout [name]

debug

ดีบักการเชื่อมต่อเซิร์ฟเวอร์ MCP

Terminal window
opencode mcp debug <name>

models

แสดงรายการโมเดลที่พร้อมใช้งานทั้งหมดจากผู้ให้บริการที่กำหนดค่าไว้

Terminal window
opencode models [provider]

คำสั่งนี้จะแสดง ID โมเดลทั้งหมดในรูปแบบ provider/model

คุณสามารถใช้ชื่อโมเดลเหล่านี้ในการกำหนดค่า config ของคุณ

คุณยังสามารถส่งผ่านรหัสผู้ให้บริการเพื่อกรองโมเดลตามผู้ให้บริการรายนั้นได้

Terminal window
opencode models anthropic

แฟล็ก

แฟล็กคำอธิบาย
--refreshรีเฟรชแคชโมเดลจาก models.dev
--verboseแสดงรายละเอียดโมเดลเพิ่มเติม (รวมข้อมูลเมตาเช่นต้นทุน)
--jsonแสดงผลลัพธ์เป็น JSON

ใช้แฟล็ก --refresh เพื่ออัปเดตรายการโมเดลที่แคชไว้ มีประโยชน์เมื่อมีการเพิ่มโมเดลใหม่ให้กับผู้ให้บริการและคุณต้องการเห็นใน OpenCode

Terminal window
opencode models --refresh

run

รัน OpenCode โดยไม่ต้องใช้ TUI โดยส่งพรอมต์โดยตรง

Terminal window
opencode run [message..]

มีประโยชน์สำหรับการทำงานอัตโนมัติหรือเมื่อต้องการคำตอบอย่างรวดเร็วโดยไม่ต้องเปิด TUI ตัวอย่าง:

Terminal window
opencode run Explain the use of context in Go

คุณยังสามารถแนบไปกับเซิร์ฟเวอร์ opencode serve ที่ทำงานอยู่ หรือใช้เซิร์ฟเวอร์ MCP แบบ headless:

Terminal window
# 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-sID เซสชันเพื่อดำเนินการต่อ
--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 เต็มรูปแบบ

Terminal window
opencode serve

คำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP ให้ API เข้าถึงฟังก์ชันการทำงานของ OpenCode ได้โดยไม่ต้องมี TUI นอกจากนี้ยังรองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)

แฟล็ก

แฟล็กคำอธิบาย
--portพอร์ตที่จะฟัง
--hostnameชื่อโฮสต์ที่จะฟัง
--mdnsเปิดใช้งานการค้นหา mDNS
--corsต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS

session

จัดการเซสชัน OpenCode

Terminal window
opencode session [command]

list

แสดงรายการเซสชัน OpenCode ทั้งหมด

Terminal window
opencode session list
แฟล็ก
แฟล็กสั้นคำอธิบาย
--max-count-nจำกัดการแสดงผล N รายการล่าสุด
--formatรูปแบบ table หรือ json

stats

แสดงสถิติการใช้งานและค่าใช้จ่ายสำหรับ OpenCode ของคุณ

Terminal window
opencode stats

แฟล็ก

แฟล็กคำอธิบาย
--daysแสดงสถิติของ N วันที่ผ่านมา (ค่าเริ่มต้น: ตลอดเวลา)
--toolsแสดงสถิติการใช้เครื่องมือ
--modelsแสดงรายละเอียดการใช้งานโมเดล (ซ่อนไว้ตามค่าเริ่มต้น)
--projectกรองตามโครงการ (ค่าเริ่มต้น: โครงการปัจจุบัน)

export

ส่งออกประวัติเซสชันเป็น JSON

Terminal window
opencode export [sessionID]

หากไม่ระบุรหัสเซสชัน คุณจะได้รับแจ้งให้เลือกจากรายการล่าสุด


import

นำเข้าเซสชันจากไฟล์ JSON หรือ URL ที่แชร์ของ OpenCode

Terminal window
opencode import <file>

คุณสามารถนำเข้าไฟล์ในเครื่องหรือ URL ที่แชร์

Terminal window
opencode import session.json
opencode import https://opncd.ai/s/abc123

web

เริ่ม OpenCode ในโหมดเซิร์ฟเวอร์พร้อมเว็บอินเตอร์เฟส

Terminal window
opencode web

คำสั่งนี้จะเริ่มต้นเซิร์ฟเวอร์ HTTP และเปิดเว็บเบราว์เซอร์เพื่อเข้าถึง OpenCode ผ่านทางเว็บอินเตอร์เฟส รองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP (ชื่อผู้ใช้เริ่มต้นคือ opencode และรหัสผ่านระบุโดย OPENCODE_SERVER_PASSWORD)

แฟล็ก

แฟล็กคำอธิบาย
--portพอร์ตที่จะฟัง
--hostnameชื่อโฮสต์ที่จะฟัง
--mdnsเปิดใช้งานการค้นหา mDNS
--corsต้นกำเนิดเพิ่มเติมที่อนุญาตสำหรับ CORS

acp

เริ่มต้นเซิร์ฟเวอร์ ACP (Agent Client Protocol)

Terminal window
opencode acp

คำสั่งนี้เริ่มต้นเซิร์ฟเวอร์ ACP ที่สื่อสารผ่าน stdin/stdout ด้วย nd-JSON

แฟล็ก

แฟล็กคำอธิบาย
--cwdไดเร็กทอรีการทำงาน
--portพอร์ตที่จะฟัง
--hostnameชื่อโฮสต์ที่จะฟัง

uninstall

ถอนการติดตั้ง OpenCode และลบข้อมูลการกำหนดค่าทั้งหมด

Terminal window
opencode uninstall

แฟล็ก

แฟล็กสั้นคำอธิบาย
--keep-config-cเก็บไฟล์การกำหนดค่าไว้
--keep-data-dเก็บไฟล์ข้อมูล (เซสชันและสแน็ปช็อต)
--dry-runแสดงสิ่งที่จะลบออกโดยไม่ต้องทำจริง
--force-fบังคับลบโดยไม่มีการแจ้งเตือน

upgrade

อัปเกรด OpenCode เป็นเวอร์ชันล่าสุดหรือเวอร์ชันที่ระบุ

Terminal window
opencode upgrade [target]

อัปเกรดเป็นเวอร์ชันล่าสุด

Terminal window
opencode upgrade

อัปเกรดเป็นเวอร์ชันที่ระบุ

Terminal window
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_SHAREBooleanแชร์เซสชันอัตโนมัติเมื่อสร้าง
OPENCODE_GIT_BASH_PATHStringเส้นทางไปยัง Git Bash บน Windows
OPENCODE_CONFIGStringเส้นทางไปยังไฟล์การกำหนดค่า
OPENCODE_CONFIG_DIRStringเส้นทางไปยังไดเร็กทอรีการกำหนดค่า
OPENCODE_CONFIG_CONTENTStringเนื้อหาการกำหนดค่าแบบ inline JSON
OPENCODE_DISABLE_AUTOUPDATEBooleanปิดใช้งานการอัปเดตอัตโนมัติ
OPENCODE_DISABLE_PRUNEBooleanปิดใช้งานการลบข้อมูลเซสชันเก่า
OPENCODE_DISABLE_TERMINAL_TITLEBooleanปิดใช้งานการตั้งชื่อหน้าต่าง terminal
OPENCODE_PERMISSIONStringการกำหนดค่าสิทธิ์แบบ inline JSON
OPENCODE_DISABLE_DEFAULT_PLUGINSBooleanปิดใช้งานปลั๊กอินเริ่มต้น
OPENCODE_DISABLE_LSP_DOWNLOADBooleanปิดใช้งานการดาวน์โหลด LSP อัตโนมัติ
OPENCODE_ENABLE_EXPERIMENTAL_MODELSBooleanเปิดใช้งานโมเดลทดลอง
OPENCODE_DISABLE_AUTOCOMPACTBooleanปิดใช้งานการบีบอัดบริบทอัตโนมัติ
OPENCODE_DISABLE_CLAUDE_CODEBooleanปิดใช้งานการนำเข้าจาก .claude (prompt + skills)
OPENCODE_DISABLE_CLAUDE_CODE_PROMPTBooleanปิดใช้งานการนำเข้า ~/.claude/CLAUDE.md
OPENCODE_DISABLE_CLAUDE_CODE_SKILLSBooleanปิดใช้งานการนำเข้า .claude/skills
OPENCODE_DISABLE_MODELS_FETCHBooleanปิดใช้งานการดึงรายการโมเดลจากระยะไกล
OPENCODE_FAKE_VCSStringเปิดใช้งาน VCS จำลองสำหรับการทดสอบ
OPENCODE_DISABLE_FILETIME_CHECKBooleanปิดใช้งานการตรวจสอบเวลาแก้ไขไฟล์
OPENCODE_CLIENTStringตัวระบุไคลเอนต์ (ค่าเริ่มต้นคือ cli)
OPENCODE_ENABLE_EXABooleanเปิดใช้งานการใช้ Exa แทน ls หากมี
OPENCODE_SERVER_PASSWORDStringรหัสผ่านสำหรับการตรวจสอบสิทธิ์พื้นฐาน serve/web
OPENCODE_SERVER_USERNAMEStringชื่อผู้ใช้สำหรับการตรวจสอบสิทธิ์พื้นฐาน (ค่าเริ่มต้น opencode)
OPENCODE_MODELS_URLStringURL ที่กำหนดเองสำหรับการดึงรายการโมเดล

ขั้นทดลอง

ตัวแปรสภาพแวดล้อมเหล่านี้เปิดใช้งานฟีเจอร์ทดลองที่อาจมีการเปลี่ยนแปลงหรือถูกลบออก

ตัวแปรชนิดคำอธิบาย
OPENCODE_EXPERIMENTALBooleanเปิดใช้งานฟีเจอร์ทดลองทั้งหมด
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYBooleanการค้นหาไอคอนทดลอง
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTBooleanปิดใช้งานการคัดลอกเมื่อเลือกใน TUI
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSNumberการหมดเวลาเริ่มต้นสำหรับคำสั่ง bash ในหน่วย ms
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXNumberขีดจำกัดสูงสุดสำหรับโทเค็นเอาต์พุต LLM
OPENCODE_EXPERIMENTAL_FILEWATCHERBooleanเปิดใช้งานตัวเฝ้าดูไฟล์สำหรับไดเร็กทอรีทั้งหมด
OPENCODE_EXPERIMENTAL_OXFMTBooleanใช้ oxfmt เป็นตัวจัดรูปแบบ
OPENCODE_EXPERIMENTAL_LSP_TOOLBooleanเปิดใช้งานเครื่องมือ LSP ทดลอง
OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHERBooleanปิดใช้งานตัวเฝ้าดูไฟล์
OPENCODE_EXPERIMENTAL_EXABooleanฟีเจอร์ Exa ทดลอง
OPENCODE_EXPERIMENTAL_LSP_TYBooleanการตรวจสอบประเภท LSP แบบทดลอง
OPENCODE_EXPERIMENTAL_MARKDOWNBooleanใช้ Markdown renderer แบบทดลอง
OPENCODE_EXPERIMENTAL_PLAN_MODEBooleanเปิดใช้งาน Plan mode