zz-zhi54/dsh-plugins--packages-session-cost ↗★ 2
dsh-session-cost-plugin
Session model cost pill in the DeepSeek Harness Web composer 适合需要精细化监控和统计不同模型消费成本的Web端用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zz-zhi54/dsh-plugins#4df357a644c30e43cca3b0911780ee7f24ddfd7c&path:packages/session-costドキュメント
README 全文を読む ↗dsh-session-cost-plugin
项目选择、统一安装入口和仓库结构见根目录 README。
非官方社区插件。
在 DSH Web 输入框下方的 Token 统计行显示当前会话费用。费用使用模型 provider 报告的每次请求 usage,并按 provider/model 分组;价格来自 @earendil-works/pi-ai 内置模型目录,原生显示 USD。
功能
- 位置:注册独立的
conversation.composer.dock条目session-cost(order: 10),在 DSH 内置stats(order: 0)之后显示费用 $0.0124;不接管或替换内置统计单元。 - 交互:点击费用打开 Token 费用统计对话框;点击其它区域按 DSH 官方统计窗口的行为自动关闭;每个
provider/model行显示 Token 总数和费用,点击后展开 input、output、cache read、cache write 与请求次数。 - 数据来源:Host 通过
sessionProjections增量折叠 durable events,不新增本插件持久化文件;读取结果仍按 Sessionseq做进程内缓存。 - 请求覆盖:成功的
assistant/message和没有 surface message 的assistant/attempt都计入。重试 attempt 从其 durable stream 的最后一条 provider usage 读取,不把流式中间 usage 重复相加。 - 未知价格:模型不在 pi-ai 内置目录时显示
未知,不会猜测价格;已知模型的费用仍会显示,并标记未知部分。 - 与 Codex 用量插件并装:三者都位于
conversation.composer.dock;DSH 内置stats保持order: 0,本插件使用独立的session-cost(order: 10),Codex 用量插件使用codex-usage(order: 20),按当前 DSH Slot 契约可同时安装。
截图与演示
费用 pill 收起态:

点击费用后的对话框收起态:

展开 provider/model 后的 Token 费用明细:

安装
直接从 GitHub 安装当前分支:
dsh plugin --profile web add 'github:zz-zhi54/dsh-plugins#path:packages/session-cost'
固定 release 时,将路径替换为 #v&path:packages/session-cost。
该 package 的 patch 插入一个 Profile 条目:
session-cost:本插件的 Host 路由和 Web 客户端。
卸载:
dsh plugin --profile web remove dsh-session-cost-plugin
验证
pnpm --filter dsh-session-cost-plugin run check
pnpm --filter dsh-session-cost-plugin run test
dsh --profile web --dump-config
--dump-config 应出现 session-cost。需要至少有一次带 provider usage 的模型请求后,费用 pill 才会出现。
限制
- 费用是基于当前 pi-ai 价格目录的估算;价格目录更新后,重新读取会按新价格计算历史 usage。
- provider 没有报告 usage 的请求不会被计费;没有可验证价格的
provider/model不会被赋予默认价格。 - 本插件使用独立的
session-costSlot(order: 10),不会替换 DSH 的stats;它应与对应 DSH Web 版本一起使用。停止或卸载插件只会移除费用 Slot 注册和 Host 路由,不影响内置统计。 @earendil-works/pi-ai@0.85.1要求 Node>=22.19.0;使用本插件时请使用满足该要求的 Node 版本。
实现约束
src/cost.mjs只读取 durable event 的标量字段,调用getBuiltinModel()/calculateCost(),不保存 Session 或模型对象。src/projection.mjs注册 host-only 的sessionCost投影,保存归一化 usage 与路由标量,避免新增生产代码调用已弃用的 Session 同步事件读取 API;保留逐请求 usage 以支持分层价格和价格目录变化后的重算。src/host.mjs注册GET /api/session-cost?sessionId=,响应只包含当前会话的投影数据,不返回原始事件;Host 以 Sessionseq缓存同一会话的结果。src/client.js是 DSH Web 使用的 classic-script 模块,必须保留window.__ModuleLoader__.load({ id, factory })与require('react')的结构;样式全部内联,不向document注入全局 CSS。