跳到內容

命令行介面

opencode CLI 選項和命令。

默認情況下,OpenCode CLI 在不帶任何參數運行時啟動TUI

Terminal window
opencode

但它也接受本頁記錄的命令。這允許您以編程方式與 OpenCode 交互。

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

tui

啟動 OpenCode TUI。

Terminal window
opencode [project]

旗標

旗標簡寫描述
--continue-c繼續上一期
--session-s會話 ID 繼續
--fork繼續時分叉會話(與 --continue--session 一起使用)
--prompt提示使用
--model-m以提供者/模型形式使用的模型
--agent代理使用
--port監聽端口
--hostname監聽的主機名

命令

OpenCode CLI 還具有以下命令。


agent

管理 OpenCode 代理。

Terminal window
opencode agent [command]

attach

將 terminal 連接到通過 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

管理模型上下文協議服務器。

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要運行的命令,使用消息作為參數
--continue-c繼續上一期
--session-s會話 ID 繼續
--fork繼續時分叉會話(與 --continue--session 一起使用)
--share分享會議
--model-m以提供者/模型形式使用的模型
--agent代理使用
--file-f要附加到消息的文件
--format格式:默認(格式化)或 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 會話的令牌使用情況和成本統計信息。

Terminal window
opencode stats

旗幟

旗幟描述
--days顯示過去 N 天(所有時間)的統計數據
--tools顯示的工具數量(全部)
--models顯示模型使用情況細分(默認隱藏)。傳遞一個數字來顯示前 N
--project按項目過濾(所有項目,空字符串:當前項目)

export

將會話數據導出為 JSON。

Terminal window
opencode export [sessionID]

如果您不提供會話 ID,系統將提示您從可用會話中進行選擇。


import

從 JSON 文件或 opencode 共享 URL 導入會話數據。

Terminal window
opencode import <file>

您可以從本地文件或 opencode 共享 URL 導入。

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

web

使用 Web 介面啟動無頭 opencode 服務器。

Terminal window
opencode web

這將啟動 HTTP 服務器並打開 Web 瀏覽器以通過 Web 介面訪問 opencode。設置OPENCODE_SERVER_PASSWORD以啟用HTTP基本身份驗證(用戶名默認為opencode)。

旗幟

旗幟描述
--port監聽端口
--hostname監聽的主機名
--mdns啟用 mDNS 發現
--cors允許 CORS 的其他瀏覽器源

acp

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

Terminal window
opencode acp

此命令啟動一個 ACP 服務器,該服務器使用 nd-JSON 通過 stdin/stdout 進行通信。

旗幟

旗幟描述
--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日誌級別(調試、信息、警告、錯誤)

環境變量

可以使用環境變量配置 opencode。

變量類型描述
OPENCODE_AUTO_SHAREboolean自動共享會話
OPENCODE_GIT_BASH_PATHstringWindows 上 Git Bash 可執行文件的路徑
OPENCODE_CONFIGstring配置文件路徑
OPENCODE_CONFIG_DIRstring配置目錄的路徑
OPENCODE_CONFIG_CONTENTstring內聯 json 配置內容
OPENCODE_DISABLE_AUTOUPDATEboolean禁用自動更新檢查
OPENCODE_DISABLE_PRUNEboolean禁用舊數據的修剪
OPENCODE_DISABLE_TERMINAL_TITLEboolean禁用自動 terminal 標題更新
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 響應的最大輸出令牌
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啟用計劃模式