Skip to content

dsh-hermes-panel

Verified

@yang3333/dsh-hermes-panel · v1.1.0-rc.6 · MIT · Web UI

Hermes in the DSH sidebar: start and stop the gateway and dashboard, watch the dashboard beside the chat, and bridge DSH to Hermes.

Install

dsh plugin add @yang3333/dsh-hermes-panel

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

dsh-hermes-panel

中文 | English

把 Hermes 放进 DSH 右侧栏:启停网关和 dashboard,聊天旁边就能看 dashboard,再把 DSH 和 Hermes 接起来。

只针对原生 Hermes(hermes-agent),不是 hermes-web-ui / Ekko Studio。

面板

右侧栏 ⊕ 列表 →「打开 Hermes」。顶部一行图标切三个视图,同一行还有启动/停止、重启、在新标签打开:

  • 仪表盘:iframe 里的 Hermes dashboard,左边照常对话。
  • 记录:Hermes 与 DSH 的往来消息,读 DSH 自己的会话日志。
  • 设置:体检、升级、DSH 桥、共享工作区。

体检和升级跑的是 official-web 发行版自带的 PowerShell 脚本。pip 装的上游 Hermes 没有这些脚本,这两个按钮会禁用并说明原因;其余功能任何装法都能用。

安装

dsh plugin --profile web add @yang3333/dsh-hermes-panel

装完重启 dsh:Host 半是 Node 模块,刷新页面不会重新加载。

需要 DSH >= 0.2.0-rc.2,以及已经装好的 Hermes(插件不负责装 Hermes,只负责找到它,或者由你告诉它在哪)。仅支持 Windows。

设置

两个目录,都可以留空,留空用 DSH home 下的默认值:

  • 运行时:Hermes 跑在哪个 Python 环境。默认 <dsh home>/hermes-panel/runtime。
  • 数据目录:HERMES_HOME,放 profiles、会话、config.yaml。默认 <dsh home>/hermes-panel/home。

其余:dashboardPort(0 = 读 .env,否则 9150)、sharedWorkspace、manageGateway、autostart。

在侧边栏的「插件」面板 → Official →「Hermes Panel settings」里改。

桥

打开 DSH 桥后,面板会写 Hermes 侧的配置(mcp_servers.dsh)到 config.yaml,并检查每个 profile 的 @deepseek-ai/dsh-mcp-client 是否和当前 DSH 一致;不一致会给出修复命令。

安全

HTTP 路由只监听回环地址,校验 Origin 和 Sec-Fetch-Site。解析 .env 只保留 HERMES_HOME、VENV、HERMES_EXE、DASHBOARD_PORT,其余不落任何地方。插件启用时不要把 DSH 绑到 0.0.0.0。

开发

npm test          # 无副作用,Hermes 开着也能跑
npm run test:e2e  # 真跑脚本和真实 dashboard

测试在 verify/ 下,一个文件一块,文件头写了它防的是什么回归。verify/smoke.mjs 用空配置加载 Host 半,确认注册 17 条路由,激活时不启动任何进程,再在没有 Hermes 的情况下调一次状态接口。verify/config.mjs 确认配置的 6 个字段 全部是 volatile、激活后保存的值就是面板读到的值,以及 .env 只保留四个白名单键。

许可

MIT