sqs404
dsh-client-ui-daily-summary
DeepSeek Harness sidebar today-summary card (dsh-plugin): today's tokens / messages / sessions as three big numbers, tracked live, resetting daily. 今日用量侧边栏卡片插件
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-client-ui-daily-summary
DeepSeek Harness 今日用量侧边栏插件 / Today-summary sidebar card for DeepSeek Harness
一个纯浏览器端的 DeepSeek Harness 客户端插件:在侧边栏底部显示今日的 tokens / 消息 / 会话三个大数字,实时跟踪、每日零点自动重置。
A browser-only DeepSeek Harness client plugin: a sidebar-footer card showing today's tokens / messages / sessions as three big numbers, tracked live and resetting automatically at midnight.
功能特性 / Features
- 📊 今日三连数字:tokens、消息、会话,实时累计显示在侧边栏底部卡片。
- 🔄 实时跟踪:token 来自
tokenUsage会话投影的增量(按会话基线,切换会话/刷新页面不会重复计数);消息按「今天结束的 turn」统计(每个会话有 endTime 水位线,重放历史不会重复)。 - 🌙 每日自动重置:按本地时区的 ISO 日(
yyyy-mm-dd)归零,数据持久化在localStorage(dsh.daily-summary.v1)。 - 🔘 随处可开关:卡片自带开/关按钮;设置页「今日摘要」偏好行(
settings.plugin.item槽位);「我的插件」面板条目(daily-summary)。三者共享同一状态,实时联动。 - 📐 自适应侧边栏:侧边栏收起时退化为一个图标按钮,悬浮显示今日统计。
- 🌐 中英双语:随 DSH 界面语言自动切换。
- 🪶 零主机开销:host 侧入口为空操作,全部逻辑在浏览器端;不发起任何网络请求。
工作原理 / How it works
插件订阅当前会话的 tokenUsage 投影与 turn 计时,把每一次观测窗口折叠进今日统计(幂等,重复执行不会重复计数):
| 统计项 | 来源 |
|---|---|
| tokens | 投影累计值(cacheRead + uncachedInput + cacheWrite + output)相对该会话上一次基线之和的增量 |
| 消息 | 结束时间 ≥ 今日 0 点、且晚于该会话水位线的 turn 数量 |
| 会话 | 今天产生过 turn 的不同会话数(activeIds) |
- 会话基线存于 ref,切换会话或刷新页面后重新建立基线,历史用量不会被二次计入。
- 按本地时区跨零点时自动用全新的空白统计开始新的一天。
- 存储不可用(隐私模式等)时退化为仅内存跟踪,功能不受影响。
安装 / Installation
需要:DeepSeek Harness(Web profile,即浏览器 GUI
http://127.0.0.1:3080所在服务)。 以下以便携版目录<DSH>(含data/profiles/web与data/profiles/node_modules)为例。
方式 A:让 AI 助手帮你装(推荐)
本插件就是为 DeepSeek Harness 设计的,最简单的方式是直接请 DSH 的 AI 助手安装:
-
在 DSH 的会话里粘贴本仓库地址,例如:
请帮我安装这个插件:https://github.com/sqs404/dsh-client-ui-daily-summary
-
AI 会替你完成全部安装步骤:把
lib/与package.json放进 profile 的 node_modules、在cordis.patch.yml的insert列表注册ui-daily-summary、重启服务并验证加载。 -
刷新浏览器页面,侧边栏底部就会出现「今日用量」卡片。
无需手动复制文件、改配置或重启。
方式 B:手动本地安装(备用)
-
将本仓库的
lib/目录与package.json放入 profile 的 node_modules 对应路径:<DSH>/data/profiles/node_modules/@deepseek-ai/dsh-client-ui-daily-summary/ ├── package.json └── lib/ ├── index.js └── client.js也可以直接把整个仓库目录复制为
data/profiles/node_modules/@deepseek-ai/dsh-client-ui-daily-summary。 -
在
<DSH>/data/profiles/web/cordis.patch.yml的insert列表中加入一行(若已有则跳过):- insert: - id: ui-daily-summary name: '@deepseek-ai/dsh-client-ui-daily-summary' -
重启 DSH 服务,刷新浏览器页面。
方式 C:包管理器安装(实验性)
在 profile 的 package.json 中把插件声明为 GitHub 依赖,然后执行 pnpm install(需本机装有 git 与 pnpm):
{
"dependencies": {
"@deepseek-ai/dsh-client-ui-daily-summary": "github:sqs404/dsh-client-ui-daily-summary"
}
}
安装完成后仍按方式 B 的第 2、3 步在 cordis.patch.yml 中启用并重启。
使用 / Usage
- 选择一个会话并开始对话(或直接使用现有会话)。
- 展开左侧边栏,底部出现「今日用量」卡片:
- 第一行:数据图标 +
今日用量+ 当前 token 总数摘要。 - 三个数字列:今日 tokens / 消息数 / 会话数。
- 点击卡片或右上角开关即可关闭/开启(关闭时卡片变灰显示
已关闭)。
- 第一行:数据图标 +
- 侧边栏收起时,卡片位置退化为一个小图标按钮,点击可开关,悬浮可见今日统计。
- 设置页 → 常规(General)中的「今日摘要」偏好行,或「我的插件」面板,都可以同步开关。
统计按本地时区的自然日(0 点)自动清零,无需手动重置。
兼容性 / Compatibility
- 浏览器端插件(
dsh.client.platform: "web"),注入依赖:@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-locale。 - 依赖 peer:
react ^18.2.0、@deepseek-ai/dsh-client-web-react、@deepseek-ai/dsh-client-ui-primitives、@deepseek-ai/cordis(对应 DSH0.1.0-rc.6时代的客户端 API)。 - 纯前端实现:不发起网络请求、不触碰文件系统,数据全部来自宿主广播的会话投影与本机
localStorage。
仓库结构 / Repository layout
dsh-client-ui-daily-summary/
├── lib/
│ ├── index.js # host 侧加载入口(空操作,仅占位)
│ └── client.js # 浏览器端组件:今日统计卡片、开关、设置行、双语词典、面板总线注册
├── package.json # DSH 客户端插件元数据(dsh.client 约定)
├── README.md
└── LICENSE # MIT
开发 / Development
- 无构建步骤:
lib/即发布产物,改完lib/client.js后复制进 profile 的 node_modules 并重启 DSH 即可。 - 命名空间:组件样式使用
dshDs-前缀、词典命名空间为dailySummary、面板条目 id 为daily-summary、localStorage 键为dsh.daily-summary.*,避免与其他插件冲突。
生态说明 / Ecosystem note
遵循 DeepSeek Harness 社区插件建议:插件托管在作者自己的 GitHub 仓库,并添加了 dsh-plugin topic 方便发现。