Skip to content

Latest commit

 

History

History
605 lines (404 loc) · 28 KB

File metadata and controls

605 lines (404 loc) · 28 KB
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

เริ่ม 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 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 -s ID เซสชันเพื่อดำเนินการต่อ

create

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

opencode agent create

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


list

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

opencode agent list

auth

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

opencode auth [command]

login

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

opencode auth login

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


list

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

opencode auth list

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

opencode auth ls

logout

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

opencode auth logout

github

จัดการเอเจนต์ 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 ls

auth

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

opencode mcp auth [name]

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

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

opencode mcp auth list

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

opencode mcp auth ls

logout

ลบข้อมูลรับรอง 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 --refresh

run

รัน 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)
--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.json
opencode import https://opncd.ai/s/abc123

web

เริ่ม 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_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_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 เปิดใช้งาน TY LSP สำหรับไฟล์ python
OPENCODE_EXPERIMENTAL_MARKDOWN Boolean ใช้ Markdown renderer แบบทดลอง
OPENCODE_EXPERIMENTAL_PLAN_MODE Boolean เปิดใช้งาน Plan mode