前言¶
DeepSeek Harness(DSH)侧栏能列出已安装的 Skill,但不会告诉你哪些 Skill 真正被调用过。装了很久却从未用过的 Skill,和每天都在用的 Skill,在列表里看起来一样。若你想按天回顾调用次数、下钻到具体会话,或把关心的 Skill 归组筛选,需要额外工具。
下面介绍社区插件 dsh-skill-history(维护者 nacivageer,分类:工作流)。它在 DSH 侧栏提供只读面板,从你本机已有的会话日志里重建 Skill 使用统计,不联网、不上报。
这是什么¶
dsh-skill-history 是面向 DeepSeek Harness 的侧栏插件:按本地日历日汇总 skill 工具调用次数,支持从某一天下钻到会话,再看到该会话内各 Skill 的明细;并可创建分组、着色、多选过滤,方便盯住少数几个 Skill。
数据来源是主机已写入的会话日志,只统计 tool/call 且 data.name 为 skill 的事件,因此历史从你第一次有会话起就完整,而不是从安装计数器那天才开始。
插件对会话是只读的:不会打开会话、不会改归档状态、不会编辑 Skill;除分组列表外不写其他 Skill 相关文件。
核心功能¶
按日总览¶
侧栏展示按日表格:当日调用次数、涉及会话数、当天用过的 Skill;当天行高亮显示。
下钻¶
路径为:某一天 → 该日会话列表 → 单个会话内的 Skill 明细。明细包含 cwd、轮次、首次/末次调用,并提供复制 session id / 路径的操作。
分组¶
可创建、重命名分组,从 8 色调色板加中性色中选色,并用多选过滤。一个 Skill 可属于多个分组。分组数据写入本机 $DSH_HOME/skill-history/groups.json(原子写入,保留三份备份)。
全部 Skill 列表¶
列出每个已安装 Skill 的创建日与描述(默认两行截断,点击行可展开),分组方式与主页一致。内置 Skill 有标记;从未被调用的 Skill 会排在主页视图底部。
增量扫描与轮询¶
会话日志是 append-only,扫描只解码尚未读过的字节;面板每 5 秒轮询一次。若主机繁忙,保留上一次成功快照。已归档会话会标记且保持只读。
本地与隐私¶
不发起网络请求、无遥测。仅在本机读取会话日志(标题、cwd、skill 调用等),不存储凭据,不修改你的 Skill 文件。
统计口径与数据来源¶
一次「调用」指日志里 tool/call 事件,且 data.name 为 skill;Skill 名从 data.arguments.name(JSON 字符串,需再解析)读取。按事件时间的本机日历日归因,用主机时钟而非浏览器时区。
默认包含子 agent 会话(delegationDepth > 0);可在过滤栏关闭 Subagents 排除。磁盘上已删除的会话文件在下次扫描后不再计入。无法解码的日志(例如 Node 无 zstd、未知日志版本)会显示错误横幅和 scan.failedFiles,不会误显示为 0。
日志路径为:
$DSH_HOME/sessions/<workspace>/<session>/session.v4.jsonl.zstd
设计上需注意:仅写在 AGENTS.md 里、没有 skill 工具调用的 rule-only Skill,统计为 0 是预期行为,不是缺陷。
安装与启用¶
要求 DSH 0.2.2-rc.1 或更新,Node >=22.19.0(依赖 zlib.zstdDecompressSync)。package.json 中当前版本为 0.2.0,许可证 MIT。
插件在 DSH 进程权限下运行,安装前建议通读仓库源码与 LICENSE。
从本地目录(当前可用)¶
dsh plugin --profile <profile> add link:/absolute/path/to/dsh-skill-history
若无 dsh CLI,可通过插件管理器指定目录:
plugin_manager install_bundle target=/absolute/path/to/dsh-skill-history
从 GitHub(仓库已发布后)¶
dsh plugin --profile <profile> add github:nacivageer/dsh-skill-history
桌面应用¶
在 Settings → Plugins 中通过应用内插件管理器安装包,刷新页面一次。侧栏会出现柱状图图标。
更新与移除¶
dsh plugin --profile <profile> update github:nacivageer/dsh-skill-history
dsh plugin --profile <profile> remove dsh-skill-history
典型用法¶
安装并刷新后,在侧栏打开 Skill usage 面板即可查看按日统计。想聚焦某几个 Skill 时,在分组里创建分类并着色,用多选过滤缩小列表。
需要核对某一天的具体使用时:点选该日 → 进入会话列表 → 点开会话查看 Skill 明细;若会话已归档,面板不会提供「打开会话」动作(避免写操作),可复制 id 或路径自行定位。
过滤栏可切换是否计入子 agent 会话。首次扫描大量历史可能耗时(README 中在约 200 会话 / 150 MB 量级下约为 15 秒);面板会先展示上次快照,后台刷新。
适用场景与限制¶
适合:长期在 DSH 里安装多个 Skill、想分清「装了没用」和「常用」的开发者;需要按日本地回顾 Skill 调用、又希望数据不出本机的团队或个人。
限制(README 已说明):
- 尚无日期范围过滤与 CSV 导出。
- 不统计非
skill工具路径的 Skill 规则。 - 分组与颜色不同步到其他机器。
- 大批量历史首次扫描占用时间;大日志依赖 Node zstd 与
session.v4.jsonl.zstd格式。
从旧名 dsh-skill-stats 迁移时,原有分组仍会从 $DSH_HOME/skill-stats/groups.json 读取,首次保存写入 $DSH_HOME/skill-history/groups.json。
兼容性摘要¶
| 表面 | 状态 |
|---|---|
| DeepSeek Harness | >=0.2.2-rc.1 Desktop 已测 |
| Node | >=22.19.0 |
| OS | Windows、macOS、Linux |
| 会话日志 | session.v4.jsonl.zstd;未知格式报错而非显示 0 |
结尾¶
dsh-skill-history 用本机会话日志回答「哪些 Skill 真的在用」:按日汇总、会话下钻、分组过滤,且只读、无网络。DSH 生态强调「一切皆插件」;社区目录在独立站点维护,与 DeepSeek / 幻方无官方从属关系。
- 目录页:https://www.skillhub.cn/plugins/nacivageer/dsh-skill-history
- 仓库:https://github.com/nacivageer/dsh-skill-history