跳到內容

CLI

OpenCode CLI 選項和指令。

OpenCode CLI 在不帶任何參數執行時,預設啟動 TUI

Terminal window
opencode

但它也接受本頁面中記錄的指令,使您可以透過程式方式與 OpenCode 進行互動。

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

tui

啟動 OpenCode 終端機使用者介面。

Terminal window
opencode [project]

旗標

旗標簡寫說明
--continue-c繼續上一個工作階段
--session-s要繼續的工作階段 ID
--fork繼續時分岔工作階段(與 --continue--session 搭配使用)
--prompt要使用的提示詞
--model-m要使用的模型,格式為 provider/model
--agent要使用的代理
--port監聽連接埠
--hostname監聽主機名稱

指令

OpenCode CLI 還提供以下指令。


agent

管理 OpenCode 的代理。

Terminal window
opencode agent [command]

attach

將終端機連接到已透過 serveweb 指令啟動的 OpenCode 後端伺服器。

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-s要繼續的工作階段 ID

create

使用自訂設定建立新的代理。

Terminal window
opencode agent create

此指令將引導您使用自訂系統提示詞和工具設定來建立新的代理。


list

列出所有可用的代理。

Terminal window
opencode agent list

auth

管理供應商的憑證和登入資訊的指令。

Terminal window
opencode auth [command]

login

OpenCode 基於 Models.dev 的供應商列表運作,因此您可以使用 opencode auth login 為任何想要使用的供應商設定 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

從憑證檔案中清除供應商資訊以完成登出。

Terminal window
opencode auth logout

github

管理用於儲存庫自動化的 GitHub 代理。

Terminal window
opencode github [command]

install

在您的儲存庫中安裝 GitHub 代理。

Terminal window
opencode github install

此指令會設定必要的 GitHub Actions 工作流程並引導您完成設定過程。了解更多


run

執行 GitHub 代理。通常在 GitHub Actions 中使用。

Terminal window
opencode github run
旗標
旗標說明
--event用於執行代理的 GitHub 模擬事件
--tokenGitHub 個人存取權杖

mcp

管理 Model Context Protocol 伺服器。

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

對支援 OAuth 的 MCP 伺服器進行認證。

Terminal window
opencode mcp auth [name]

如果您不提供伺服器名稱,系統將提示您從可用的支援 OAuth 的伺服器中進行選擇。

您還可以列出支援 OAuth 的伺服器及其認證狀態。

Terminal window
opencode mcp auth list

或使用簡寫版本。

Terminal window
opencode mcp auth ls

logout

移除 MCP 伺服器的 OAuth 憑證。

Terminal window
opencode mcp logout [name]

debug

偵錯 MCP 伺服器的 OAuth 連線問題。

Terminal window
opencode mcp debug <name>

models

列出已設定供應商的所有可用模型。

Terminal window
opencode models [provider]

此指令以 provider/model 的格式顯示所有已設定供應商中可用的模型。

這對於確定在設定檔中使用的確切模型名稱非常有用。

您可以選擇傳入供應商 ID 來按供應商篩選模型。

Terminal window
opencode models anthropic

旗標

旗標說明
--refresh從 models.dev 重新整理模型快取
--verbose使用更詳細的模型輸出(包含費用等中繼資料)

使用 --refresh 旗標可以更新快取的模型列表。當供應商新增了模型並且您希望在 OpenCode 中看到它們時,此功能非常有用。

Terminal window
opencode models --refresh

run

以非互動模式執行 OpenCode,直接傳入提示詞。

Terminal window
opencode run [message..]

這對於指令碼編寫、自動化或無需啟動完整 TUI 即可快速取得答案的情境非常有用。例如:

Terminal window
opencode run Explain the use of context in Go

您還可以連接到正在執行的 opencode serve 實例,以避免每次執行時 MCP 伺服器的冷啟動時間:

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要執行的指令,使用 message 作為參數
--continue-c繼續上一個工作階段
--session-s要繼續的工作階段 ID
--fork繼續時分岔工作階段(與 --continue--session 搭配使用)
--share分享工作階段
--model-m要使用的模型,格式為 provider/model
--agent要使用的代理
--file-f附加到訊息的檔案
--format格式:default(格式化輸出)或 json(原始 JSON 事件)
--title工作階段標題(未提供值時使用截斷的提示詞)
--attach連接到正在執行的 opencode 伺服器(例如 http://localhost:4096)
--port本地伺服器連接埠(預設為隨機連接埠)

serve

啟動無介面的 OpenCode 伺服器以提供 API 存取。查看伺服器文件了解完整的 HTTP 介面。

Terminal window
opencode serve

此指令啟動一個 HTTP 伺服器,提供對 OpenCode 功能的 API 存取,無需 TUI 介面。設定 OPENCODE_SERVER_PASSWORD 可啟用 HTTP 基本認證(使用者名稱預設為 opencode)。

旗標

旗標說明
--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(預設 table)

stats

顯示 OpenCode 工作階段的 Token 用量和費用統計資訊。

Terminal window
opencode stats

旗標

旗標說明
--days顯示最近 N 天的統計資訊(預設為所有時間)
--tools顯示的工具數量(預設為全部)
--models顯示模型用量明細(預設隱藏)。傳入數字可顯示前 N 個
--project按專案篩選(預設為所有專案,傳入空字串表示當前專案)

export

將工作階段資料匯出為 JSON。

Terminal window
opencode export [sessionID]

如果您不提供工作階段 ID,系統將提示您從可用的工作階段中進行選擇。


import

從 JSON 檔案或 OpenCode 分享連結匯入工作階段資料。

Terminal window
opencode import <file>

您可以從本地檔案或 OpenCode 分享連結匯入。

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

web

啟動帶有 Web 介面的無介面 OpenCode 伺服器。

Terminal window
opencode web

此指令啟動一個 HTTP 伺服器並開啟瀏覽器,透過 Web 介面存取 OpenCode。設定 OPENCODE_SERVER_PASSWORD 可啟用 HTTP 基本認證(使用者名稱預設為 opencode)。

旗標

旗標說明
--port監聽連接埠
--hostname監聽主機名稱
--mdns啟用 mDNS 探索
--cors允許 CORS 的額外瀏覽器來源

acp

啟動 ACP(Agent Client Protocol)伺服器。

Terminal window
opencode acp

此指令啟動一個透過 stdin/stdout 使用 nd-JSON 進行通訊的 ACP 伺服器。

旗標

旗標說明
--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_PATHstringWindows 上 Git Bash 可執行檔的路徑
OPENCODE_CONFIGstring設定檔路徑
OPENCODE_TUI_CONFIGstringTUI 設定檔路徑
OPENCODE_CONFIG_DIRstring設定目錄路徑
OPENCODE_CONFIG_CONTENTstring內嵌 JSON 設定內容
OPENCODE_DISABLE_AUTOUPDATEboolean停用自動更新檢查
OPENCODE_DISABLE_PRUNEboolean停用舊資料清理
OPENCODE_DISABLE_TERMINAL_TITLEboolean停用自動終端機標題更新
OPENCODE_PERMISSIONstring內嵌 JSON 權限設定
OPENCODE_DISABLE_DEFAULT_PLUGINSboolean停用預設外掛程式
OPENCODE_DISABLE_LSP_DOWNLOADboolean停用 LSP 伺服器自動下載
OPENCODE_ENABLE_EXPERIMENTAL_MODELSboolean啟用實驗性模型
OPENCODE_DISABLE_AUTOCOMPACTboolean停用自動上下文壓縮
OPENCODE_DISABLE_CLAUDE_CODEboolean停用讀取 .claude(提示詞 + 技能)
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 網路搜尋工具
OPENCODE_SERVER_PASSWORDstringserve/web 啟用基本認證
OPENCODE_SERVER_USERNAMEstring覆寫基本認證使用者名稱(預設為 opencode
OPENCODE_MODELS_URLstring自訂模型設定擷取 URL

實驗性功能

這些環境變數用於啟用可能會變更或移除的實驗性功能。

變數類型說明
OPENCODE_EXPERIMENTALboolean啟用所有實驗性功能
OPENCODE_EXPERIMENTAL_ICON_DISCOVERYboolean啟用圖示探索
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECTboolean停用 TUI 中的選取即複製
OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MSnumberbash 指令的預設逾時時間(毫秒)
OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAXnumberLLM 回應的最大輸出 Token 數
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 功能
OPENCODE_EXPERIMENTAL_PLAN_MODEboolean啟用計畫模式