OpenCode 不仅可以运行在终端里,它同样能以一个完整的 Web 应用程序形态直接在浏览器中使用,提供与终端几乎无差别的强大 AI 编码体验。这意味着,完全不需要打开命令行窗口,也能使用 OpenCode。

快速上手
启动 Web 界面只需一条命令:
bash
opencode web
这条命令会在本地 127.0.0.1 地址上启动一个服务器,端口由系统自动在可用范围内随机分配。同时,OpenCode 会自动在默认浏览器中打开操作页面。
⚠️** 安全提醒**
有一点必须注意:如果环境变量 OPENCODE_SERVER_PASSWORD 没有被设置,这个 Web 服务器就处于未加密保护的状态。仅在本机使用时,这通常是可以接受的,但假如要让服务器接受来自网络的访问,就务必事先设置好密码。
Windows 用户请注意
为获得最好的使用体验,建议在 WSL(Windows Subsystem for Linux)中运行 opencode web,而不是直接在 PowerShell 中执行。这样做能确保文件系统访问和终端集成功能都处于正常工作状态。
配置选项
Web 服务器的各项设置可以通过命令行标志来临时指定,也可以写入配置文件实现持久化。
端口
默认情况下 OpenCode 会自己挑选一个可用的端口。如果想指定一个固定端口,可以这样:
bash
opencode web --port 4096
主机名
默认的绑定地址是 127.0.0.1(即仅允许本机访问)。要让 OpenCode 能被局域网内的其他设备访问,需要将主机名设为 0.0.0.0:
bash
opencode web --hostname 0.0.0.0
当使用 0.0.0.0 时,OpenCode 会同时显示本地访问地址和网络访问地址,比如:
plain
Local access: http://localhost:4096
Network access: http://192.168.1.100:4096
mDNS 发现
启用 mDNS 功能后,服务器就能在局域网内被自动发现:
bash
opencode web --mdns
这个标志会自动将主机名设为 0.0.0.0,并以 opencode.local 作为域名在局域网内广播。局域网内的其他设备通过这个域名就能直接访问,无需记忆 IP 地址。
如果需要在同一网络中运行多个实例,可以自定义 mDNS 域名加以区分:
bash
opencode web --mdns --mdns-domain myproject.local
CORS(跨域资源共享)
有的场景下可能需要允许额外的域来进行跨域访问(比如构建自定义前端界面时),这时可以用 --cors 参数添加许可域:
bash
opencode web --cors https://example.com
身份验证
要保护访问入口的安全,可以通过 OPENCODE_SERVER_PASSWORD 环境变量设置一个密码:
bash
OPENCODE_SERVER_PASSWORD=secret opencode web
访问时的用户名默认是 opencode,如果想换一个,可以用 OPENCODE_SERVER_USERNAME 环境变量来修改。
使用 Web 界面
服务器启动之后,浏览器的 Web 界面便成为与 OpenCode 会话打交道的主入口。
会话管理
在主页上就可以查看和管理所有会话。页面上会列出当前活动中的会话,同时也可以从这里启动新的会话。
服务器状态
点击界面上的 "See Servers" 按钮,就能看到所有已连接服务器及其当前状态。
挂载终端
更有意思的是,终端 TUI(终端用户界面)可以挂载到一个正在运行的 Web 服务器上:
bash
# 先在一个终端中启动 Web 服务器
opencode web --port 4096
# 再打开另一个终端,执行挂载命令
opencode attach http://localhost:4096
这样就能同时使用 Web 界面和终端界面了,两者共享同一套会话和状态数据,在一边做的操作,另一边完全同步可见。
配置文件
除了命令行参数,服务器设置同样可以在 opencode.json 配置文件中完成:
json
{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"cors": ["https://example.com"]
}
}
有一点值得记住:命令行标志的优先级高于配置文件中的对应设置。也就是说,命令行里的临时参数会覆盖配置文件里写好的值。