词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
💡 一句话总结:OpenCode 支持无头服务器模式,可通过 Web 界面或远程终端访问。

opencode 时,实际上启动了两个组件:┌──────────────────────────────────────────────────────┐
│ OpenCode 服务器 │
│ ┌────────────────────────────────────────────────┐ │
│ │ HTTP API (OpenAPI 3.1) │ │
│ └────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
┌────┴────┐ ┌────┴────┐ ┌────┴────┐
│ TUI │ │ Web │ │ IDE │
└─────────┘ └─────────┘ └─────────┘| 命令 | 用途 | 界面 |
|---|---|---|
opencode | 日常使用 | TUI(自动启动本地服务器) |
opencode serve | 无头服务 | 无(纯 API 服务) |
opencode web | Web 访问 | 浏览器界面 |
| 参数 | 描述 | 默认值 |
|---|---|---|
--port | 监听端口 | 4096 |
--hostname | 监听主机名 | 127.0.0.1 |
--mdns | 启用 mDNS 服务发现 | false |
--cors | 允许的额外 CORS 来源 | [] |
来源: opencode/packages/opencode/src/cli/network.ts:4-26
opencode server listening on http://0.0.0.0:4096// opencode.json
{
"server": {
"port": 4096, // 监听端口
"hostname": "0.0.0.0", // 监听地址
"mdns": true, // 启用 mDNS
"cors": [ // CORS 白名单
"http://localhost:5173",
"https://my-app.example.com"
]
}
}来源: opencode/packages/opencode/src/config/config.ts:701-711
serve 命令相同:| 参数 | 描述 |
|---|---|
--port | 监听端口 |
--hostname | 监听主机名 |
--mdns | 启用 mDNS 发现 |
--cors | 允许的额外 CORS 来源 |
0.0.0.0 时,会显示所有可用的访问地址: Local access: http://localhost:4096
Network access: http://192.168.1.100:4096来源: opencode/packages/opencode/src/cli/cmd/web.ts:41-68
| 参数 | 短写 | 描述 |
|---|---|---|
--dir | 启动 TUI 的工作目录 | |
--session | -s | 要继续的会话 ID |
来源: opencode/packages/opencode/src/cli/cmd/tui/attach.ts:4-31
run 命令也支持连接到运行中的服务器,适合自动化场景:来源: opencode/packages/web/src/content/docs/cli.mdx:325-333
.local 域名访问服务器: Local access: http://localhost:4096
Network access: http://192.168.1.100:4096
mDNS: opencode.localopencode-{port}来源: opencode/packages/opencode/src/server/server.ts:2853-2862
⚠️ 重要:TUI 与本地服务器通信时必须绕过代理,否则会导致连接失败。
⚠️ 避免在脚本中硬编码密码,使用环境变量或安全的凭据存储。
来源: opencode/packages/web/src/content/docs/network.mdx:10-45
来源: opencode/packages/web/src/content/docs/network.mdx:49-57
http://<hostname>:<port>/dochttp://localhost:4096/doc| 现象 | 原因 | 解决 |
|---|---|---|
| 远程连不上 | 防火墙拦截 | 开放对应端口(如 4096) |
| CORS 错误 | 未配置来源 | 添加 --cors <your-origin> 或配置文件 |
| 端口冲突 | 默认端口被占用 | 使用 --port 指定其他端口 |
| 本地连接失败 | 代理拦截本地请求 | 设置 NO_PROXY=localhost,127.0.0.1 |
| mDNS 不生效 | hostname 是回环地址 | 使用 --hostname 0.0.0.0 |
| HTTPS 证书错误 | 企业自签名证书 | 设置 NODE_EXTRA_CA_CERTS |
server 块配置服务器参数下一课我们将学习完整的 HTTP API 接口 ,了解如何编程方式与 OpenCode 交互。