前言¶
在 DSH(DeepSeek Harness)中运行智能体时,成本通常分散在多个 session、模型调用、工具调用和缓存结果里。只看总 token 很难判断哪次会话、哪个模型、哪个工具最贵,也很难处理价格表变更。
dsh-analytics 是一个本地分析插件:它从 session events 收集 usage,写入本地 SQLite ledger,再用 time-aware pricing table 计算成本,并通过 service、agent tool 和 JSON API 提供查询。
这是什么¶
dsh-analytics 的仓库所有者是 hccccc01333,GitHub 地址为:
https://github.com/hccccc01333/dsh-analytics
它的一句话定位是:Agent FinOps / token analytics for DeepSeek Harness。v1 scope 包括 Overview、Session drill-down、Cost Engine 和 Cache analytics。它面向已经发生的运行记录做本地分析,并提供工具成本归属和预算查看。
核心功能¶
本地用量台账¶
插件会把 session 事件中的 usage 收集到本地 SQLite ledger。
数据存储在本机,文档说明数据不出本机,并且插件不会调用 provider API。
时间感知成本引擎¶
价格表被当作数据,而不是硬编码在逻辑中。
dbPath 是必需配置。内置默认价格只是 seed data;当价格表为空时才会 seed,避免重启覆盖已有价格。
如需自定义价格,可使用 pricing 或 pricingFile;二者互斥。
查询入口¶
ctx.analytics 提供以下 service 方法:
overviewsessionsessionsmodelstoolspricingbudget
Service 读取为分离快照,不触碰 session store 或 agent loop。
插件还提供 analytics_query agent tool,可用 range_hours 限制窗口。
在 ctx.webServer 存在时,还会注册只读 JSON 路由:
/api/analytics/overview
/api/analytics/sessions
/api/analytics/models
/api/analytics/tools
/api/analytics/pricing
/api/analytics/budget
/api/analytics/session/<sessionId>
部分路由支持 ?hours= 查询参数。
浏览器仪表盘¶
插件提供 self-contained dashboard,路径为:
/analytics
页面包括 Overview、Sessions、Reasoning、Agents、Insights、Context Inflation、Token Flow / Models / Cost / Pricing。
范围选择器支持 6h / 24h / 7d / 30d / all,并提供 EN / 中文 toggle。
预算与工具归属¶
预算支持 daily、monthly 和 currency 配置,并给出 month-end spend projection。
工具成本采用 step-level attribution:一次模型调用的成本会分摊到该 step 中调用的工具,避免重复计算。
安装与启用¶
在 web profile 下安装:
dsh plugin --profile web add dsh-analytics
如果已经拿到本地 checkout,也可以使用本地路径:
dsh plugin --profile web add /path/to/dsh-analytics
本地开发时,可以挂载 source overlay:
dsh --profile web --patch ./cordis.yml
典型用法¶
配置¶
至少需要提供 dbPath,指向 SQLite 数据库文件。
若要自定义价格表,选择 pricing 或 pricingFile 其一,二者互斥。
Service 查询¶
下面示例展示基本读取方式:
await ctx.analytics.overview({ start, end })
await ctx.analytics.session(sessionId)
await ctx.analytics.budget()
按范围查询:
await ctx.analytics.sessions({ start, end })
await ctx.analytics.models({ start, end })
await ctx.analytics.tools({ start, end })
await ctx.analytics.pricing()
Agent tool 查询¶
可以这样调用:
analytics_query(query="overview", range_hours=24)
range_hours 限制以当前时间为结尾的窗口;0 表示 all time,默认是 24。
JSON API¶
当 web server 可用时,可直接读取上述 /api/analytics/* 路由。例如查看 overview 或某个 session:
/api/analytics/overview
/api/analytics/session/<sessionId>
仪表盘¶
打开:
/analytics
然后使用 6h / 24h / 7d / 30d / all 范围选择器查看不同页面。
适用场景与注意¶
适合以下使用:
- 在 DSH 中运行多个 session 或 agent,需要查看成本、缓存、模型和工具占比。
- 需要在代码中读取 overview、session、budget 等数据。
- 需要在浏览器中做 session 钻取和成本查看。
注意:
- 插件以当前
dsh进程权限运行;安装前应检查源码、依赖和许可证。 - 许可证信息未确认,安装前请自行核验。
- Web JSON 路由只在
ctx.webServer存在时注册。 - harness client 中的 shell-nav 集成被描述为后续项,因为当前没有空闲的 plugin page slot。
- DSH 插件目录是独立社区站点,与 DeepSeek / 幻方无官方从属关系,不应被理解为官方应用商店。
结尾¶
dsh-analytics 将 DSH 运行中的 token、成本、缓存和工具使用整理成本地可查询视图。若你要在智能体开发中做 Agent FinOps,可以从它的 service、agent tool 和 /analytics 仪表盘开始。
GitHub:https://github.com/hccccc01333/dsh-analytics
目录页:在 DSH 插件目录中按 dsh-analytics 查找;本文未附具体目录 URL,因为材料中没有确认的目录地址。