dsh-gov-workbench:独立端口的政务门户工作台

前言

DeepSeek Harness(DSH)的主 GUI 通常固定在一个端口上,若你希望给同事或自己一套「办事大厅」式界面,又不想在页面里硬编码模型列表、权限档位或会话数据,就需要一个只负责展示与编排、业务全部向宿主实时索取的前端壳层。下面介绍社区插件 dsh-gov-workbench(维护者 zbzbhshs):它在插件自有端口拉起政务门户风格 WebUI,浏览器请求经插件层转发,同进程直调宿主 API 网关,对接会话、设置与 Agent 预设等能力。

这是什么

dsh-gov-workbench 是分类为「客户端」的 DSH Cordis 插件。包名 dsh-gov-workbench,入口 lib/index.js(ESM),通过 cordis.patch.yml 装配进 profile bundle。默认在 http://127.0.0.1:3091/ 提供界面;事项、模型、权限与统计口径均来自宿主,页面不做业务预设。

真机侧(资料记载:dsh 0.2.0-rc.2、Node v24.18.1、Windows desktop profile)已验证:插件挂载成功,3091 正常监听;/plugin/status 报 hostAvailable: true;session.list 返回真实会话;agentPreset.list 含 standard, ptc, minimal, cordis, computer-use, redteam;settings.describe 驱动系统配置页动态表单;六栏目可切换。仓库内另有 138 项基于 mock ctx 的自动化测试。

界面六栏目:工作台首页、事项办理、卷宗档案、运行轨迹、系统配置、规章制度(README 中有各栏说明与截图路径,截图由演示数据生成,非本机真实内容)。

架构要点

插件跑在 dsh 主进程内,在默认 3091 端口起 node:http 服务(绑回环),public/ 静态页通过 HTTP/SSE 访问;lib/host.js 绑定 ctx.typertGateway(0.2.0+)或旧版 ctx.apiProxy,同进程直调、不经网络二次跳转,浏览器只与 3091 同源,避免 CORS 与把宿主令牌暴露给浏览器。页面侧使用 session.list 这类 wire 写法,由插件映射到宿主真实 namespace。

主要模块(README):index.js(Cordis 主体)、host.js(网关与参数投影)、bridge.js(/api/* RPC 与卷宗导出)、security.js(来源/令牌准入)、transport.js / sse.js(HTTP 信封与 SSE)、static.js(静态托管)、config.js(配置与令牌)。

安装与启用

前置条件

项 要求
dsh 集成面以 0.2.0-rc.2 为准(lib/host.js 会做能力探测,其它版本也可能运行)
Node ≥ 22.19(package.json 的 engines)
端口 3091 空闲(刻意避开主 GUI 3080 与原版 gov-portal 3081)
profile CLI 不能用 --profile desktop(由 Electron 独占);测试请用 web 或自建 profile,下文记为 <PROFILE>

确认版本:

dsh --version          # 期望 0.2.0-rc.2(与资料对齐时)
node --version         # 期望 v22.19.0 或更高

把源码放到目标机

工程无运行时依赖、无需构建。README 推荐将目录打包 zip 拷到测试机解压,得到绝对路径 <PLUGIN_DIR>(例如 ~/plugins/dsh-gov-workbench/package.json 存在即可)。若使用 github: 源安装,目标机 PATH 中需有 git(pnpm 会调用 git ls-remote);否则可用本地路径安装。

安装命令(来自 README)

推荐联调时使用 link: 软链到源码目录:

dsh plugin --profile <PROFILE> add "link:<PLUGIN_DIR>"

示例(macOS / Linux):

dsh plugin --profile web add "link:/home/user/plugins/dsh-gov-workbench"

示例(Windows):

dsh plugin --profile web add "link:C:\plugins\dsh-gov-workbench"

其它写法(README 表格):

场景 命令
拷贝到 profile store、与源码解耦 dsh plugin --profile web add "file:<PLUGIN_DIR>"
在 profile 目录附近相对路径 dsh plugin --profile web add "../dsh-gov-workbench"
已发布到 registry dsh plugin --profile web add dsh-gov-workbench

安装前确认 echo $DSH_HOME 指向本机 dsh home。包在 package.json 中声明了 dsh.bundle.patch 指向 ./cordis.patch.yml,安装后会 reconcile 进 profile 的 bundle 栈;未声明 dsh.bundle 的包只会作为普通依赖并告警。

安装完成后重启对应 profile 的 dsh 进程,浏览器访问 http://127.0.0.1:3091/ 检查六栏目与 /plugin/status。

典型用法

  1. 浏览与办理:在「事项办理」中通过 wire API(如 session.prompt)提交对话;资料记载真机上 session.projections 的 asOfSeq 会随回合增长,宿主可自动生成会话标题。
  2. 卷宗与轨迹:「卷宗档案」支持会话索引、检索与 JSONL 导出;「运行轨迹」展示事件流水并可按字级输出过滤。
  3. 系统配置:「系统配置」由 settings.describe 的 schema 动态生成表单(真机验证 24 个宿主命名空间可渲染且可写)。
  4. 联调:使用 link: 安装时,改插件源码后重启 dsh 即可生效。

审批/提问弹窗的 respond 回环与 sessionStats 统计口径的逐项核对,README §8 列为已知限制,使用前可查阅仓库 docs/。

适用场景与注意

适合:需要在 DSH 宿主旁挂一套政务门户式 Web 工作台、且希望会话、Agent 预设、设置项与宿主保持一致的开发者或内网演示环境。

注意:

  • 插件与 dsh 同一进程、同一权限运行;安装前应阅读 GitHub 源码 与 MIT 许可证(package.json 1.0.0),自行评估安全与合规。
  • 社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本包是社区贡献的客户端层之一。
  • 勿将 README 截图中的演示标题、路径当作本机数据;生产使用前在目标 profile 与 dsh 版本上复现 README 第三节的验证步骤。

结尾

dsh-gov-workbench 用独立端口 3091 提供政务门户界面,把展示与 RPC 编排留在插件侧,把会话、模型与配置留给宿主网关。若要查看分类与简介,可打开目录页;若要安装细节、架构图与测试说明,以 GitHub README 为准。

  • 目录页:https://www.skillhub.cn/plugins/zbzbhshs/dsh-gov-workbench
  • GitHub:https://github.com/zbzbhshs/dsh-gov-workbench
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye