--- title: 命令行界面 description: OpenCode CLI 選項和命令。 --- import { Tabs, TabItem } from "@astrojs/starlight/components" 默認情況下,OpenCode CLI 在不帶任何參數運行時啟動[途易](/docs/tui)。 ```bash opencode ``` 但它也接受本頁記錄的命令。這允許您以編程方式與 OpenCode 交互。 ```bash opencode run "Explain how closures work in JavaScript" ``` --- ### tui 啟動 OpenCode 終端用戶界面。 ```bash opencode [project] ``` #### 旗幟 |旗幟|短|描述 | | ------------ | ----- | ------------------------------------------ | | `--continue` | `-c` |繼續上一期 | | `--session` | `-s` |會話 ID 繼續 | | `--prompt` | |提示使用| | `--model` | `-m` |以提供者/模型形式使用的模型 | | `--agent` | |代理使用| | `--port` | |監聽端口 | | `--hostname` | |監聽的主機名 | --- ## 命令 OpenCode CLI 還具有以下命令。 --- ### agent 管理 OpenCode 代理。 ```bash opencode agent [command] ``` --- ### attach 將終端連接到通過 `serve` 或 `web` 命令啟動的已運行的 OpenCode 後端服務器。 ```bash opencode attach [url] ``` 這允許將 TUI 與遠程 OpenCode 後端一起使用。例如: ```bash # 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 使用自定義配置創建新代理。 ```bash opencode agent create ``` 此命令將指導您使用自定義系統提示和工具配置創建新代理。 --- #### list 列出所有可用的代理。 ```bash opencode agent list ``` --- ### auth 用於管理提供商的憑據和登錄的命令。 ```bash opencode auth [command] ``` --- #### login OpenCode 由 [模型.dev](https://models.dev) 上的提供商列表提供支持,因此您可以使用 `opencode auth login` 為您想要使用的任何提供商配置 API 密鑰。它存儲在`~/.local/share/opencode/auth.json` 中。 ```bash opencode auth login ``` 當 OpenCode 啟動時,它會從憑據文件加載提供程序。如果您的環境中定義了任何鍵或項目中的 `.env` 文件。 --- #### list 列出憑證文件中存儲的所有經過身份驗證的提供程序。 ```bash opencode auth list ``` 或者簡短的版本。 ```bash opencode auth ls ``` --- #### logout 通過從憑據文件中清除提供程序,將您從提供程序中註銷。 ```bash opencode auth logout ``` --- ### github 管理 GitHub 代理以實現存儲庫自動化。 ```bash opencode github [command] ``` --- #### install 在您的存儲庫中安裝 GitHub 代理。 ```bash opencode github install ``` 這將設置必要的 GitHub Actions 工作流程並指導您完成配置過程。 [了解更多](/docs/github)。 --- #### run 運行 GitHub 代理。這通常用在 GitHub Actions 中。 ```bash opencode github run ``` ##### 旗幟 |旗幟|描述 | | --------- | -------------------------------------- | | `--event` |用於運行代理的 GitHub 模擬事件 | | `--token` | GitHub 個人訪問令牌 | --- ### mcp 管理模型上下文協議服務器。 ```bash opencode mcp [command] ``` --- #### add 將 MCP 服務器添加到您的配置中。 ```bash opencode mcp add ``` 此命令將指導您添加本地或遠程 MCP 服務器。 --- #### list 列出所有已配置的 MCP 服務器及其連接狀態。 ```bash opencode mcp list ``` 或者使用簡短版本。 ```bash opencode mcp ls ``` --- #### auth 使用啟用 OAuth 的 MCP 服務器進行身份驗證。 ```bash opencode mcp auth [name] ``` 如果您不提供服務器名稱,系統將提示您從可用的支持 OAuth 的服務器中進行選擇。 您還可以列出支持 OAuth 的服務器及其身份驗證狀態。 ```bash opencode mcp auth list ``` 或者使用簡短版本。 ```bash opencode mcp auth ls ``` --- #### logout 刪除 MCP 服務器的 OAuth 憑據。 ```bash opencode mcp logout [name] ``` --- #### debug 調試 MCP 服務器的 OAuth 連接問題。 ```bash opencode mcp debug ``` --- ### models 列出已配置提供商的所有可用模型。 ```bash opencode models [provider] ``` 此命令以 `provider/model` 格式顯示您配置的提供程序中可用的所有模型。 這對於確定[你的配置](/docs/config/) 中使用的確切模型名稱很有用。 您可以選擇傳遞提供程序 ID 以按該提供程序篩選模型。 ```bash opencode models anthropic ``` #### 旗幟 |旗幟|描述 | | ----------- | ------------------------------------------------------------ | | `--refresh` |從 models.dev | 刷新模型緩存 | `--verbose` |使用更詳細的模型輸出(包括成本等元數據)| 使用`--refresh`標誌來更新緩存的模型列表。當新模型已添加到提供程序並且您希望在 OpenCode 中查看它們時,這非常有用。 ```bash opencode models --refresh ``` --- ### run 通過直接傳遞提示以非交互模式運行 opencode。 ```bash opencode run [message..] ``` 這對於腳本編寫、自動化,或者當您想要快速得到答案而不啟動完整的 TUI 時非常有用。例如。 ```bash "opencode run" opencode run Explain the use of context in Go ``` 您還可以附加到正在運行的 `opencode serve` 實例,以避免每次運行時 MCP 服務器冷啟動時間: ```bash # 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 繼續 | | `--share` | |分享會議 | | `--model` | `-m` |以提供者/模型形式使用的模型 | | `--agent` | |代理使用| | `--file` | `-f` |要附加到消息的文件 | | `--format` | |格式:默認(格式化)或 json(原始 JSON 事件)| | `--title` | |會話標題(如果未提供值,則使用截斷的提示)| | `--attach` | |連接到正在運行的 opencode 服務器(例如,http://localhost:4096)| | `--port` | |本地服務器的端口(默認為隨機端口) | --- ### serve 啟動無頭 OpenCode 服務器以進行 API 訪問。查看[服務器文檔](/docs/server) 以獲取完整的 HTTP 接口。 ```bash opencode serve ``` 這將啟動一個 HTTP 服務器,該服務器提供對 opencode 功能的 API 訪問,而無需 TUI 接口。設置`OPENCODE_SERVER_PASSWORD`以啟用HTTP基本身份驗證(用戶名默認為`opencode`)。 #### 旗幟 |旗幟|描述 | | ------------ | ------------------------------------------ | | `--port` |監聽端口 | | `--hostname` |監聽的主機名 | | `--mdns` |啟用 mDNS 發現 | | `--cors` |允許 CORS 的其他瀏覽器源 | --- ### session 管理 OpenCode 會話。 ```bash opencode session [command] ``` --- #### list 列出所有 OpenCode 會話。 ```bash opencode session list ``` ##### 旗幟 |旗幟|短|描述 | | ------------- | ----- | ------------------------------------ | | `--max-count` | `-n` |限制為最近 N 個會話 | | `--format` | |輸出格式:table 或 json(table) | --- ### stats 顯示 OpenCode 會話的令牌使用情況和成本統計信息。 ```bash opencode stats ``` #### 旗幟 |旗幟|描述 | | ----------- | --------------------------------------------------------------------------- | | `--days` |顯示過去 N 天(所有時間)的統計數據 | | `--tools` |顯示的工具數量(全部)| | `--models` |顯示模型使用情況細分(默認隱藏)。傳遞一個數字來顯示前 N | | `--project` |按項目過濾(所有項目,空字符串:當前項目)| --- ### export 將會話數據導出為 JSON。 ```bash opencode export [sessionID] ``` 如果您不提供會話 ID,系統將提示您從可用會話中進行選擇。 --- ### import 從 JSON 文件或 OpenCode 共享 URL 導入會話數據。 ```bash opencode import ``` 您可以從本地文件或 OpenCode 共享 URL 導入。 ```bash opencode import session.json opencode import https://opncd.ai/s/abc123 ``` --- ### web 使用 Web 界面啟動無頭 OpenCode 服務器。 ```bash opencode web ``` 這將啟動 HTTP 服務器並打開 Web 瀏覽器以通過 Web 界面訪問 OpenCode。設置`OPENCODE_SERVER_PASSWORD`以啟用HTTP基本身份驗證(用戶名默認為`opencode`)。 #### 旗幟 |旗幟|描述 | | ------------ | ------------------------------------------ | | `--port` |監聽端口 | | `--hostname` |監聽的主機名 | | `--mdns` |啟用 mDNS 發現 | | `--cors` |允許 CORS 的其他瀏覽器源 | --- ### acp 啟動 ACP(代理客戶端協議)服務器。 ```bash opencode acp ``` 此命令啟動一個 ACP 服務器,該服務器使用 nd-JSON 通過 stdin/stdout 進行通信。 #### 旗幟 |旗幟|描述 | | ------------ | --------------------- | | `--cwd` |工作目錄 | | `--port` |監聽端口 | | `--hostname` |監聽的主機名 | --- ### uninstall 卸載 OpenCode 並刪除所有相關文件。 ```bash opencode uninstall ``` #### 旗幟 |旗幟|短|描述 | | --------------- | ----- | ------------------------------------------- | | `--keep-config` | `-c` |保留配置文件| | `--keep-data` | `-d` |保留會話數據和快照 | | `--dry-run` | |顯示在不刪除的情況下將刪除的內容 | | `--force` | `-f` |跳過確認提示 | --- ### upgrade 將 opencode 更新到最新版本或特定版本。 ```bash opencode upgrade [target] ``` 升級到最新版本。 ```bash opencode upgrade ``` 升級到特定版本。 ```bash opencode upgrade v0.1.48 ``` #### 旗幟 |旗幟|短|描述 | | ---------- | ----- | ----------------------------------------------------------------- | | `--method` | `-m` |使用的安裝方法;捲曲、npm、pnpm、bun、brew | --- ## 全球旗幟 opencode CLI 採用以下全局標誌。 |旗幟|短|描述 | | -------------- | ----- | ------------------------------------ | | `--help` | `-h` |顯示幫助| | `--version` | `-v` |打印版本號 | | `--print-logs` | |將日誌打印到 stderr | | `--log-level` | |日誌級別(調試、信息、警告、錯誤)| --- ## 環境變量 可以使用環境變量配置 OpenCode。 |變量|類型 |描述 | | ------------------------------------- | ------- | ------------------------------------------------- | | `OPENCODE_AUTO_SHARE` |布爾 |自動共享會話 | | `OPENCODE_GIT_BASH_PATH` |字符串| Windows 上 Git Bash 可執行文件的路徑 | | `OPENCODE_CONFIG` |字符串|配置文件路徑 | | `OPENCODE_CONFIG_DIR` |字符串|配置目錄的路徑 | | `OPENCODE_CONFIG_CONTENT` |字符串|內聯 json 配置內容 | | `OPENCODE_DISABLE_AUTOUPDATE` |布爾 |禁用自動更新檢查 | | `OPENCODE_DISABLE_PRUNE` |布爾 |禁用舊數據的修剪 | | `OPENCODE_DISABLE_TERMINAL_TITLE` |布爾 |禁用自動終端標題更新 | | `OPENCODE_PERMISSION` |字符串|內聯 json 權限配置 | | `OPENCODE_DISABLE_DEFAULT_PLUGINS` |布爾 |禁用默認插件 | | `OPENCODE_DISABLE_LSP_DOWNLOAD` |布爾 |禁用自動 LSP 服務器下載 | | `OPENCODE_ENABLE_EXPERIMENTAL_MODELS` |布爾 |啟用實驗模型 | | `OPENCODE_DISABLE_AUTOCOMPACT` |布爾 |禁用自動上下文壓縮 | | `OPENCODE_DISABLE_CLAUDE_CODE` |布爾 |禁止從`.claude`讀取(提示+技巧)| | `OPENCODE_DISABLE_CLAUDE_CODE_PROMPT` |布爾 |禁用讀取`~/.claude/CLAUDE.md` | | `OPENCODE_DISABLE_CLAUDE_CODE_SKILLS` |布爾 |禁用加載`.claude/skills` | | `OPENCODE_DISABLE_MODELS_FETCH` |布爾 |禁用從遠程源獲取模型 | | `OPENCODE_FAKE_VCS` |字符串|用於測試目的的假 VCS 提供商 | | `OPENCODE_DISABLE_FILETIME_CHECK` |布爾 |禁用文件時間檢查以進行優化 | | `OPENCODE_CLIENT` |字符串|客戶端標識符(默認為`cli`)| | `OPENCODE_ENABLE_EXA` |布爾 |啟用 Exa 網絡搜索工具 | | `OPENCODE_SERVER_PASSWORD` |字符串|為 `serve`/`web` 啟用基本身份驗證 | | `OPENCODE_SERVER_USERNAME` |字符串|覆蓋基本身份驗證用戶名(默認`opencode`)| | `OPENCODE_MODELS_URL` |字符串|用於獲取模型配置的自定義 URL | --- ### 實驗性的 這些環境變量啟用可能會更改或刪除的實驗性功能。 |變量|類型 |描述 | | ----------------------------------------------- | ------- | --------------------------------------- | | `OPENCODE_EXPERIMENTAL` |布爾 |啟用所有實驗性功能 | | `OPENCODE_EXPERIMENTAL_ICON_DISCOVERY` |布爾 |啟用圖標發現 | | `OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT` |布爾 |在 TUI 中禁用選擇時復制 | | `OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS` |數量 | bash 命令的默認超時(以毫秒為單位) | | `OPENCODE_EXPERIMENTAL_OUTPUT_TOKEN_MAX` |數量 | LLM 響應的最大輸出令牌 | | `OPENCODE_EXPERIMENTAL_FILEWATCHER` |布爾 |為整個目錄啟用文件觀察器 | | `OPENCODE_EXPERIMENTAL_OXFMT` |布爾 |啟用 oxfmt 格式化程序 | | `OPENCODE_EXPERIMENTAL_LSP_TOOL` |布爾 |啟用實驗性 LSP 工具 | | `OPENCODE_EXPERIMENTAL_DISABLE_FILEWATCHER` |布爾 |禁用文件觀察器 | | `OPENCODE_EXPERIMENTAL_EXA` |布爾 |啟用實驗性 Exa 功能 | | `OPENCODE_EXPERIMENTAL_LSP_TY` |布爾 |啟用實驗性 LSP 類型檢查 | | `OPENCODE_EXPERIMENTAL_MARKDOWN` |布爾 |啟用實驗性 Markdown 功能 | | `OPENCODE_EXPERIMENTAL_PLAN_MODE` |布爾 |啟用計劃模式 |