DSH 活动统计:彩色时间线看什么时候在干活/改代码,每日 token 消耗按项目/日期/小时查看。
33.5/100
综合分
5
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Guyao146/dsh-activity-tracker该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · model
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-activity-tracker(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 23:39:03
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 22 处,展示前 19 条)
- 读取本地文件lib/index.js:41
const raw = JSON.parse(readFileSync(pricingFile(), 'utf8')) - 写入本地文件lib/index.js:47
mkdirSync(dshHome(), { recursive: true }) - 写入本地文件lib/index.js:48
writeFileSync(pricingFile(), JSON.stringify(state, null, 2), 'utf8') - 读取本地文件lib/index.js:52
const value = JSON.parse(readFileSync(uiFile(), 'utf8')) - 写入本地文件lib/index.js:62
mkdirSync(dshHome(), { recursive: true }) - 写入本地文件lib/index.js:63
writeFileSync(uiFile(), JSON.stringify(state, null, 2), 'utf8') - 读取本地文件lib/index.js:68
try { file = JSON.parse(readFileSync(dashboardFile(), 'utf8').replace(/^ FEFF/, '')) || {} } catch (e) { file = {} } - 读取密钥环境变量lib/index.js:69
const runtime = String(process.env.DSH_ACTIVITY_DASHBOARD_TOKEN || '').trim() - 读取本地文件lib/index.js:79
const current = (() => { try { return JSON.parse(readFileSync(dashboardFile(), 'utf8').replace(/^ FEFF/, '')) || {} } catch (e) { return {} } })() - 写入本地文件lib/index.js:87
mkdirSync(dshHome(), { recursive: true }) - 写入本地文件lib/index.js:88
writeFileSync(dashboardFile(), JSON.stringify(value, null, 2), { encoding: 'utf8', mode: 0o600 }) - 发起网络请求lib/index.js:96
const response = await fetch(target, { method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringi - 读取本地文件lib/index.js:236
try { wsDirs = readdirSync(root, { withFileTypes: true }) } catch (e) { return out } - 读取本地文件lib/index.js:240
try { sess = readdirSync(join(root, ws.name), { withFileTypes: true }) } catch (e) { continue } - 发起网络请求lib/index.js:439
const response = await fetch(baseUrl + path, { ...options, headers: { Accept: 'application/json', ...(options.headers || {}) }, signal: options.signal - 发起网络请求lib/index.js:834
if (!proxy) return fetch(target, { method: 'POST', headers, body, signal: AbortSignal.timeout(8000) }) - 发起网络请求lib/index.js:837
const connect = http.request({ - 发起网络请求lib/index.js:852
const request = https.request({ hostname: target.hostname, port: target.port || 443, path: target.pathname + target.search, method: 'POST', headers, a - 发起网络请求lib/client.js:34
const r = await window.fetch(path, Object.assign({}, opts, { headers: headers }))
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 彩色时间线查看活动
- 按项目统计token消耗
- 按日期小时查看消耗
README
由 DeepSeek 最新模型翻译生成dsh-activity-tracker
樱落生态成员
已编写Wiki
dsh-activity-tracker 是本地活动统计插件,面向 DeepSeek Harness(DSH)Web。它读取 DSH 已有的会话记录,把用户输入、代码编辑、命令执行、检索阅读、其他工具调用以及 Token 消耗按日期、小时和项目聚合,并在 DSH 侧栏中提供可视化统计面板。
默认情况下,所有统计都在运行 DSH 的本机完成。只有你主动完成生活看板配对,并授权指定工作区查看会话详情时,插件才会通过 HMAC 签名 HTTPS 向生活看板推送该工作区的最近输出。
樱落生态Wiki
该项目已编写Wiki,了解插件更多细节 https://wiki.mcylyr.cn
功能特性
- 统计概览:展示输入 Token、输出 Token、缓存读取 Token、活动事件数和会话数。
- 活跃热力图:以 GitHub Contributions 风格展示近 26 周的活动强度。
- 24 小时活动分布:按小时查看不同类型事件的堆叠分布。
- 24 小时 Token 分布:查看一天中各小时的 Token 使用情况。
- 当日事件时间线:展示事件发生时间、事件类型、工具名称、内容摘要、项目和模型。
- 每日汇总表:汇总近 31 个活跃日的事件数与 Token 消耗。
展开完整文档(README 剩余 1 节)
dsh-activity-tracker
樱落生态成员
已编写Wiki
dsh-activity-tracker 是本地活动统计插件,面向 DeepSeek Harness(DSH)Web。它读取 DSH 已有的会话记录,把用户输入、代码编辑、命令执行、检索阅读、其他工具调用以及 Token 消耗按日期、小时和项目聚合,并在 DSH 侧栏中提供可视化统计面板。
默认情况下,所有统计都在运行 DSH 的本机完成。只有你主动完成生活看板配对,并授权指定工作区查看会话详情时,插件才会通过 HMAC 签名 HTTPS 向生活看板推送该工作区的最近输出。
樱落生态Wiki
该项目已编写Wiki,了解插件更多细节 https://wiki.mcylyr.cn
功能特性
- 统计概览:展示输入 Token、输出 Token、缓存读取 Token、活动事件数和会话数。
- 活跃热力图:以 GitHub Contributions 风格展示近 26 周的活动强度。
- 24 小时活动分布:按小时查看不同类型事件的堆叠分布。
- 24 小时 Token 分布:查看一天中各小时的 Token 使用情况。
- 当日事件时间线:展示事件发生时间、事件类型、工具名称、内容摘要、项目和模型。
- 每日汇总表:汇总近 31 个活跃日的事件数与 Token 消耗。
- 费用统计:按项目、模型、项目 × 模型和日期查看 Sub2API 价格计算结果。
- Sub2API 账号登录与价格同步:支持账号密码登录、TOTP 二次验证、Token 自动续期、手动同步、每天首次启动自动同步和每日价格历史快照。
- Sub2API 账户摘要:登录后显示中转站名称、当前账号、余额以及已订阅分组的月度使用量/额度。
- 余额卡片:账户余额直接并入活动概览卡片,不再单独占用顶部提示条。
- 可定制仪表盘:在“总设置”中开关模块、选择小/中/大三档样式、拖拽模块排序,并拖动面板边缘或使用滑块调整宽度。
- 灵活日期范围:支持今天、7 天、15 天、30 天、自定义日期和全部;热力图、概览、每日汇总会同步当前范围。
- 长范围翻页:自定义范围超过 30 天时按 30 天窗口左右翻页。
- 卡片快捷设置:每个仪表盘模块右上角都有三点菜单,可直接选择小、中、大或关闭。
- 宿主持久化:模块开关、尺寸、顺序、宽度和筛选同时保存到 DSH 宿主机,重启后自动恢复。
- 容器响应式布局:根据活动面板自身宽度而不是浏览器窗口宽度自动重排;窄面板会将模块切为整行,概览卡片自动切换为 3 / 2 / 1 列。
- 多项目过滤:按 DSH 会话的工作目录区分项目,可查看全部或单个项目。
- 会话过滤:可在全部项目或选定项目下继续选择单个会话,所有概览、图表、热力图和时间线同步过滤。
- 统一筛选栏:项目、会话与日期选择器使用统一高度和响应式列宽;关闭按钮固定在标题栏右上角。
- 时间范围过滤:支持今日、近 7 天、近 30 天和全部记录。
- 本地时区统计:所有日期和小时均按照 DSH 宿主机的本地时区计算。
- 增量解析缓存:根据会话文件的修改时间和大小复用解析结果,减少重复扫描开销。
- 侧栏入口自恢复:通过 MutationObserver 在 DSH 页面更新后自动恢复“活动统计”入口。
- 明暗主题适配:统计浮层可跟随浏览器的浅色或深色主题。
- 生活看板实时工作区:按工作区分组推送会话快照;生活看板每 10 秒获取最新工作区状态、会话和工具输出,管理员可向当前运行中的 DSH 会话发送后续消息。
- 五态状态灯:工作区与会话统一显示“已完成、遇到错误、需要选择、正在进行任务、休眠中”;错误结果和待批准操作优先识别。
- 最小化输出授权:未勾选“允许查看会话详情”的工作区只上传汇总统计,不传输会话标题、对话或工具输出。
- 六位码一键配对:在生活看板生成一次性验证码后,直接在 DSH「活动统计 → 总设置」完成连接,无需手动创建或编辑 JSON 配置文件。
- 归档会话管理:在“已归档”标签中搜索和查看本机已归档对话,确认后可恢复到 DSH 会话列表;恢复不会移动、覆盖或删除原始会话文件。
面板内容
预览:
环境要求
- 已安装并能够正常运行的 DSH Web 环境。
- DSH 能够加载本地插件和 Web 客户端扩展。
- Node.js 22.15+ 或 24+,且运行时需要提供 node:zlib 的 zstdDecompressSync。
- 本机存在可读取的 DSH 会话目录:~/.dsh/sessions。
Windows 默认对应:
C:\Users\<用户名>\.dsh\sessions
如果设置了 DSH_HOME 环境变量,插件会改为读取:
%DSH_HOME%\sessions
安装
Web版本 DSH
dsh plugin --profile web add dsh-activity-tracker@latest
Desktop版本 DSH
dsh plugin --profile desktop add dsh-activity-tracker@latest
安装后请重启 DSH 。页面加载完成后,“新会话”按钮下方会出现 📊 活动统计 入口。
cordis.patch.yml 会由 DSH 的插件安装流程读取,并自动添加 activity-tracker 插件配置。
使用方法
1. 启动或重启 DSH Web。
2. 在 DSH 左侧栏找到 活动统计。
3. 点击入口打开统计浮层。
4. 使用顶部筛选器选择项目、会话和时间范围。
5. 点击热力图日期或每日汇总表中的日期,查看当天的小时分布和事件时间线。
6. 新会话产生数据后,点击右上角的 刷新 重新扫描。
7. 如需连接生活看板,进入“总设置 → 生活看板连接”完成六位码配对;仅对需要在看板查看实时输出的工作区勾选“允许查看会话详情”。
8. 如需找回归档对话,打开“已归档”,搜索并选择会话查看记录,点击“恢复会话”并确认。
已归档对话
DSH 归档会话时只会把会话 ID 加入 Workspace Registry 的 archivedSessionIds,本地 ~/.dsh/sessions 日志仍然保留。本插件使用 DSH 官方 workspaceRegistry 状态原语读取归档集合,并提供:
- 按标题、项目名称或会话 ID 搜索;
- 查看会话轮次、记录数、最后活动时间和受限记录详情;
- 长会话最多展示最近 500 条、总文本约 1 MiB 的记录,避免界面卡顿;
- 恢复前二次确认;
- 恢复请求串行执行,并在写入后再次校验归档状态;
- 恢复只从 archivedSessionIds 移除目标 ID,不修改原始 zstd 日志。
本地接口均要求 X-DSH-Activity: 1:
GET /dsh-activity/api/archives
GET /dsh-activity/api/archives/detail?session=<session-id>
POST /dsh-activity/api/archives/restore
Content-Type: application/json
{"sessionId":"session-..."}
如果归档注册表仍有 ID、但对应会话文件已经被其他工具永久删除,列表会把它计入“记录缺失”,且不会提供虚假的恢复操作。
已知限制
- 仅统计当前 DSH 数据目录中仍然存在的会话文件。
- 首次扫描大量历史会话时可能需要一定时间。
- 项目筛选标识基于完整工作目录;项目移动后会被视为不同项目。
- 工具分类采用名称匹配规则,新工具可能暂时显示为“其他工具”。
- 生活看板输出刷新间隔最短为 10 秒,不是逐 Token 流式传输;DSH 本机离线或推送失败时看板会显示离线状态。
- 已授权工作区的最近 120 条会话记录会传输到生活看板;请只对可接受该访问范围的工作区启用详情授权。
- 归档恢复依赖当前 DSH 的 workspaceRegistry.requireState() / setState();不提供这些公开状态原语的旧 DSH 版本会显示“不支持恢复”,不会直接修改 workspace.json。
许可证
本项目采用 Sakura-License v1.2(固定文本标识 Sakura-License-1.2)。完整正文见 LICENSE,采用声明(项目、许可人、适用范围与首次适用提交)见 NOTICE.md。
- 它是源码可用(source-available)许可证,限制特定商业利用,不是 OSI 批准的开源许可证;
- 阅读、运行、复制、修改、分发与自部署免许可费;但面向第三方的商业利用(销售、订阅、付费 SaaS、收费托管 / 部署 / 定制 / 支持等)须先取得书面商业授权;
- 对外分发或提供受覆盖作品时,须保留署名、许可证与来源信息,并同步公开对应源码;
- 通过公开 API / HTTP 等协议独立调用本插件的运行实例,不因此构成商用或触发共享义务;
- 历史授权保留:在此前 LGPL-2.1-only 下取得副本者,可继续按该许可使用(见 NOTICE.md)。
商用授权请在 Issues 发起申请(请勿在公开 Issue 中提交敏感资料)。
v1.7.1 发布
本版本统一采用 Sakura-License v1.2,随发布包提供 LICENSE 与 NOTICE.md;历史和第三方授权保持不变。功能行为不变。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Guyao146/dsh-activity-tracker
DSH 活动统计:彩色时间线看什么时候在干活/改代码,每日 token 消耗按项目/日期/小时查看。
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个插件,给…
★ 850已汉化DSH
68.9
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 385已汉化DSH
67.9
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1
这是你的仓库?认领条目