DSH Plugins
返回列表
🧰

dsh-event-relay

联网工具 更新于 2026.08.28

在终端中运行以下命令:

dsh plugin install joao-paulo-santos/dsh-event-relay

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行安装命令 dsh plugin install joao-paulo-santos/dsh-event-relay,源码仓库为 https://github.com/joao-paulo-santos/dsh-event-relay ,安装后重启主机即可加载。

插件介绍

在 DeepSeek Harness 中,浏览器到主机是请求-响应式的 HTTP 交互,但主机侧事件——设置变更、构建完成、通知到达——却没有一条天然的推送路径到达浏览器 UI。轮询延迟高且浪费资源;每个插件各自开一条 EventSource 或 WebSocket,很快就会撞上浏览器每域约 6 条并发的上限,其余请求全部排队。dsh-event-relay 正是为这个缺口而设计。

dsh-event-relay 在主机端注册一条共享的 SSE 路由 /relay/events,整个浏览器标签页无论多少插件订阅,都只占用一条连接。主机侧通过 publish(topic, payload) 发出 JSON 消息,服务端按层级 topic 过滤(订阅 kanban 即可收到 kanban/change),只向本标签页推送它真正关心的事件。流重新打开时,合成 topic __relay/open 通知所有订阅者做一次 resync,弥补断线期间遗漏的状态。payload 可携带完整数据,也可以只作为门铃信号让消费者自行 refetch,两种用法都是第一等公民。

如果你正在编写 DSH 主机侧插件,且需要在事件发生时让浏览器 UI 即时响应,dsh-event-relay 就是那条通道。它不替代 Cordis 事件系统,只负责跨平面边界的传输;依赖为零,装上即用。目前 dsh-granular-settings 已用它为作用域设置发布门铃式变更通知,是这一模式的参考实践。

使用场景

  • 主机侧设置变更时浏览器 UI 即时响应,无需轮询
  • 多个插件同时订阅事件,共用一条 SSE 连接避免浏览器并发上限
  • 流断开重连后通过 __relay/open 自动恢复遗漏状态

适合人员

  • DSH 主机侧插件开发者,需要向浏览器推送事件
  • 多插件架构中需要跨平面事件协调的架构师
  • 希望避免逐插件开连接占用浏览器并发的前端开发者