命令行介面
opencode CLI 選項和命令。
默認情況下,OpenCode CLI 在不帶任何參數運行時啟動TUI。
opencode但它也接受本頁記錄的命令。這允許您以編程方式與 OpenCode 交互。
opencode run "Explain how closures work in JavaScript"tui
啟動 OpenCode TUI。
opencode [project]旗標
| 旗標 | 簡寫 | 描述 |
|---|---|---|
--continue | -c | 繼續上一期 |
--session | -s | 會話 ID 繼續 |
--fork | 繼續時分叉會話(與 --continue 或 --session 一起使用) | |
--prompt | 提示使用 | |
--model | -m | 以提供者/模型形式使用的模型 |
--agent | 代理使用 | |
--port | 監聽端口 | |
--hostname | 監聽的主機名 |
命令
OpenCode CLI 還具有以下命令。
agent
管理 OpenCode 代理。
opencode agent [command]attach
將 terminal 連接到通過 serve 或 web 命令啟動的已運行的 OpenCode 後端服務器。
opencode attach [url]這允許將 TUI 與遠程 OpenCode 後端一起使用。例如:
# Start the backend server for web/mobile accessopencode web --port 4096 --hostname 0.0.0.0
# In another terminal, attach the TUI to the running backendopencode attach http://10.20.30.40:4096旗標
| 旗標 | 簡寫 | 描述 |
|---|---|---|
--dir | 啟動 TUI 的工作目錄 | |
--session | -s | 會話 ID 繼續 |
create
使用自定義配置創建新代理。
opencode agent create此命令將指導您使用自定義系統提示和工具配置創建新代理。
list
列出所有可用的代理。
opencode agent listauth
用於管理提供商的憑據和登錄的命令。
opencode auth [command]login
OpenCode 由 Models.dev 上的提供商列表提供支持,因此您可以使用 opencode auth login 為您想要使用的任何提供商配置 API 密鑰。它存儲在~/.local/share/opencode/auth.json 中。
opencode auth login當 OpenCode 啟動時,它會從憑據文件加載提供商。如果您的環境中定義了任何鍵或項目中的 .env 文件。
list
列出憑證文件中存儲的所有經過身份驗證的提供商。
opencode auth list或者簡短的版本。
opencode auth lslogout
通過從憑據文件中清除提供商,將您從提供商中註銷。
opencode auth logoutgithub
管理 GitHub 代理以實現存儲庫自動化。
opencode github [command]install
在您的存儲庫中安裝 GitHub 代理。
opencode github install這將設置必要的 GitHub Actions 工作流程並指導您完成配置過程。 了解更多。
run
運行 GitHub 代理。這通常用在 GitHub Actions 中。
opencode github run旗幟
| 旗幟 | 描述 |
|---|---|
--event | 用於運行代理的 GitHub 模擬事件 |
--token | GitHub 個人訪問令牌 |
mcp
管理模型上下文協議服務器。
opencode mcp [command]add
將 MCP 服務器添加到您的配置中。
opencode mcp add此命令將指導您添加本地或遠程 MCP 服務器。
list
列出所有已配置的 MCP 服務器及其連接狀態。
opencode mcp list或者使用簡短版本。
opencode mcp lsauth
使用啟用 OAuth 的 MCP 服務器進行身份驗證。
opencode mcp auth [name]如果您不提供服務器名稱,系統將提示您從可用的支持 OAuth 的服務器中進行選擇。
您還可以列出支持 OAuth 的服務器及其身份驗證狀態。
opencode mcp auth list或者使用簡短版本。
opencode mcp auth lslogout
刪除 MCP 服務器的 OAuth 憑據。
opencode mcp logout [name]debug
調試 MCP 服務器的 OAuth 連接問題。
opencode mcp debug <name>models
列出已配置提供商的所有可用模型。
opencode models [provider]此命令以 provider/model 格式顯示您配置的提供商中可用的所有模型。
這對於確定你的配置 中使用的確切模型名稱很有用。
您可以選擇傳遞提供商 ID 以按該提供商篩選模型。
opencode models anthropic旗幟
| 旗幟 | 描述 |
|---|---|
--refresh | 從 models.dev 刷新模型緩存 |
--verbose | 使用更詳細的模型輸出(包括成本等元數據) |
使用--refresh標誌來更新緩存的模型列表。當新模型已添加到提供商並且您希望在 OpenCode 中查看它們時,這非常有用。
opencode models --refreshrun
通過直接傳遞提示以非交互模式運行 opencode。
opencode run [message..]這對於腳本編寫、自動化,或者當您想要快速得到答案而不啟動完整的 TUI 時非常有用。例如。
opencode run Explain the use of context in Go您還可以附加到正在運行的 opencode serve 實例,以避免每次運行時 MCP 服務器冷啟動時間:
# Start a headless server in one terminalopencode serve
# In another terminal, run commands that attach to itopencode 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 接口。
opencode serve這將啟動一個 HTTP 服務器,該服務器提供對 opencode 功能的 API 訪問,而無需 TUI 接口。設置OPENCODE_SERVER_PASSWORD以啟用HTTP基本身份驗證(用戶名默認為opencode)。
旗幟
| 旗幟 | 描述 |
|---|---|
--port | 監聽端口 |
--hostname | 監聽的主機名 |
--mdns | 啟用 mDNS 發現 |
--cors | 允許 CORS 的其他瀏覽器源 |
session
管理 opencode 會話。
opencode session [command]list
列出所有 opencode 會話。
opencode session list旗幟
| 旗幟 | 短 | 描述 |
|---|---|---|
--max-count | -n | 限制為最近 N 個會話 |
--format | 輸出格式:table 或 json(table) |
stats
顯示 opencode 會話的令牌使用情況和成本統計信息。
opencode stats旗幟
| 旗幟 | 描述 |
|---|---|
--days | 顯示過去 N 天(所有時間)的統計數據 |
--tools | 顯示的工具數量(全部) |
--models | 顯示模型使用情況細分(默認隱藏)。傳遞一個數字來顯示前 N |
--project | 按項目過濾(所有項目,空字符串:當前項目) |
export
將會話數據導出為 JSON。
opencode export [sessionID]如果您不提供會話 ID,系統將提示您從可用會話中進行選擇。
import
從 JSON 文件或 opencode 共享 URL 導入會話數據。
opencode import <file>您可以從本地文件或 opencode 共享 URL 導入。
opencode import session.jsonopencode import https://opncd.ai/s/abc123web
使用 Web 介面啟動無頭 opencode 服務器。
opencode web這將啟動 HTTP 服務器並打開 Web 瀏覽器以通過 Web 介面訪問 opencode。設置OPENCODE_SERVER_PASSWORD以啟用HTTP基本身份驗證(用戶名默認為opencode)。
旗幟
| 旗幟 | 描述 |
|---|---|
--port | 監聽端口 |
--hostname | 監聽的主機名 |
--mdns | 啟用 mDNS 發現 |
--cors | 允許 CORS 的其他瀏覽器源 |
acp
啟動 ACP(Agent Client Protocol)服務器。
opencode acp此命令啟動一個 ACP 服務器,該服務器使用 nd-JSON 通過 stdin/stdout 進行通信。
旗幟
| 旗幟 | 描述 |
|---|---|
--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 | 日誌級別(調試、信息、警告、錯誤) |
環境變量
可以使用環境變量配置 opencode。
| 變量 | 類型 | 描述 |
|---|---|---|
OPENCODE_AUTO_SHARE | boolean | 自動共享會話 |
OPENCODE_GIT_BASH_PATH | string | Windows 上 Git Bash 可執行文件的路徑 |
OPENCODE_CONFIG | string | 配置文件路徑 |
OPENCODE_CONFIG_DIR | string | 配置目錄的路徑 |
OPENCODE_CONFIG_CONTENT | string | 內聯 json 配置內容 |
OPENCODE_DISABLE_AUTOUPDATE | boolean | 禁用自動更新檢查 |
OPENCODE_DISABLE_PRUNE | boolean | 禁用舊數據的修剪 |
OPENCODE_DISABLE_TERMINAL_TITLE | boolean | 禁用自動 terminal 標題更新 |
OPENCODE_PERMISSION | string | 內聯 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讀取(提示+技巧) |
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 網絡搜索工具 |
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 命令的默認超時(以毫秒為單位) |
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 | 啟用實驗性 LSP 類型檢查 |
OPENCODE_EXPERIMENTAL_MARKDOWN | boolean | 啟用實驗性 Markdown 功能 |
OPENCODE_EXPERIMENTAL_PLAN_MODE | boolean | 啟用計劃模式 |