Back to home

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

License: MIT dsh-plugin

一个纯浏览器端的 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)归零,数据持久化在 localStoragedsh.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/webdata/profiles/node_modules)为例。

方式 A:让 AI 助手帮你装(推荐)

本插件就是为 DeepSeek Harness 设计的,最简单的方式是直接请 DSH 的 AI 助手安装

  1. 在 DSH 的会话里粘贴本仓库地址,例如:

    请帮我安装这个插件:https://github.com/sqs404/dsh-client-ui-daily-summary

  2. AI 会替你完成全部安装步骤:把 lib/package.json 放进 profile 的 node_modules、在 cordis.patch.ymlinsert 列表注册 ui-daily-summary、重启服务并验证加载。

  3. 刷新浏览器页面,侧边栏底部就会出现「今日用量」卡片。

无需手动复制文件、改配置或重启。

方式 B:手动本地安装(备用)

  1. 将本仓库的 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

  2. <DSH>/data/profiles/web/cordis.patch.ymlinsert 列表中加入一行(若已有则跳过):

    - insert:
        - id: ui-daily-summary
          name: '@deepseek-ai/dsh-client-ui-daily-summary'
    
  3. 重启 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

  1. 选择一个会话并开始对话(或直接使用现有会话)。
  2. 展开左侧边栏,底部出现「今日用量」卡片:
    • 第一行:数据图标 + 今日用量 + 当前 token 总数摘要。
    • 三个数字列:今日 tokens / 消息数 / 会话数。
    • 点击卡片或右上角开关即可关闭/开启(关闭时卡片变灰显示 已关闭)。
  3. 侧边栏收起时,卡片位置退化为一个小图标按钮,点击可开关,悬浮可见今日统计。
  4. 设置页 → 常规(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(对应 DSH 0.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 方便发现。

许可证 / License

MIT © 2026 sqs404