dsh-session-insights:基于真实会话日志的 Token、成本与 CPU 面板

前言

在 DeepSeek Harness(DSH)里跑智能体,调用会落在本机会话日志里,但默认界面很少把跨会话的 Token、估算费用和机器负载放在一起看。靠各厂商控制台或对账邮件只能看单一模型,也难和本机 DSH 进程是否吃满 CPU 对上号。

下面介绍社区插件 dsh-session-insights(维护者 wzuu,分类 admin-security):在 DSH 内用 Host + Web Client 双面形式,从本机会话读取 assistant/message.usage,聚合用量与时间线,并按公开价表做成本与预算参考,同时采样本机 CPU 与内存。数据在 Host 内存中聚合,不写用户文件、不发网络请求。

这是什么

dsh-session-insights 是面向 DSH desktop 或 web profile 的本地优先统计插件,包名 @local/session-insights,当前版本 1.0.0,许可证 MIT。它不替代官方账单,而是用会话日志里的真实 usage 做总览、明细和趋势,供日常控量与排障参考。

插件依赖 profile 提供 sessionQuery(dsh-base 默认含 session-query-sqlite)。没有该能力时无法扫描会话。

核心功能

用量与总览

  • 通过 ctx.sessionQuery 读取本机会话中的 assistant/message.usage,非演示数据。
  • 总览包括:总 Token(缓存命中 / 未命中 / 输出)、会话数量、调用次数。

成本与预算

  • 按 DeepSeek 公开价格与工作日高峰 / 空闲时段估算;非 DeepSeek 模型默认归入 other,Token 计入总量但不计价,面板会提示「未计价」。
  • 本月预算进度、剩余额度、月末预计;默认预算 ¥100/月,可在预算卡片修改(存于浏览器 localStorage)。
  • 费用按当前价格回算历史,未内置法定节假日表,适合趋势与预算参考,不是官方账单。

时间线与明细

  • 时间线支持 7 / 30 / 90 天,Token 与费用两种视图,悬停可看当日明细。
  • 会话明细列出各会话 Token、费用、模型与最近活动,点击可打开对应会话。

CPU 监测

  • 总体与每核占用、系统负载、内存、DSH 进程 CPU/内存、运行时长与历史曲线。
  • 使用 node:os 与 process.cpuUsage(),每 3 秒采样,保留 90 个点。

界面与语言

  • 中文 / English 随应用语言切换。
  • 设置 → 会话统计:完整面板;侧边栏底部 会话统计 按钮弹出同一面板(Esc 或点击遮罩关闭)。

安装与启用

需要已安装 DSH,并确认当前 profile 提供 sessionQuery。

仓库 README 给出的安装方式为克隆本地目录后安装到 profile(示例为 desktop):

git clone https://github.com/wzuu/dsh-session-insights.git
cd dsh-session-insights

# 安装到当前使用的 profile(示例为 desktop)
dsh plugin --profile desktop add "$PWD"

也可在 DSH 设置 → 插件 中从本地目录安装。安装后重启 DSH,再进入「会话统计」入口。

数据与计费口径

项目 说明
Token usage.inputTokens(未命中)+ cacheReadTokens / cacheWriteTokens(命中)+ outputTokens
会话 本机全部逻辑会话,含子代理;面板展示有用量的会话
成本 元 / 百万 tokens,按模型档位与调用时间估算
预算 默认 ¥100/月,面板内可改
CPU 每 3 秒采样,保留 90 个点

默认价格(元 / 百万 tokens):

档位 缓存命中 未命中 输出
flash 0.02 1 4
pro 0.15 4.5 13.5
other 0 0 0

工作日北京时间 9:00–12:00、14:00–18:00 按高峰计,价格 ×2;周末与其余时段按空闲计。模型名含 deepseek 按 flash / pro 计价;@preset/* 视为 DSH 内 DeepSeek 别名按 flash 计。

自定义价格与预算

编辑 cordis.patch.yml 中 session-insights 的 config,然后重启 DSH:

- insert:
    - id: session-insights
      name: '@local/session-insights'
      config:
        budgetMonthlyCny: 100
        peakMultiplier: 2
        peakWindows: [[9, 12], [14, 18]]
        scanThrottleMs: 120000
        pricing:
          flash: { cacheHit: 0.02, cacheMiss: 1, output: 4 }
          pro: { cacheHit: 0.15, cacheMiss: 4.5, output: 13.5 }
          other: { cacheHit: 0, cacheMiss: 0, output: 0 }
        modelClasses:
          my-alias: flash

首次扫描约 1–2 秒(视会话数量而定);之后每 120 秒在有人查看时后台刷新(scanThrottleMs 默认 120000)。

典型用法

  1. 完成安装并重启后,打开 设置 → 会话统计,查看总 Token、本月预算与 7/30/90 天时间线。
  2. 在会话明细中点击某条记录,跳转到对应会话核对模型与最近活动。
  3. 在 CPU 区域观察 DSH 进程与系统负载,与高强度调用时段对照。
  4. 开发 Host 侧时,可用 GUI 端口探测数据端点(端口以实际为准):
curl -s 'http://127.0.0.1:<port>/session-insights?refresh=1' | head -c 400

修改 Host 代码后,在 DSH 中切换一次该插件启用状态即可重载;修改 Client 后刷新页面即可。

适用场景与注意

适合谁:长期在本机 DSH 上跑多会话、多模型,需要本地汇总 Token、粗算成本和机器负载的开发者或管理员。

权限与安全:插件以当前 DSH 进程权限运行,会读本机会话日志;安装前应阅读源码与 MIT 许可证。README 明确:只读取本机已在 DSH 中产生的会话,不上传内容。

生态说明:DSH 社区插件目录(SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;本插件 GitHub 星标在目录线索中为 0,以仓库与目录页为准。

结尾

dsh-session-insights 把真实会话 usage、估价预算与本机 CPU 收进同一面板,适合作为本地控量与排障的参考视图,而不能代替厂商官方账单。

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

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

小夜