dsh-plugin-session-insights:跨会话活动统计

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 中。

  1. 安装插件包
    dsh plugin --profile web add github:121212165/dsh-plugin-session-insights
该命令会通过 pnpm 获取包并自动运行构建。
  1. 修改配置文件
    将本仓库根目录的 cordis.patch.yml 内容合并进 $DSH_HOME/profiles/web/cordis.patch.yml。
    该文件默认为空数组 []。请将内容并进同一个数组,不要直接追加。追加会导致 YAML 解析错误,报错信息为 end of the stream or a document separator is expected。

  2. 重启与验证
    配置层与客户端都需要重启才能生效(浏览器硬刷新无效)。
    重启后,通过以下命令验证挂载状态:

    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 插件目录。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜