Buckets:
| title: CLI | |
| description: OpenCode CLI 選項和指令。 | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| OpenCode CLI 在不帶任何參數執行時,預設啟動 [TUI](/docs/tui)。 | |
| ```bash | |
| opencode | |
| ``` | |
| 但它也接受本頁面中記錄的指令,使您可以透過程式方式與 OpenCode 進行互動。 | |
| ```bash | |
| opencode run "Explain how closures work in JavaScript" | |
| ``` | |
| ### tui | |
| 啟動 OpenCode 終端機使用者介面。 | |
| ```bash | |
| opencode [project] | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ---------------------------------------- | ---- | ------------------------------------------------------------- | | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | 繼續上一個工作階段 | | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | 要繼續的工作階段 ID | | |
| | <nobr><code>{"--fork"}</code></nobr> | | 繼續時分岔工作階段(與 `--continue` 或 `--session` 搭配使用) | | |
| | <nobr><code>{"--prompt"}</code></nobr> | | 要使用的提示詞 | | |
| | <nobr><code>{"--model"}</code></nobr> | `-m` | 要使用的模型,格式為 provider/model | | |
| | <nobr><code>{"--agent"}</code></nobr> | | 要使用的代理 | | |
| | <nobr><code>{"--port"}</code></nobr> | | 監聽連接埠 | | |
| | <nobr><code>{"--hostname"}</code></nobr> | | 監聽主機名稱 | | |
| ## 指令 | |
| 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 | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ---------------------------------------- | ---- | ----------------------------------------------------------------------- | | |
| | <nobr><code>{"--dir"}</code></nobr> | | 啟動 TUI 的工作目錄 | | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | 繼續上一個工作階段 | | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | 要繼續的工作階段 ID | | |
| | <nobr><code>{"--fork"}</code></nobr> | | 繼續時分支工作階段(與 `--continue` 或 `--session` 一起使用) | | |
| | <nobr><code>{"--password"}</code></nobr> | `-p` | 基本驗證密碼(預設使用 `OPENCODE_SERVER_PASSWORD`) | | |
| | <nobr><code>{"--username"}</code></nobr> | `-u` | 基本驗證使用者名稱(預設使用 `OPENCODE_SERVER_USERNAME` 或 `opencode`) | | |
| #### create | |
| 使用自訂設定建立新的代理。 | |
| ```bash | |
| opencode agent create | |
| ``` | |
| 此指令將引導您使用自訂系統提示詞和工具設定來建立新的代理。 | |
| #### list | |
| 列出所有可用的代理。 | |
| ```bash | |
| opencode agent list | |
| ``` | |
| ### auth | |
| 管理供應商的憑證和登入資訊的指令。 | |
| ```bash | |
| opencode auth [command] | |
| ``` | |
| #### login | |
| OpenCode 基於 [Models.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 | |
| ``` | |
| ##### 旗標 | |
| | 旗標 | 說明 | | |
| | ------------------------------------- | ------------------------------ | | |
| | <nobr><code>{"--event"}</code></nobr> | 用於執行代理的 GitHub 模擬事件 | | |
| | <nobr><code>{"--token"}</code></nobr> | GitHub 個人存取權杖 | | |
| ### mcp | |
| 管理 Model Context Protocol 伺服器。 | |
| ```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 <name> | |
| ``` | |
| ### models | |
| 列出已設定供應商的所有可用模型。 | |
| ```bash | |
| opencode models [provider] | |
| ``` | |
| 此指令以 `provider/model` 的格式顯示所有已設定供應商中可用的模型。 | |
| 這對於確定在[設定檔](/docs/config/)中使用的確切模型名稱非常有用。 | |
| 您可以選擇傳入供應商 ID 來按供應商篩選模型。 | |
| ```bash | |
| opencode models anthropic | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 說明 | | |
| | --------------------------------------- | ------------------------------------------ | | |
| | <nobr><code>{"--refresh"}</code></nobr> | 從 models.dev 重新整理模型快取 | | |
| | <nobr><code>{"--verbose"}</code></nobr> | 使用更詳細的模型輸出(包含費用等中繼資料) | | |
| 使用 `--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" | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ---------------------------------------- | ---- | ----------------------------------------------------------------------- | | |
| | <nobr><code>{"--command"}</code></nobr> | | 要執行的指令,使用 message 作為參數 | | |
| | <nobr><code>{"--continue"}</code></nobr> | `-c` | 繼續上一個工作階段 | | |
| | <nobr><code>{"--session"}</code></nobr> | `-s` | 要繼續的工作階段 ID | | |
| | <nobr><code>{"--fork"}</code></nobr> | | 繼續時分岔工作階段(與 `--continue` 或 `--session` 搭配使用) | | |
| | <nobr><code>{"--share"}</code></nobr> | | 分享工作階段 | | |
| | <nobr><code>{"--model"}</code></nobr> | `-m` | 要使用的模型,格式為 provider/model | | |
| | <nobr><code>{"--agent"}</code></nobr> | | 要使用的代理 | | |
| | <nobr><code>{"--file"}</code></nobr> | `-f` | 附加到訊息的檔案 | | |
| | <nobr><code>{"--format"}</code></nobr> | | 格式:default(格式化輸出)或 json(原始 JSON 事件) | | |
| | <nobr><code>{"--title"}</code></nobr> | | 工作階段標題(未提供值時使用截斷的提示詞) | | |
| | <nobr><code>{"--attach"}</code></nobr> | | 連接到正在執行的 opencode 伺服器(例如 http://localhost:4096) | | |
| | <nobr><code>{"--password"}</code></nobr> | `-p` | 基本驗證密碼(預設使用 `OPENCODE_SERVER_PASSWORD`) | | |
| | <nobr><code>{"--username"}</code></nobr> | `-u` | 基本驗證使用者名稱(預設使用 `OPENCODE_SERVER_USERNAME` 或 `opencode`) | | |
| | <nobr><code>{"--dir"}</code></nobr> | | 執行目錄,或附加時遠端伺服器上的路徑 | | |
| | <nobr><code>{"--variant"}</code></nobr> | | 模型變體(特定於提供者的推理級別) | | |
| | <nobr><code>{"--thinking"}</code></nobr> | | 顯示思考區塊 | | |
| | <nobr><code>{"--port"}</code></nobr> | | 本地伺服器連接埠(預設為隨機連接埠) | | |
| ### serve | |
| 啟動無介面的 OpenCode 伺服器以提供 API 存取。查看[伺服器文件](/docs/server)了解完整的 HTTP 介面。 | |
| ```bash | |
| opencode serve | |
| ``` | |
| 此指令啟動一個 HTTP 伺服器,提供對 OpenCode 功能的 API 存取,無需 TUI 介面。設定 `OPENCODE_SERVER_PASSWORD` 可啟用 HTTP 基本認證(使用者名稱預設為 `opencode`)。 | |
| #### 旗標 | |
| | 旗標 | 說明 | | |
| | ---------------------------------------- | -------------------------- | | |
| | <nobr><code>{"--port"}</code></nobr> | 監聽連接埠 | | |
| | <nobr><code>{"--hostname"}</code></nobr> | 監聽主機名稱 | | |
| | <nobr><code>{"--mdns"}</code></nobr> | 啟用 mDNS 探索 | | |
| | <nobr><code>{"--cors"}</code></nobr> | 允許 CORS 的額外瀏覽器來源 | | |
| ### session | |
| 管理 OpenCode 工作階段。 | |
| ```bash | |
| opencode session [command] | |
| ``` | |
| #### list | |
| 列出所有 OpenCode 工作階段。 | |
| ```bash | |
| opencode session list | |
| ``` | |
| ##### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ----------------------------------------- | ---- | ------------------------------------- | | |
| | <nobr><code>{"--max-count"}</code></nobr> | `-n` | 限制為最近 N 個工作階段 | | |
| | <nobr><code>{"--format"}</code></nobr> | | 輸出格式:table 或 json(預設 table) | | |
| ### stats | |
| 顯示 OpenCode 工作階段的 Token 用量和費用統計資訊。 | |
| ```bash | |
| opencode stats | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 說明 | | |
| | --------------------------------------- | ---------------------------------------------------- | | |
| | <nobr><code>{"--days"}</code></nobr> | 顯示最近 N 天的統計資訊(預設為所有時間) | | |
| | <nobr><code>{"--tools"}</code></nobr> | 顯示的工具數量(預設為全部) | | |
| | <nobr><code>{"--models"}</code></nobr> | 顯示模型用量明細(預設隱藏)。傳入數字可顯示前 N 個 | | |
| | <nobr><code>{"--project"}</code></nobr> | 按專案篩選(預設為所有專案,傳入空字串表示當前專案) | | |
| ### export | |
| 將工作階段資料匯出為 JSON。 | |
| ```bash | |
| opencode export [sessionID] | |
| ``` | |
| 如果您不提供工作階段 ID,系統將提示您從可用的工作階段中進行選擇。 | |
| ### import | |
| 從 JSON 檔案或 OpenCode 分享連結匯入工作階段資料。 | |
| ```bash | |
| opencode import <file> | |
| ``` | |
| 您可以從本地檔案或 OpenCode 分享連結匯入。 | |
| ```bash | |
| opencode import session.json | |
| opencode import https://opncd.ai/s/abc123 | |
| ``` | |
| ### web | |
| 啟動帶有 Web 介面的無介面 OpenCode 伺服器。 | |
| ```bash | |
| opencode web | |
| ``` | |
| 此指令啟動一個 HTTP 伺服器並開啟瀏覽器,透過 Web 介面存取 OpenCode。設定 `OPENCODE_SERVER_PASSWORD` 可啟用 HTTP 基本認證(使用者名稱預設為 `opencode`)。 | |
| #### 旗標 | |
| | 旗標 | 說明 | | |
| | ---------------------------------------- | -------------------------- | | |
| | <nobr><code>{"--port"}</code></nobr> | 監聽連接埠 | | |
| | <nobr><code>{"--hostname"}</code></nobr> | 監聽主機名稱 | | |
| | <nobr><code>{"--mdns"}</code></nobr> | 啟用 mDNS 探索 | | |
| | <nobr><code>{"--cors"}</code></nobr> | 允許 CORS 的額外瀏覽器來源 | | |
| ### acp | |
| 啟動 ACP(Agent Client Protocol)伺服器。 | |
| ```bash | |
| opencode acp | |
| ``` | |
| 此指令啟動一個透過 stdin/stdout 使用 nd-JSON 進行通訊的 ACP 伺服器。 | |
| #### 旗標 | |
| | 旗標 | 說明 | | |
| | ---------------------------------------- | ------------ | | |
| | <nobr><code>{"--cwd"}</code></nobr> | 工作目錄 | | |
| | <nobr><code>{"--port"}</code></nobr> | 監聽連接埠 | | |
| | <nobr><code>{"--hostname"}</code></nobr> | 監聽主機名稱 | | |
| ### uninstall | |
| 解除安裝 OpenCode 並刪除所有相關檔案。 | |
| ```bash | |
| opencode uninstall | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ------------------------------------------- | ---- | ------------------------------ | | |
| | <nobr><code>{"--keep-config"}</code></nobr> | `-c` | 保留設定檔 | | |
| | <nobr><code>{"--keep-data"}</code></nobr> | `-d` | 保留工作階段資料和快照 | | |
| | <nobr><code>{"--dry-run"}</code></nobr> | | 顯示將被刪除的內容但不實際刪除 | | |
| | <nobr><code>{"--force"}</code></nobr> | `-f` | 跳過確認提示 | | |
| ### upgrade | |
| 將 OpenCode 更新到最新版本或指定版本。 | |
| ```bash | |
| opencode upgrade [target] | |
| ``` | |
| 更新到最新版本。 | |
| ```bash | |
| opencode upgrade | |
| ``` | |
| 更新到指定版本。 | |
| ```bash | |
| opencode upgrade v0.1.48 | |
| ``` | |
| #### 旗標 | |
| | 旗標 | 簡寫 | 說明 | | |
| | -------------------------------------- | ---- | ------------------------------------------ | | |
| | <nobr><code>{"--method"}</code></nobr> | `-m` | 使用的安裝方式:curl、npm、pnpm、bun、brew | | |
| ## 全域旗標 | |
| OpenCode CLI 接受以下全域旗標。 | |
| | 旗標 | 簡寫 | 說明 | | |
| | ------------------------------------------ | ---- | ------------------------------------ | | |
| | <nobr><code>{"--help"}</code></nobr> | `-h` | 顯示說明資訊 | | |
| | <nobr><code>{"--version"}</code></nobr> | `-v` | 印出版本號 | | |
| | <nobr><code>{"--print-logs"}</code></nobr> | | 將日誌輸出到 stderr | | |
| | <nobr><code>{"--log-level"}</code></nobr> | | 日誌等級(DEBUG、INFO、WARN、ERROR) | | |
| ## 環境變數 | |
| OpenCode 可以透過環境變數進行設定。 | |
| | 變數 | 類型 | 說明 | | |
| | ------------------------------------- | ------- | ------------------------------------------- | | |
| | `OPENCODE_AUTO_SHARE` | boolean | 自動分享工作階段 | | |
| | `OPENCODE_GIT_BASH_PATH` | string | Windows 上 Git Bash 可執行檔的路徑 | | |
| | `OPENCODE_CONFIG` | string | 設定檔路徑 | | |
| | `OPENCODE_TUI_CONFIG` | string | TUI 設定檔路徑 | | |
| | `OPENCODE_CONFIG_DIR` | string | 設定目錄路徑 | | |
| | `OPENCODE_CONFIG_CONTENT` | string | 內嵌 JSON 設定內容 | | |
| | `OPENCODE_DISABLE_AUTOUPDATE` | boolean | 停用自動更新檢查 | | |
| | `OPENCODE_DISABLE_PRUNE` | boolean | 停用舊資料清理 | | |
| | `OPENCODE_DISABLE_TERMINAL_TITLE` | boolean | 停用自動終端機標題更新 | | |
| | `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_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 回應的最大輸出 Token 數 | | |
| | `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 | 為 python 檔案啟用 TY LSP | | |
| | `OPENCODE_EXPERIMENTAL_PLAN_MODE` | boolean | 啟用計畫模式 | | |
| | `OPENCODE_EXPERIMENTAL_BACKGROUND_SUBAGENTS` | boolean | 啟用背景子代理任務 | | |
| | `OPENCODE_EXPERIMENTAL_EVENT_SYSTEM` | boolean | 啟用實驗性事件系統 | | |
| | `OPENCODE_EXPERIMENTAL_NATIVE_LLM` | boolean | 啟用原生 LLM 請求路徑 | | |
| | `OPENCODE_EXPERIMENTAL_PARALLEL` | boolean | 啟用平行 Web 搜尋執行 | | |
| | `OPENCODE_EXPERIMENTAL_SCOUT` | boolean | 啟用 Scout 子代理 | | |
| | `OPENCODE_EXPERIMENTAL_WORKSPACES` | boolean | 啟用工作區支援 | | |
Xet Storage Details
- Size:
- 21.4 kB
- Xet hash:
- b14e4a88c7f703f6b1ad07a75befcdc24dd0e454cdd1824cc88679eedeaa5b3d
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.