xieani090612/dsh-session-hud ↗★ 1

dsh-session-hud

DSH 会话 HUD:把运行中会话的当前工作与批准提示实时推送到一个独立悬浮窗(WinUI 3,可自由缩放移动、跟随系统明暗、随窗口大小自适应、列表/格子双视图),并在 DSH 侧边栏提供打开按钮 适合多任务并行、需要跨窗口实时监控AI执行进度与审批请求的用户。

Package
dsh-session-hud
Compatibility
Unverified
Version
1.1.0
License
MIT
Last updated
Oct 2, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xieani090612/dsh-session-hud

① 装打包好的 tgz(使用者)

dsh plugin --profile add file:C:\path\to\dsh-session-hud-1.1.0.tgz

插件配置

cordis.patch.yml 里可调:

- insert:
    - id: dsh-session-hud
      name: dsh-session-hud
      config:
        autoLaunch: true        # 是否自动拉起窗口
        flushIntervalMs: 300    # 落盘轮询间隔
        heartbeatMs: 2000       # 心跳间隔(无条件重写,用来区分「空闲」和「已退出」)
        maxTimeline: 12         # 每个会话保留的最近工具调用条数
        appPath: ''             # 手动指定 exe;留空则按包内相对路径查找

关于心跳

心跳必须无条件定期写,不能只在有会话运行时写。否则 DSH 空闲时(所有会话都在等用户输入) 状态文件长时间不变,窗口会误判成「宿主已退出」。所以插件默认每 2 秒重写一次快照, 窗口端默认 15 秒没收到才判定断开。

改完插件要重启 DSH

DSH 的热重载不会跟踪 profile node_modules 里这个 link 插件的源码——实测改完 lib/index.js 后,正在跑的 DSH 仍然是旧代码。想让改动生效就重启一次 DSH。

为了能直接确认「现在跑的到底是哪一份代码」,快照的 host.pluginVersion 里带了插件版本号:

(Get-Content "$env:USERPROFILE\.dsh\session-hud\state.json" -Raw | ConvertFrom-Json).host.pluginVersion