DeepSeek Harness (DSH) 插件生态强调模块化与功能解耦。在开发调试或用量分析时,开发者往往需要跨会话的模型调用统计(如 Token 分布、模型使用偏好),而现有的计价插件仅关注资金流向。dsh-plugin-session-insights 专注于活动统计,通过 Host 侧的边车文件记录每次模型调用,并提供可视化的命令行查询与 CSV 导出。
核心功能¶
该插件在 Host 侧运行,将每次模型调用(无论是否计价)追加到按月存储的 JSONL 边车文件中。
- 概览命令:
/insights- 显示会话总数与 Token 总量。
- 展示近 N 天的每日趋势(ASCII 条形图)。
- 列出最贵会话 Top 榜。
- 展示模型分布情况。
- 导出命令:
/insights-export <YYYY-MM>- 将指定月份的数据导出为 BOM+CRLF 格式的 CSV,确保 Excel 可直接打开。
- 与计价插件的分工
- 本插件管活动:统计所有模型调用的 Token、轮次及模型分布,未计价事件也会被记录。
- 与
dsh-plugin-cost-ledger不同,后者专注于钱,未计价事件会被直接丢弃。
安装与启用¶
安装过程需要三步,确保 pnpm 已在 PATH 中。
- 安装插件包
dsh plugin --profile web add github:121212165/dsh-plugin-session-insights
该命令会通过 pnpm 获取包并自动运行构建。
-
修改配置文件
将本仓库根目录的cordis.patch.yml内容合并进$DSH_HOME/profiles/web/cordis.patch.yml。
该文件默认为空数组[]。请将内容并进同一个数组,不要直接追加。追加会导致 YAML 解析错误,报错信息为end of the stream or a document separator is expected。 -
重启与验证
配置层与客户端都需要重启才能生效(浏览器硬刷新无效)。
重启后,通过以下命令验证挂载状态:
dsh --profile web --dump-config | grep dsh-plugin-session-insights
数据模型与用法¶
插件在 Host 侧维护按月的 JSONL 边车文件,路径默认为 ~/.dsh/session-insights/insights-YYYY-MM.jsonl。每行记录包含会话 ID、时间戳、模型 ID、Provider、轮次、Token 桶统计(输入、缓存读取、输出、缓存写入)以及计费信息(若有)。
示例数据结构:
{"v":1,"sessionId":"…","at":"2026-09-15T02:00:00.000Z","day":"2026-09-15",
"modelId":"deepseek-v4-pro","provider":"deepseek","turn":3,
"buckets":{"uncachedInput":100,"cacheRead":900,"output":50,"cacheWrite":0},
"costMicros":1200000,"currency":"CNY"}
适用场景与注意¶
- 适用场景:需要分析模型使用习惯、追踪长期 Token 消耗趋势、以及导出结构化数据进行二次分析的开发者。
- 运行机制:Host 侧运行,无 Web UI 界面,所有交互通过命令行完成。
- 边界限制:
- 本插件无历史回填能力,只能统计安装后的会话数据。
- 若边车文件出现崩溃导致的半行数据,插件会跳过该行并计数,不会改写文件。
- 暂不支持运行中的 live mount。
总结¶
dsh-plugin-session-insights 是一个轻量级的跨会话分析工具。它填补了 DSH 生态中活动统计与计价统计之间的空白,适合需要精细化控制与分析模型调用流量的开发者。更多插件与目录可参考 GitHub 与 SkillHub 插件目录。