强军对决
106.2MB · 2026-03-22
Hi,大家好,我是三金~
自从用了 OpenCode + OMO 之后,写起代码来如沐春风,特别得劲!(除了比较烧 token)
但是 TUI 用久了之后吧,又有了一点别的想法:
所以当我在 L 站看到有佬友开源 OpenCodeUI 的时候,第一反应就是:许愿许成功了?
OpenCodeUI 是 OpenCode 的第三方 Web 前端界面。它和 OpenCode 的客户端有点像,整体风格偏简约风,看着很舒服,它的后端引擎就是 OpenCode。
给大家先瞅瞅它的界面:
OpenCodeUI 支持 docker 部署,接下来我们一起来安装一下。
你想用 OpenCodeUI,只需要准备两样东西就够了:
opencode serve(默认端口 4096)。下面三条路线大家根据自身情况可以直接对号入座:
你只需要本地启动 OpenCode 后端,并放行 GitHub Pages 的 CORS:
opencode serve --cors "https://lehhair.github.io"
然后打开: 即可
这条路的好处就是:你先确认“UI 手感是不是你想要的”。
这条路适合两类人:
先做连通性检查:在本机跑一下这个,确保后端活着:
curl -sS
# 正常情况下会输出
{"healthy":true,"version":"1.2.24"}%
能返回东西就说明后端可用。如果这里都不通,记得先把后端跑起来再说。
然后起前端容器:
git clone
cd OpenCodeUI
docker compose -f docker-compose.standalone.yml up -d
默认访问:
如果你后端在远程(比如 10.0.0.8:4096),那就这样起:
BACKEND_URL=10.0.0.8:4096 PORT=3000
docker compose -f docker-compose.standalone.yml up -d
Tips:BACKEND_URL 这里不要带 http://,就写 host:port。
另外如果你是 Linux,host.docker.internal 有时候会“看心情”。所以建议这里直接改 BACKEND_URL 成你宿主机的内网 IP 就完事了。
你要是准备长期用、或者准备上服务器,我更推荐这条。
git clone
cd OpenCodeUI
cp .env.example .env
一定要记得配置 .env:很多人 cp 完了不改,直接就跑 docker,结果就是:界面能打开,但模型没法用。你至少要填一个你要用的 provider key(比如 OpenAI/Anthropic/Gemini 之类)。
比如你可以先把你用得到的那一项填上(示例,不用全填):
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
GEMINI_API_KEY=
DEEPSEEK_API_KEY=
然后再 docker compose up -d,默认访问:。这套的好处是:
这里给个端口参照表,哪里有问题一看就知道:
6658:主入口6659:预览端口(给开发服务用)4096:OpenCode 后端(API)部署好之后,你就可以远程控制使用你的 opencode 了,这也是最有价值的地方!
首先,登录!
然后,我们可以通过点击左侧菜单中的「Global - Add project」来添加工作目录:
右侧部分我们可以看到当前工作目录下的文件、更新内容、MCP、Skills 以及 Worktrees:
在左下角,点击之后还可以看到模型的消耗情况:
测试一下,既然 omo 有点重,那让 opencode 装个 oh-my-opencode-slim:
很丝滑~,而且该有的交互一点都没少!
唯一有一些不方便的就是,如果我们需要变更 opencode 配置,比如:模型、MCP、Skills 啥的,都得重启一下后端服务,不然无法重载。
重启后端服务,再刷新页面以后我们就可以看到安装好的 omos 的 Agent 了:
下面是三金在部署时遇到的一些坑,放在这里供大家快速定位解决问题。
使用时发现一种很诡异的现象:
排查了一下发现是 Nginx 反向代理把 SSE 缓冲了。其实在项目的 README 里有提示,但是没细看给漏掉了:
host.docker.internal 不好使standalone 模式默认会用 host.docker.internal 去找宿主机,有些环境里它就是不通。
解决方式也简单粗暴:
BACKEND_URL 改成你宿主机的内网 IP(或同网段机器的 IP)curl >/global/health 验证通了再说这点我再重复一遍:别裸奔。
最起码把用户名/密码配上,入口只暴露网关,别把后端端口直接开出去。
有一个细节是在全家桶方式中,compose 默认会把端口绑在 127.0.0.1 上。这其实是作者在帮咱们“默认自保”。你要是真准备对外开放,记得同时把认证、反代、以及暴露策略一起想清楚。
OK,到这里给大家就介绍结束了,感兴趣的小伙伴可以抓紧去试试。
哦对了,OpenCodeUI 还给大家提供了客户端应用,这为不想折腾的小伙伴非常友好,目前支持:
下载地址:github.com/lehhair/Ope…
写作不易,如果小伙伴们都看到了这里,请点个赞和在看,分享给更多的朋友;为确保您能收到每一篇文章,点个关注并在主页右上角设置星标。