mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-11 03:08:41 +00:00
604 lines
17 KiB
Plaintext
604 lines
17 KiB
Plaintext
---
|
||
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 繼續 |
|
||
| `--fork` | | 繼續時分叉會話(與 `--continue` 或 `--session` 一起使用) |
|
||
| `--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 <name>
|
||
```
|
||
|
||
---
|
||
|
||
### 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 繼續 |
|
||
| `--fork` | | 繼續時分叉會話(與 `--continue` 或 `--session` 一起使用) |
|
||
| `--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 <file>
|
||
```
|
||
|
||
您可以從本地文件或 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` | 布爾 | 啟用計劃模式 |
|