CLI 与命令系统
无参数行为
opencode 不带参数默认启动 TUI。
主要子命令
| 子命令 | 用途 |
|---|---|
opencode [project] | 启动 TUI(-c 续上次会话,-s 指定 session,--model/-m,--agent,--auto 自动批准非明确拒绝的权限) |
opencode run [message..] | 非交互模式,脚本化/自动化跑一次任务;支持 --attach 附着到 opencode serve 避免 MCP 冷启动 |
opencode serve | 启动无 UI 的 headless HTTP server,供 API 访问 |
opencode web | 启动 headless server + 打开浏览器 Web 界面 |
opencode attach [url] | 将 TUI attach 到已运行的远程 backend |
opencode agent [create|list] | 管理 Agent,create 可交互式生成新 Agent |
opencode auth [login|list|logout] | 管理各 Provider 的登录凭证(存于 ~/.local/share/opencode/auth.json),模型来源为 Models.dev |
opencode mcp [add|list|auth|logout|debug] | 管理 MCP Server 连接 |
opencode models [provider] | 列出可用模型,--refresh 刷新缓存 |
opencode session [list|delete] | 管理会话 |
opencode stats | 查看 token 用量与费用统计 |
opencode export [sessionID] / import <file> | 会话导出导入 JSON(import 支持本地文件或 OpenCode share URL) |
opencode github [install|run] | GitHub Action 集成安装与运行 |
opencode acp | 启动 ACP(Agent Client Protocol)server,stdin/stdout nd-JSON |
opencode plugin <module>(别名 plug) | 安装插件并更新配置 |
opencode pr <number> | 拉取并 checkout 某 GitHub PR 分支后直接跑 opencode |
opencode db [query] / opencode db path | 数据库查询工具/打印数据库路径 |
opencode debug [command] | 调试排障工具 |
opencode uninstall | 卸载(--keep-config/--keep-data/--dry-run) |
opencode upgrade [target] | 升级到最新或指定版本,详见 升级机制 |
全局 Flags
-h/--help、-v/--version、--print-logs、--log-level(DEBUG/INFO/WARN/ERROR)、--pure(禁用外部插件运行)。
环境变量(节选,完整见官方文档)
| 变量 | 说明 |
|---|---|
OPENCODE_CONFIG / OPENCODE_CONFIG_DIR / OPENCODE_CONFIG_CONTENT | 自定义配置文件/目录/内联内容 |
OPENCODE_DISABLE_AUTOUPDATE | 禁用自动更新 |
OPENCODE_DISABLE_CLAUDE_CODE / _PROMPT / _SKILLS | 关闭对 .claude 目录(prompt/skills)的读取 |
OPENCODE_SERVER_PASSWORD / OPENCODE_SERVER_USERNAME | serve/web 的 Basic Auth |
大量 OPENCODE_EXPERIMENTAL_* | 实验特性开关(并行网络搜索、事件系统、workspace 支持等),随时可能变更或移除 |
TUI 内置命令
/init、/undo、/redo、/share、/help 等,另有 connect/compact/details/editor/exit/export/models/new/sessions/themes/thinking/unshare 等(详见 界面与客户端)。
自定义命令(Custom Commands)
用途:把重复性 prompt 固化为 /命令名。
两种定义方式(与 Agent系统 一致的模式):
- JSON:
opencode.json的command字段 - Markdown:
~/.config/opencode/commands/或.opencode/commands/下的.md文件,文件名即命令名
Prompt 模板支持的特殊语法:
| 语法 | 作用 |
|---|---|
$ARGUMENTS | 整体参数替换 |
$1/$2/$3… | 位置参数 |
!`command` | 注入 bash 命令输出到 prompt(在项目根目录执行) |
@filename | 引用文件内容并自动注入 |
配置项:template(必填,prompt 内容)、description(必填)、agent(指定执行的 Agent;若为 subagent 默认触发子任务调用,可用 subtask: false 关闭)、subtask(强制以 subagent 方式执行,避免污染主上下文)、model(覆盖模型)。
自定义命令可覆盖同名内置命令。
关联
来源
https://opencode.ai/docs/cli、https://opencode.ai/docs/commands(dev 分支)。整理:赵卫国 2026-07-07。