Appearance
OpenCode 除终端 TUI 外,还支持通过浏览器访问的 Web 界面。运行 opencode web 即可在本地启动服务,支持指定端口、绑定 IP、开启 mDNS 局域网发现和密码保护。Web 界面与 TUI 共享同一套会话数据,可以同时使用两种方式。
opencode web 命令会启动一个本地 Web 服务器,让你在浏览器中使用 OpenCode,无需打开终端。
注意:未设置
OPENCODE_SERVER_PASSWORD时服务器没有访问保护。本地使用可以接受,如果要让局域网其他设备访问,务必设置密码。
快速启动
bash
opencode web命令执行后会在随机可用端口启动服务(绑定到 127.0.0.1),并自动在默认浏览器中打开。
Windows 用户提示:建议在 WSL 中运行
opencode web而不是 PowerShell,可以获得更好的文件系统访问和终端集成效果。详见 Windows/WSL 文档。
配置选项
指定端口
bash
opencode web --port 4096绑定到所有网卡(局域网访问)
bash
opencode web --hostname 0.0.0.0使用 0.0.0.0 后,OpenCode 会同时显示本地地址和局域网地址:
Local access: http://localhost:4096
Network access: http://192.168.1.100:4096mDNS 局域网发现
bash
opencode web --mdns自动将 hostname 设为 0.0.0.0 并向局域网广播为 opencode.local,局域网其他设备可以通过 http://opencode.local:<port> 访问。
同一局域网有多台实例时,可以自定义 mDNS 域名:
bash
opencode web --mdns --mdns-domain myproject.localCORS 配置
允许自定义前端从其他域访问时:
bash
opencode web --cors https://example.com密码保护
bash
OPENCODE_SERVER_PASSWORD=secret opencode web默认用户名为 opencode,可以用 OPENCODE_SERVER_USERNAME 修改。
Web 界面功能
启动后,Web 界面提供以下功能:
- 会话管理:首页查看所有活跃会话,可以创建新会话
- 服务器状态:点击"See Servers"查看已连接的服务器及状态
同时使用 TUI 和 Web
Web 服务器启动后,可以在另一个终端窗口 attach TUI:
bash
# 终端 1:启动 Web 服务器
opencode web --port 4096
# 终端 2:连接到同一实例
opencode attach http://localhost:4096两个界面共享同一套会话和状态,适合需要同时查看浏览器预览和终端输出的场景。
在配置文件中固化服务器设置
避免每次都要敲命令行参数,可以在 opencode.json 中写入:
json
{
"server": {
"port": 4096,
"hostname": "0.0.0.0",
"mdns": true,
"cors": ["https://example.com"]
}
}命令行参数优先级高于配置文件,临时修改用命令行,长期固化用配置文件。
常见问题
Q: Web 界面和 TUI 的功能是否完全一样?
A: 基本功能一致,会话、对话历史完全共享。部分依赖终端特性的功能(如直接操作文件系统)在 Web 界面中表现略有差异。
Q: 如何让团队成员也能通过局域网访问我的 OpenCode 实例?
A: 用 --hostname 0.0.0.0 绑定所有网卡,同时设置 OPENCODE_SERVER_PASSWORD 保护访问权限。如果局域网有 mDNS 支持,加上 --mdns 让成员直接用域名访问。
Q: 可以在服务器上部署供外网访问吗?
A: 技术上可行,但 OpenCode Web 定位为本地/团队工具,对外网暴露时需要自行在前面加反向代理(如 nginx)并配置 HTTPS 和身份验证。