dsh-codex-webui
在 DSH 会话视图新增 ChatGPT 标签,内嵌本地 Codex 桌面端 webui,直接控制本机 codexcli。
简介
本插件在 DSH 会话顶部的视图导航里新增一个 ChatGPT 标签(排在最后)。点开即加载本地
Codex 桌面端界面(复用开源项目
codex-web-local,MIT),背后走本机 Codex
app-server,直接读写本机项目、跑命令。
实现上做了两件事:
- Node half 在 DSH 的 HTTP 服务器注册
/codex 前缀反向代理,转发到本地
127.0.0.1:7420,并透传 SSE 实时流;同时托管 codex-web-local 进程。
- Client half 注册
conversation.view 的 chatgpt 视图,iframe 指向同域 /codex/,
并在激活时隐藏 DSH 自身的 composer 底部区。
安装
dsh plugin --profile web add github:raomaiping-hash/dsh-codex-webui#main
装完重启 web:
sudo systemctl restart deepseek-harness.service
前置依赖
- 本机安装
codex CLI,且 codex app-server daemon 已运行(codex app-server daemon start)。
- codex-web-local 的构建产物已 vendored 在
vendor/codex-web-local/(含 /codex/ base path
改造),无需额外构建。
能力面
| 能力 | 说明 |
|---|
反向代理 /codex | 把 DSH 同域 /codex/* 转发到 127.0.0.1:7420,去掉前缀,SSE 流式透传 |
| webui 托管 | 插件激活时自动拉起 codex-web-local(7420),插件卸载时回收 |
| ChatGPT 标签 | 注册 conversation.view 的 chatgpt 视图,priority: 1000 保证排在最后 |
| 隐藏 composer | 选中 ChatGPT 时用 :has() 隐藏 DSH 底部输入区,iframe 占满 |
插件管理
已装插件用 plugin-registry 的薄控制台管理(浏览器面板):管理 profile 插件安装态
(bundle 层栈 + insert 行 + 启停),无需手改配置。安装:
dsh plugin --profile web add <plugin-registry>/packages/plugin/console