C
dsh-session-board
curiouslv/dsh-session-board
会话看板:悬浮球一览所有工作区会话,实时显示思考与工具进展、任务耗时、上下文用量,支持近 12h/30 天用量统计,点击直达会话。
安装
dsh plugin --profile web add github:curiouslv/dsh-session-boardREADME
dsh-session-board
DSH Desktop(DeepSeek Harness)的会话看板插件:右下角一颗可拖拽的悬浮球,展开后一览所有工作区的活跃会话——谁在运行、在想什么、后台还挂着什么、等谁审批、上下文烧了多少,实时显示每个任务的思考与执行进展,点击直达会话。
用量为本地统计估算,仅供个人参考;不构成任何投资或消费建议。
最近更新(v1.16.15):实时进展预览(思考 / 回答 / 工具结果的尾部窗口,可拉高)、任务耗时 ⏱️、面板可拖动与调宽高、🕒 12h / 📅 30 天用量徽标、按最近活动排序、当前会话高亮。
功能
- 实时看板:跨工作区列出所有会话,五种状态——运行中(蓝)/ 后台进行中(黄)/ 等待审批(黄)/ 失败(红)/ 空闲(灰),运行中/等待审批置顶且按任务开始时间稳定排序(并行任务不因进度刷新而互换名次),其余按最近活动(含任务完成时间与实时进展)排序,状态点与悬浮球带波纹呼吸
- 实时进展预览:直接监听 DSH 原生
agent/assistant-stream;尾部窗口始终跟随最新进展——思考与回答流式滚动,工具调用及其结果(✅/❌)实时上屏,新内容即使旧内容未显示完也立即替换,无需切进会话查看;默认 3 行,可拖拽预览右下角拉高查看更多行 - 任务耗时:每行显示最近一次任务的用时
⏱️ mm:ss(超 1 小时为hh:mm:ss),运行中实时计时,结束后保留定格 - 后台任务可见:对话轮次结束但后台作业还在跑时,会话变黄并列出作业内容,不会误以为已结束
- 点击直达会话:点任意一行跳进该会话,面板保持打开,可连续切换对比
- 当前会话高亮:面板用蓝色左条标记主界面正在查看的会话,切换实时跟随
- 上下文用量:每行灰色圆环 + 上下文占比 + 累计 token 消耗(含缓存读写)
- 近 12 小时 / 30 天用量统计:🕒 近12h调用次数 · 📅 近30天调用次数(火山方舟 Coding Plan)
- DeepSeek 余额(可选):安装 dsh-usage 插件并加入 profile
bundles后自动显示 API 余额(由 dsh-usage 每 60s 自动刷新快照) - 主题自定义:⚙ 面板自定义五种状态颜色、悬浮球待机色与直径,即改即生效
- 可拖拽悬浮球:位置持久化;🧹 一键清理空闲与失败状态
- 面板可调大小:拖拽面板左下角手柄调整宽高,自动记忆
- 面板可拖动:按住面板标题栏拖到任意位置,自动记忆
安装
前提:已安装 DSH Desktop。插件零 npm 依赖,只需挂进 profile。
git clone https://github.com/Curiouslv/dsh-session-board.git
编辑 %USERPROFILE%\.dsh\profiles\desktop\package.json:
{
"dependencies": {
// 新增:link 指向 clone 出来的目录
"dsh-session-board": "link:C:/path/to/dsh-session-board"
},
"dsh": {
"profile": {
"bundles": [
// 新增:
"dsh-session-board"
]
}
}
}
创建 junction 并重启 DSH:
mklink /J "%USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-session-board" "C:\path\to\dsh-session-board"
(或在 profile 目录里跑 pnpm install 代替手动 mklink。)重启后在桌面端右下角即可看到悬浮球。
用 DSH CLI 安装(更简单)
本插件声明了 dsh.bundle 清单,可用官方 CLI 直接安装(具体参数以 dsh plugin add --help 为准):
dsh plugin --profile desktop add https://github.com/Curiouslv/dsh-session-board
使用
| 操作 | 说明 |
|---|---|
| 点击悬浮球 | 展开 / 收起看板 |
| 拖拽悬浮球 | 任意位置,自动记忆 |
| 拖拽面板左下角 | 调整面板宽度与高度,释放后自动记忆 |
| 拖拽面板标题栏 | 移动面板位置,释放后自动记忆 |
| 拖拽预览右下角 | 拉高该会话的实时预览窗口,查看更多行 |
| 点击行 | 跳转到对应会话,面板保持打开 |
| 行右侧 × | 隐藏该行;失败行同时清除该错误。会话再次活动或被打开时自动恢复显示 |
| 🧹 | 隐藏空闲行并清除失败状态,悬浮球恢复常色;会话再次活动或被打开时自动回来 |
| ⚙ | 自定义五种状态颜色、悬浮球待机色与球径;「颜色深浅」开关控制呼吸时颜色是否明暗变化;「清零统计」重置用量 |
| 行末 ⏱️ | 该会话最近一次任务的耗时;运行中实时走秒,结束后定格 |
用量统计(近 12 小时 / 近 30 天)
面板头部徽标显示本地滚动窗口的用量:
🕒 N · 📅 M—— 🕒 近 12 小时、📅 近 30 天的模型调用次数- 悬停提示含各切片的 token 消耗(输入 + 输出 + 缓存读写)
数据按「每次模型调用」本地统计,窗口持久化到 ~/.dsh/dsh-usage/session-board-window.json,重启不清零;⚙ 里的「清零统计」可随时归零。
无需任何其他插件:用量从安装后开始自动累积(仅统计 provider id 含
volc的会话)。
可选依赖
@linxin666/dsh-usage—— 提供DeepSeek API 余额数据(~/.dsh/dsh-usage/provider-snapshots.json);未安装时余额徽标自动隐藏,其余功能不受影响。需在 profilebundles中加载"@linxin666/dsh-usage",其宿主端每 60s 自动刷新快照
已知限制
- 上下文窗口表:
index.js中的MODEL_CONTEXT按模型名列出上下文大小(默认覆盖常见模型)。你的模型不在表里时,圆环百分比不显示、token 数照常——欢迎按需补充 - 用量口径:按「每次模型调用」本地统计。与厂商控制台的统计口径如有差异,以控制台为准
- 流式粒度:思考预览来自 Host 原生
agent/assistant-stream流;面板打开且有会话活动时以 0.3s 轮询刷新(空闲时 1.2s,面板收起 2.5s),无法做到与主界面逐帧同步;新的模型尝试开始会清除上一段思考 - 火山用量徽标匹配 provider id 含
volc的会话,其他厂商不受影响 - 排序时间戳:实时活动 / 任务完成时间保存在插件内存中;DSH 重启后,重启前刚完成的任务会回退为会话创建时间参与排序