前言¶
在 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)。
典型用法¶
- 完成安装并重启后,打开 设置 → 会话统计,查看总 Token、本月预算与 7/30/90 天时间线。
- 在会话明细中点击某条记录,跳转到对应会话核对模型与最近活动。
- 在 CPU 区域观察 DSH 进程与系统负载,与高强度调用时段对照。
- 开发 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 收进同一面板,适合作为本地控量与排障的参考视图,而不能代替厂商官方账单。