词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!

┌─────────────────────────────────────────────────────────────────────────┐
│ OpenCode 使用方式 │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 交互模式 TUI │ │ 非交互模式 CLI │ │
│ │ │ │ │ │
│ │ opencode │ │ opencode run │ │
│ │ │ │ │ │
│ │ • 适合日常开发 │ │ • 适合脚本 │ │
│ │ • 实时对话 │ │ • 适合 CI/CD │ │
│ │ • 人工决策 │ │ • 自动化流程 │ │
│ └─────────────────┘ └─────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ 服务器模式 │ │
│ │ │ │
│ │ opencode serve → 启动无头服务器(只有 API) │ │
│ │ opencode web → 启动 Web 界面服务器 │ │
│ │ opencode attach → 连接远程服务器 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘| 模式 | 命令 | 特点 |
|---|---|---|
| TUI | opencode | 交互式,适合人工操作 |
| Run | opencode run | 非交互式,执行完退出 |
| Serve | opencode serve | 无头服务器,只暴露 API |
| Web | opencode web | 带 Web 界面的服务器 |
opencode run 是最常用的 CLI 命令,它会执行完任务后自动退出。| 选项 | 说明 | 示例 |
|---|---|---|
-m, --model | 指定模型 | -m anthropic/claude-opus-4-5 |
--agent | 指定 Agent | --agent code-reviewer |
-f, --file | 附加文件 | -f src/main.ts -f package.json |
-c, --continue | 继续上次会话 | -c |
-s, --session | 指定会话 ID | -s session_abc123 |
--format json | JSON 格式输出 | --format json |
--share | 自动分享会话 | --share |
--title | 设置会话标题 | --title "修复登录 Bug" |
opencode run --attach 直接连入opencode serve 没有认证保护。127.0.0.1(localhost),外部网络无法直接访问。只有当你:--hostname 0.0.0.0 开放所有网络接口| 选项 | 说明 | 默认值 |
|---|---|---|
--port | 监听端口 | 自动(优先 4096) |
--hostname | 监听地址 | 127.0.0.1 |
--mdns | 启用 mDNS 服务发现 | false |
--mdns-domain | mDNS 域名 | opencode.local |
--cors | CORS 白名单域名 | - |
| 变量 | 说明 |
|---|---|
OPENCODE_SERVER_PASSWORD | 服务器密码 |
OPENCODE_SERVER_USERNAME | 用户名(默认 opencode) |
opencode.json 配置文件中,只能通过环境变量设置。~/.config/opencode/opencode.json 只支持以下服务器选项:{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"mdnsDomain": "opencode.local",
"cors": ["http://example.com"]
}
}opencode pr 是一个专门处理 GitHub PR 的命令,它会:pr/<PR号>| 场景 | 说明 |
|---|---|
| 审查别人的 PR | 一键拉取,直接在 OpenCode 里审查 |
| 继续之前的会话 | PR 作者分享了会话链接,你可以恢复上下文 |
| 处理 Fork PR | 自动添加 Fork 远程仓库,正确设置上游 |
opencode run 执行一次性任务opencode serve 启动远程服务器并设置密码opencode attach 连接远程服务器opencode pr 拉取并处理 GitHub PRopencode session list 查看会话历史opencode export/import 备份恢复会话| 现象 | 原因 | 解决 |
|---|---|---|
opencode serve 报错 "address already in use" | 端口被占用 | 换个端口:--port 8080 |
| 远程连接被拒绝 | 防火墙或 hostname 设置 | 确认 --hostname 0.0.0.0,检查防火墙 |
opencode pr 报错 "gh CLI not found" | 未安装 GitHub CLI | 先安装 gh 并认证 |
opencode run 一直等待 | AI 在执行长时间任务 | 脚本里加超时:timeout 60 opencode run ... |
| JSON 输出解析失败 | 输出包含多行 JSON | 按换行分割,每行是一个 JSON 对象 |
| 服务器无认证警告 | 没有设置密码 | export OPENCODE_SERVER_PASSWORD=xxx |
opencode run 在脚本里调用 OpenCodeopencode serve/web 启动远程服务OPENCODE_SERVER_PASSWORD 保护服务器opencode pr 一键拉取并处理 PR本课是进阶手册的最后一课。接下来你可以:
更新时间:2026-02-14
| 功能 | 文件路径 | 行号 |
|---|---|---|
opencode run 命令实现 | src/cli/cmd/run.ts | 215-614 |
opencode serve 命令实现 | src/cli/cmd/serve.ts | 6-20 |
opencode web 命令实现 | src/cli/cmd/web.ts | 全文件 |
opencode pr 命令实现 | src/cli/cmd/pr.ts | 6-112 |
| 服务器安全检查 | src/flag/flag.ts | 31-32 |
| 服务器认证逻辑 | src/server/server.ts | 84-87 |
OPENCODE_SERVER_PASSWORD:服务器密码OPENCODE_SERVER_USERNAME:服务器用户名(默认 opencode)