CLI
CLI
OpenCode CLI 选项和命令。
OpenCode CLI 默认在无参数运行时启动 TUI 终端用户界面。
opencode
同时它也接受以下文档中记录的命令,实现程序化交互。
opencode run "Explain how closures work in JavaScript"
tui
启动 OpenCode 终端用户界面。
opencode [project]
Flags
| 参数 | 缩写 | 描述 |
|---|---|---|
--continue | -c | 继续上一个会话 |
--session | -s | 指定要继续的会话 ID |
--fork | - | 复制会话而非继续 |
--prompt | - | 自定义提示词 |
--model | -m | 指定模型,格式为 provider/model |
--agent | - | 指定使用的智能体 |
--port | - | 监听端口 |
--hostname | - | 监听主机名 |
--mdns | - | 启用 mDNS 发现 |
--mdns-domain | - | 自定义 mDNS 域名 |
--cors | - | 允许的额外 CORS 来源 |
Commands
OpenCode CLI 还具有以下命令。
agent
管理 OpenCode 的智能体。
opencode agent [command]
create
创建具有自定义配置的新智能体。
opencode agent create
此命令将引导你创建一个具有自定义系统提示词和权限配置的新智能体。任何你不允许的内容都将在生成的智能体 frontmatter 中被拒绝。
| 参数 | 缩写 | 描述 |
|---|---|---|
--path | - | 智能体文件保存路径 |
--description | - | 智能体职责描述 |
--mode | - | 智能体模式:all、primary 或 subagent |
--permissions | - | 允许的工具权限列表(逗号分隔) |
--model | -m | 指定模型,格式为 provider/model |
可用权限:bash、read、edit、glob、grep、webfetch、task、todowrite、websearch、lsp、skill。
list
列出所有可用的智能体。
opencode agent list
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 的工作目录 |
--continue | -c | 继续会话 |
--session | -s | 指定会话 ID |
--fork | - | 复制会话 |
--password | -p | 密码认证 |
--username | -u | 用户名认证 |
auth
管理 providers 的凭证和登录。
opencode auth [command]
login
OpenCode 由 Models.dev 上的 provider 列表提供支持,因此你可以使用 opencode auth login 为任何想要使用的 provider 配置 API 密钥。这存储在 ~/.local/share/opencode/auth.json 中。
opencode auth login
| 参数 | 缩写 | 描述 |
|---|---|---|
--provider | -p | 指定 provider |
--method | -m | 登录方式 |
list
列出凭证文件中存储的所有已认证 providers。
opencode auth list
# 或简短版本
opencode auth ls
logout
通过清除凭证文件中的记录来退出 provider。
opencode auth logout
github
管理 GitHub 智能体以实现仓库自动化。
opencode github [command]
install
在仓库中安装 GitHub 智能体。
opencode github install
这会设置必要的 GitHub Actions 工作流并引导你完成配置过程。
run
运行 GitHub 智能体。这通常用于 GitHub Actions。
opencode github run
| 参数 | 描述 |
|---|---|
--event | 模拟事件数据 |
--token | GitHub 个人访问令牌 |
mcp
管理 Model Context Protocol 服务器。
opencode mcp [command]
add
将 MCP 服务器添加到你的配置。
opencode mcp add
list
列出所有已配置的 MCP 服务器及其连接状态。
opencode mcp list
# 或简短版本
opencode mcp ls
auth
对启用 OAuth 的 MCP 服务器进行身份验证。
opencode mcp auth [name]
列出支持 OAuth 的服务器:
opencode mcp auth list
# 或简短版本
opencode mcp auth ls
logout
清除 MCP 服务器的 OAuth 凭证。
opencode mcp logout [name]
debug
诊断 MCP 服务器的 OAuth 连接问题。
opencode mcp debug <name>
models
列出已配置 providers 的所有可用模型。
opencode models [provider]
此命令以 provider/model 格式显示所有已配置 providers 的可用模型。
opencode models anthropic
| 参数 | 描述 |
|---|---|
--refresh | 从 models.dev 刷新模型列表 |
--verbose | 使用更详细的模型输出(包括成本等元数据) |
run
通过直接传递提示词以非交互模式运行 opencode。
opencode run [message..]
opencode run Explain the use of context in Go
你也可以附加到正在运行的 opencode serve 实例:
# 在一个终端中启动无头服务器
opencode serve
# 在另一个终端中,运行附加到它的命令
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"
| 参数 | 缩写 | 描述 |
|---|---|---|
--command | - | 要运行的命令,用 message 作为参数 |
--continue | -c | 继续上一个会话 |
--session | -s | 指定会话 ID |
--fork | - | 复制会话 |
--share | - | 分享会话 |
--model | -m | 指定模型,格式为 provider/model |
--agent | - | 使用的智能体 |
--file | -f | 附加到消息的文件 |
--format | - | 格式:default(格式化)或 json(原始 JSON 事件) |
--title | - | 会话标题 |
--attach | - | 附加到正在运行的 opencode 服务器 |
--password | -p | 密码认证 |
--username | -u | 用户名认证 |
--dir | - | 运行目录,或附加时远程服务器上的路径 |
--port | - | 本地服务器端口 |
--variant | - | 模型变体(provider 特定的推理努力) |
--thinking | - | 显示思考块 |
--dangerously-skip-permissions | - | 自动批准权限(危险!) |
serve
启动用于 API 访问的无头 OpenCode 服务器。
opencode serve
这会启动一个 HTTP 服务器,提供对 opencode 功能的 API 访问,而不需要 TUI 界面。设置 OPENCODE_SERVER_PASSWORD 以启用 HTTP 基本认证。
| 参数 | 描述 |
|---|---|
--port | 监听端口 |
--hostname | 监听主机名 |
--mdns | 启用 mDNS 发现 |
--mdns-domain | 自定义 mDNS 域名 |
--cors | 允许的额外 CORS 来源 |
session
管理 OpenCode 会话。
opencode session [command]
list
列出所有 OpenCode 会话。
opencode session list
| 参数 | 缩写 | 描述 |
|---|---|---|
--max-count | -n | 限制为最近 N 个会话 |
--format | - | 输出格式:table 或 json |
delete
删除 OpenCode 会话。
opencode session delete <sessionID>
stats
显示 OpenCode 会话的令牌使用量和成本统计。
opencode stats
| 参数 | 描述 |
|---|---|
--days | 显示最近 N 天的统计 |
--tools | 显示的工具数量 |
--models | 显示模型使用细分 |
--project | 按项目过滤 |
export
将会话数据导出为 JSON。
opencode export [sessionID]
| 参数 | 描述 |
|---|---|
--sanitize | 删除敏感转录/文件数据 |
import
从 JSON 文件或 OpenCode 分享 URL 导入会话数据。
opencode import <file>
opencode import session.json
opencode import https://opncd.ai/s/abc123
web
启动带 Web 界面的服务器。
opencode web
| 参数 | 描述 |
|---|---|
--port | 监听端口 |
--hostname | 监听主机名 |
--mdns | 启用 mDNS 发现 |
--mdns-domain | 自定义 mDNS 域名 |
--cors | 允许的额外 CORS 来源 |
acp
启动 ACP(Agent Client Protocol)服务器。
opencode acp
此命令启动一个通过 stdin/stdout 使用 nd-JSON 通信的 ACP 服务器。
| 参数 | 描述 |
|---|---|
--cwd | 工作目录 |
--port | 监听端口 |
--hostname | 监听主机名 |
--mdns | 启用 mDNS 发现 |
--mdns-domain | 自定义 mDNS 域名 |
--cors | 允许的额外 CORS 来源 |
plugin
安装插件并更新配置。
opencode plugin <module>
# 或使用别名
opencode plug <module>
| 参数 | 缩写 | 描述 |
|---|---|---|
--global | -g | 安装到全局配置 |
--force | -f | 替换现有插件版本 |
pr
获取并检出 GitHub PR 分支,然后运行 OpenCode。
opencode pr <number>
db
数据库工具。
opencode db [query]
| 参数 | 描述 |
|---|---|
--format | 输出格式:json 或 tsv |
path
打印数据库路径。
opencode db path
debug
调试和故障排除工具。
opencode debug [command]
uninstall
卸载 OpenCode 并删除所有相关文件。
opencode uninstall
| 参数 | 缩写 | 描述 |
|---|---|---|
--keep-config | -c | 保留配置文件 |
--keep-data | -d | 保留会话数据和快照 |
--dry-run | - | 显示将要删除的内容而不实际删除 |
--force | -f | 跳过确认提示 |
upgrade
将 opencode 更新到最新版本或指定版本。
opencode upgrade
# 或指定版本
opencode upgrade v0.1.48
| 参数 | 缩写 | 描述 |
|---|---|---|
--method | -m | 使用的安装方式;curl、npm、pnpm、bun、brew |
Global Flags
opencode CLI 接受以下全局参数。
| 参数 | 缩写 | 描述 |
|---|---|---|
--help | -h | 显示帮助 |
--version | -v | 打印版本号 |
--print-logs | - | 将日志打印到 stderr |
--log-level | - | 日志级别(DEBUG、INFO、WARN、ERROR) |
--pure | - | 不加载外部插件运行 |
Environment variables
可以使用环境变量配置 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_DISABLE_MOUSE | boolean | 禁用 TUI 中的鼠标捕获 |
OPENCODE_FAKE_VCS | string | 用于测试的虚假 VCS provider |
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 |
Experimental
这些环境变量启用可能更改或删除的实验性功能。
| 变量 | 类型 | 描述 |
|---|---|---|
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 响应的最大输出令牌数 |
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 | 启用并行网络搜索执行 |
OPENCODE_EXPERIMENTAL_SCOUT | boolean | 启用 Scout 子智能体 |
OPENCODE_EXPERIMENTAL_WORKSPACES | boolean | 启用工作区支持 |