CLI
OpenCode CLI 选项与命令。
默认情况下,OpenCode CLI 在运行时若不带任何参数,会启动 TUI。
opencode但它也接受本页文档中记录的命令。这允许您以编程方式与 OpenCode 交互。
opencode run "解释 JavaScript 中闭包的工作原理"tui
启动 OpenCode 终端用户界面。
opencode [project]标志
| 标志 | 简写 | 描述 |
|---|---|---|
--continue | -c | 继续上一个会话 |
--session | -s | 要恢复的会话 ID |
--prompt | 使用的提示词 | |
--model | -m | 使用的模型,格式为 provider/model |
--agent | 使用的智能体 | |
--port | 监听的端口 | |
--hostname | 监听的主机名 |
命令
OpenCode CLI 还具有以下命令。
agent
管理 OpenCode 的智能体。
opencode agent [command]attach
将终端附加到已通过 serve 或 web 命令启动的 OpenCode 后端服务器。
opencode attach [url]这允许 TUI 与远程 OpenCode 后端一起使用。例如:
# 为 web/移动端访问启动后端服务器opencode web --port 4096 --hostname 0.0.0.0
# 在另一个终端中,将 TUI 附加到正在运行的后端opencode 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 解释 Go 语言中 context 的用法您还可以附加到正在运行的 opencode serve 实例,以避免每次运行时的 MCP 服务器冷启动时间:
# 在一个终端中启动一个无头服务器opencode serve
# 在另一个终端中,运行附加到该服务器的命令opencode run --attach http://localhost:4096 "解释 JavaScript 中的 async/await"标志
| 标志 | 简写 | 描述 |
|---|---|---|
--command | 要运行的命令,使用 message 传递参数 | |
--continue | -c | 继续上一次会话 |
--session | -s | 要恢复的会话 ID |
--share | 分享会话 | |
--model | -m | 要使用的模型,格式为 provider/model |
--agent | 要使用的代理 | |
--file | -f | 要附加到消息的文件 |
--format | 格式:default(格式化)或 json(原始 JSON 事件) | |
--title | 会话标题(如果未提供值,则使用截断后的提示词) | |
--attach | 附加到正在运行的 opencode 服务器(例如,http://localhost:4096) | |
--port | 本地服务器的端口(默认为随机端口) |
serve
启动一个无头 OpenCode 服务器以提供 API 访问。完整的 HTTP 接口请查看 服务器文档。
opencode serve这将启动一个 HTTP 服务器,提供对 opencode 功能的 API 访问,但没有 TUI 界面。
标志
| 标志 | 描述 |
|---|---|
--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 分享链接导入会话数据。
opencode import <file>您可以从本地文件或 OpenCode 分享链接导入。
opencode import session.jsonopencode import https://opncd.ai/s/abc123web
启动一个带有 Web 界面的无头 OpenCode 服务器。
opencode web此命令启动一个 HTTP 服务器并打开 Web 浏览器,以便通过 Web 界面访问 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 | 日志级别 (DEBUG, INFO, WARN, ERROR) |
环境变量
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 | 禁用自动终端标题更新 |
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_CLIENT | string | 客户端标识符(默认为 cli) |
OPENCODE_ENABLE_EXA | boolean | 启用 Exa 网络搜索工具 |
实验性功能
这些环境变量用于启用可能变更或移除的实验性功能。
| 变量名 | 类型 | 描述 |
|---|---|---|
OPENCODE_EXPERIMENTAL | boolean | 启用所有实验性功能 |
OPENCODE_EXPERIMENTAL_ICON_DISCOVERY | boolean | 启用图标发现功能 |
OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT | boolean | 在 TUI 中禁用选中即复制功能 |
OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH | number | Bash 命令的最大输出长度 |
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 工具 |