前言¶
DSH 生态强调「一切皆插件」,但社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。对于使用 DeepSeek Harness 的开发者,一个具体需求是在 Web GUI 中低打扰地看到智能体当前状态、审批请求、工具执行和任务结果。dsh-dynamic-island 面向这个场景,把 Harness 状态映射到 Web GUI 的浮动组件上,减少在事件流、日志和原生审批入口之间来回切换。
这是什么¶
dsh-dynamic-island 是 DeepSeek Harness Web GUI 的 Liquid Glass 风格 Dynamic Island,由 YLifeOnlyOnce 维护,许可证为 MIT。它的定位是一个客户端插件,挂载到 Web GUI 的 shell.overlay 浮动插槽。
README 将当前状态描述为 high-fidelity design prototype,表示在成为正式插件前持续设计、迭代和验证;因此生产化程度需要按仓库说明进一步确认。
核心功能¶
下面介绍已核实的插件能力:
- 将 Harness 状态映射为
idle、thinking、working、approval、complete、alert、blocked、max-tokens八种状态。 - 在
approval状态提供「批准 / 暂不」按钮,并同步 Harness 审批结果。 - 展示
tool call/tool result,包括exit code、duration、命令复制。 - 展示 goal 进度环、三态任务清单、背景 job chips、recent wins、model badge。
- 支持拖动定位,并在 reload 后记住位置。
- 支持
⌘K/Ctrl+K命令面板、Esc收起、自动演示。 - 使用 React 与 CSS 实现;README 表述为零额外运行时依赖,但
package.json将react与react-dom声明为 peerDependencies。 - 尊重
prefers-reduced-motion,保留真实按钮,不只依赖颜色表达状态。
安装与启用¶
下面先给出面向 DSH Web profile 的安装方式。安装完成后需要重启 web profile,使插件挂载到 Web GUI。
dsh plugin --profile web add dsh-dynamic-island
dsh --profile web
如果只做本地演示,也可以从源码运行 Vite 开发服务:
npm install
npm run dev
打开 Vite 打印的地址,即可进入灵动岛演示 dock,查看八种状态切换。
如果希望从源码作为插件安装,可以先构建插件产物,再把本地仓库路径加入 web profile:
npm run build:plugin
dsh plugin --profile web add /path/to/this-repo
典型用法¶
下面按可复现路径列出常见操作。
- 在
approval状态点击「批准 / 暂不」,观察灵动岛立即反馈结果。 - 点击「查看过程」展开 tool cards,查看
exit code、duration,并一键复制命令。 - 点击「清单」展开三态任务清单,并通过 goal ring 查看目标轮次进度。
- 出现
alert时点击Retry;出现blocked时点击unblock;出现max-tokens时点击continue。stop操作留给原生 Harness UI。 - 拖动灵动岛到新的位置,位置会跨 reload 记住。
- 按
⌘K或Ctrl+K打开命令面板;按Esc收起灵动岛;使用自动演示查看idle、thinking、working、approval、complete的状态流转。
适用场景与注意¶
它适合希望在 DeepSeek Harness Web GUI 中快速判断智能体是否思考、是否执行工具、是否等待审批、任务如何结束的使用者。需要注意:
- README 当前状态是 high-fidelity design prototype,生产插件仍需要确定 client slot/connection injection points,以及
no active session、dropped stream、parallel sessions、HMR reloads等规则;这些规则尚未最终确定。 - 插件挂载到 Web GUI 的
shell.overlay,面向 web profile 安装与运行,会进入 DSH 的客户端运行环境。 - 作为会读取 Harness 状态并注入到 Web GUI 的客户端插件,应以当前 dsh 进程权限运行;安装前应检查源码、注入点、许可证,以及
react/react-dompeerDependencies 的兼容性。
参考链接¶
- 目录页:https://www.skillhub.cn/plugins/YLifeOnlyOnce/dsh-dynamic-island
- GitHub:https://github.com/YLifeOnlyOnce/dsh-dynamic-island