CLI 与非交互运行
opencode 命令与子命令:run(非交互)、serve、attach 复用运行中的服务器、会话管理、auth、mcp、models、stats、export/import、web、acp;run 的常用标志。
默认情况下,运行不带任何参数的 opencode 启动终端界面(TUI)。OpenCode CLI 也接受命令行参数和子命令:
| 子命令 | 作用 |
|---|---|
tui | 启动终端界面(默认) |
run | 通过直接传入提示以非交互模式运行 opencode |
serve | 启动无头 opencode 服务器 |
attach | 连接到运行中的 opencode 服务器 |
agent create / agent list | 创建新智能体 / 列出智能体 |
auth login / list / logout | 管理提供商凭据 |
mcp add / list / auth / logout / debug | 管理 MCP 服务器 |
models | 列出可用模型 |
session list / delete | 管理会话 |
stats | 显示用量统计 |
export / import | 导出或导入会话数据 |
github install / run | GitHub 集成 |
web | 启动带 Web 界面的服务器 |
acp | 启动 ACP(Agent Client Protocol)服务器 |
plugin | 管理插件 |
非交互运行:opencode run
通过直接传入提示以非交互模式运行 opencode,适用于脚本、自动化,或想要快速回答而不启动完整 TUI 时:
opencode run Explain the use of context in Go可以连接到运行中的 opencode serve 实例,避免每次运行都冷启动 MCP 服务器:
# 在一个终端启动无头服务器
opencode serve
# 在另一个终端运行命令并连接它
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"常用标志:
| 标志 | 简写 | 说明 |
|---|---|---|
--command | 要运行的命令,用 message 传参数 | |
--continue | -c | 继续上一次会话 |
--session | -s | 要继续的会话 ID |
--fork | 继续时分叉会话(与 --continue 或 --session 搭配) | |
--share | 分享会话 | |
--model | -m | 使用的模型,形式为 provider/model |
--agent | 使用的智能体 | |
--file | -f | 附加到消息的文件 |
--format | 格式:default(格式化)或 json(原始 JSON 事件) | |
--title | 会话标题(不带值时用截断的提示) | |
--attach | 连接到运行中的 opencode 服务器(如 http://localhost:4096) | |
--dir | 运行所在目录,或连接时在远程服务器上的路径 | |
--variant | 模型变体(提供商特定的推理强度) | |
--thinking | 显示思考块 | |
--auto | 自动批准没有被显式拒绝的权限请求 |
服务器的基本认证用 --username / --password(默认取 OPENCODE_SERVER_USERNAME(默认 opencode)和 OPENCODE_SERVER_PASSWORD)。其余子命令的标志见官方 CLI 页。