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
|
||
```
|
||
|
||
但它也接受允许本页记录的命令。这您以Smashing方式与opencode交互。
|
||
|
||
```bash
|
||
opencode run "Explain how closures work in JavaScript"
|
||
```
|
||
|
||
---
|
||
|
||
### 推
|
||
|
||
启动opencode用户终端界面。
|
||
|
||
```bash
|
||
opencode [project]
|
||
```
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 短 | 描述 |
|
||
| ------------ | ---- | --------------------------------------------------------- |
|
||
| `--continue` | `-c` | 继续上期 |
|
||
| `--session` | `-s` | 会话 ID 继续 |
|
||
| `--fork` | | 继续时分叉会话(与 `--continue` 或 `--session` 一起使用) |
|
||
| `--prompt` | | 提示使用 |
|
||
| `--model` | `-m` | 以提供商/模型形式使用的模型 |
|
||
| `--agent` | | 代理使用 |
|
||
| `--port` | | 监听端口 |
|
||
| `--hostname` | | 监听的主机名 |
|
||
|
||
---
|
||
|
||
## 命令
|
||
|
||
opencode CLI 还具有以下命令。
|
||
|
||
---
|
||
|
||
### 代理人
|
||
|
||
管理 opencode 代理。
|
||
|
||
```bash
|
||
opencode agent [command]
|
||
```
|
||
|
||
---
|
||
|
||
### 附
|
||
|
||
将终端通过 `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 继续 |
|
||
|
||
---
|
||
|
||
#### 创建
|
||
|
||
使用自定義配置创建新代理。
|
||
|
||
```bash
|
||
opencode agent create
|
||
```
|
||
|
||
此命令将指導您使用自定義系統提示和工具配置创建新代理。
|
||
|
||
---
|
||
|
||
#### 列表
|
||
|
||
列出所有可用的代理。
|
||
|
||
```bash
|
||
opencode agent list
|
||
```
|
||
|
||
---
|
||
|
||
### 授權
|
||
|
||
用于管理提供商的憑據和登錄的命令。
|
||
|
||
```bash
|
||
opencode auth [command]
|
||
```
|
||
|
||
---
|
||
|
||
#### 登录
|
||
|
||
opencode 由 [Models.dev](https://models.dev) 上的模型列表提供支持,因此您可以使用 `opencode auth login` 来为您想要使用的任何模型配置 API 按键。它存储在 `~/.local/share/opencode/auth.json` 中。
|
||
|
||
```bash
|
||
opencode auth login
|
||
```
|
||
|
||
当opencode启动时,它会从auth 文件加载提供商。如果您的环境中定义了任何按键或项目中的`.env`文件。
|
||
|
||
---
|
||
|
||
#### 列表
|
||
|
||
列出憑證文件中存儲的所有經过身份验证的提供商。
|
||
|
||
```bash
|
||
opencode auth list
|
||
```
|
||
|
||
或者簡短的版本。
|
||
|
||
```bash
|
||
opencode auth ls
|
||
```
|
||
|
||
---
|
||
|
||
#### 註銷
|
||
|
||
通过從憑據文件中清除提供商,将您從提供商中註銷。
|
||
|
||
```bash
|
||
opencode auth logout
|
||
```
|
||
|
||
---
|
||
|
||
### github
|
||
|
||
管理 GitHub 代理以实现存储库自动化。
|
||
|
||
```bash
|
||
opencode github [command]
|
||
```
|
||
|
||
---
|
||
|
||
#### 安装
|
||
|
||
在您的存储库中安装 GitHub 代理。
|
||
|
||
```bash
|
||
opencode github install
|
||
```
|
||
|
||
这将设置必要的 GitHub Actions 工作流程并指导您完成配置过程。 [了解更多](/docs/github)。
|
||
|
||
---
|
||
|
||
#### 跑步
|
||
|
||
运行 GitHub 代理。这通常用在 GitHub Actions 中。
|
||
|
||
```bash
|
||
opencode github run
|
||
```
|
||
|
||
##### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| --------- | ------------------------------ |
|
||
| `--event` | 用于运行代理的 GitHub 模拟事件 |
|
||
| `--token` | GitHub 个人访问Tokens |
|
||
|
||
---
|
||
|
||
### MCP
|
||
|
||
管理模型上下文協議服務器。
|
||
|
||
```bash
|
||
opencode mcp [command]
|
||
```
|
||
|
||
---
|
||
|
||
#### 添加
|
||
|
||
将 MCP 服务器添加到您的配置中。
|
||
|
||
```bash
|
||
opencode mcp add
|
||
```
|
||
|
||
此命令将指导您添加本地或远程 MCP 服务器。
|
||
|
||
---
|
||
|
||
#### 列表
|
||
|
||
列出所有已配置的 MCP 服务器及其连接状态。
|
||
|
||
```bash
|
||
opencode mcp list
|
||
```
|
||
|
||
或者使用簡短版本。
|
||
|
||
```bash
|
||
opencode mcp ls
|
||
```
|
||
|
||
---
|
||
|
||
#### 授權
|
||
|
||
使用启用 OAuth 的 MCP 服务器进行身份验证。
|
||
|
||
```bash
|
||
opencode mcp auth [name]
|
||
```
|
||
|
||
如果您不提供服务器名称,系统将提示您从可用的支持 OAuth 的服务器中进行选择。
|
||
|
||
您还可以开始支持 OAuth 的及其服务器身份验证状态。
|
||
|
||
```bash
|
||
opencode mcp auth list
|
||
```
|
||
|
||
或者使用簡短版本。
|
||
|
||
```bash
|
||
opencode mcp auth ls
|
||
```
|
||
|
||
---
|
||
|
||
#### 註銷
|
||
|
||
删除 MCP 服务器的 OAuth 工具。
|
||
|
||
```bash
|
||
opencode mcp logout [name]
|
||
```
|
||
|
||
---
|
||
|
||
#### 偵錯
|
||
|
||
调试MCP服务器的OAuth连接问题。
|
||
|
||
```bash
|
||
opencode mcp debug <name>
|
||
```
|
||
|
||
---
|
||
|
||
### 模型
|
||
|
||
列出已配置提供商的所有可用模型。
|
||
|
||
```bash
|
||
opencode models [provider]
|
||
```
|
||
|
||
此命令以 `provider/model` 格式显示您配置的提供商中可用的所有模型。
|
||
|
||
这对于确定[你的配置](/docs/config/)中使用的意图模型名称很有帮助。
|
||
|
||
您可以选择提供项目ID并按该提供项目筛选模型。
|
||
|
||
```bash
|
||
opencode models anthropic
|
||
```
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| ----------- | ---------------------------------------- |
|
||
| `--refresh` | 从 models.dev 刷新模型缓存 |
|
||
| `--verbose` | 使用更详细的模型输出(包括成本等元数据) |
|
||
|
||
使用`--refresh`标志来更新服务器的模型列表。当新模型已添加到提供商并且您希望在opencode中查看它们时,这非常有用。
|
||
|
||
```bash
|
||
opencode models --refresh
|
||
```
|
||
|
||
---
|
||
|
||
### 跑步
|
||
|
||
通过直接传递提示以非交互模式运行 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` | | 本地服务器的端口(默认为随机端口) |
|
||
|
||
---
|
||
|
||
### 服務
|
||
|
||
启动无头opencode服务器以进行API访问。查看[服务器文档](/docs/server)以获取完整的HTTP 接口。
|
||
|
||
```bash
|
||
opencode serve
|
||
```
|
||
|
||
这将启动一个 HTTP 服务器,该服务器提供对 opencode 功能的 API 访问,并占用 TUI 接口。设置 `OPENCODE_SERVER_PASSWORD` 以启用 HTTP 基本身份验证(用户名默认为 `opencode`)。
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| ------------ | ------------------------ |
|
||
| `--port` | 监听端口 |
|
||
| `--hostname` | 监听的主机名 |
|
||
| `--mdns` | 启用 mDNS 发现 |
|
||
| `--cors` | 允许 CORS 的其他浏览器源 |
|
||
|
||
---
|
||
|
||
### 会话
|
||
|
||
管理 opencode 会话。
|
||
|
||
```bash
|
||
opencode session [command]
|
||
```
|
||
|
||
---
|
||
|
||
#### 列表
|
||
|
||
列出所有 opencode 会话。
|
||
|
||
```bash
|
||
opencode session list
|
||
```
|
||
|
||
##### 旗幟
|
||
|
||
| 旗幟 | 短 | 描述 |
|
||
| ------------- | ---- | ------------------------------ |
|
||
| `--max-count` | `-n` | 限制为最近的 N 个会话 |
|
||
| `--format` | | 输出格式:table 或 json(table) |
|
||
|
||
---
|
||
|
||
### 統計數據
|
||
|
||
显示opencode会话的Tokens使用情况和成本统计信息。
|
||
|
||
```bash
|
||
opencode stats
|
||
```
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| ----------- | -------------------------------------------------------- |
|
||
| `--days` | 显示过去N天(所有时间)的统计数据 |
|
||
| `--tools` | 显示工具数量(全部) |
|
||
| `--models` | 隐藏显示模型使用情况解读(默认)。输入一个数字来显示前 N |
|
||
| `--project` | 按项目过滤(所有项目,空字符串:当前项目) |
|
||
|
||
---
|
||
|
||
### 出口
|
||
|
||
将会话数据导出为JSON。
|
||
|
||
```bash
|
||
opencode export [sessionID]
|
||
```
|
||
|
||
如果您不提供会话 ID,系统将提示您从可用的会话中进行选择。
|
||
|
||
---
|
||
|
||
### 進口
|
||
|
||
从 JSON 文件或 opencode 共享 URL 导入会话数据。
|
||
|
||
```bash
|
||
opencode import <file>
|
||
```
|
||
|
||
您可以从本地文件或 opencode 共享 URL 导入。
|
||
|
||
```bash
|
||
opencode import session.json
|
||
opencode import https://opncd.ai/s/abc123
|
||
```
|
||
|
||
---
|
||
|
||
### 網絡
|
||
|
||
使用Web界面启动无头opencode服务器。
|
||
|
||
```bash
|
||
opencode web
|
||
```
|
||
|
||
这将启动HTTP服务器并打开Web浏览器以通过Web界面访问opencode。设置`OPENCODE_SERVER_PASSWORD`以启用HTTP基本身份验证(用户名默认为`opencode`)。
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| ------------ | ------------------------ |
|
||
| `--port` | 监听端口 |
|
||
| `--hostname` | 监听的主机名 |
|
||
| `--mdns` | 启用 mDNS 发现 |
|
||
| `--cors` | 允许 CORS 的其他浏览器源 |
|
||
|
||
---
|
||
|
||
### 丙烯酰胺
|
||
|
||
启动ACP(代理客户端协议)服务器。
|
||
|
||
```bash
|
||
opencode acp
|
||
```
|
||
|
||
此启动一个ACP服务器,该服务器使用nd-JSON通过stdin/stdout进行通信命令。
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 描述 |
|
||
| ------------ | ------------ |
|
||
| `--cwd` | 工作目录 |
|
||
| `--port` | 监听端口 |
|
||
| `--hostname` | 监听的主机名 |
|
||
|
||
---
|
||
|
||
### 解除安装
|
||
|
||
卸载opencode并删除所有相关文件。
|
||
|
||
```bash
|
||
opencode uninstall
|
||
```
|
||
|
||
#### 旗幟
|
||
|
||
| 旗幟 | 短 | 描述 |
|
||
| --------------- | ---- | -------------------------------- |
|
||
| `--keep-config` | `-c` | 保留配置文件 |
|
||
| `--keep-data` | `-d` | 保留会话数据和快照 |
|
||
| `--dry-run` | | 在显示不删除的情况下将删除的内容 |
|
||
| `--force` | `-f` | 跳过确认提示 |
|
||
|
||
---
|
||
|
||
### 升級
|
||
|
||
将 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 响应的最大输出Tokens |
|
||
| `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` | 布尔 | 启用计划模式 |
|