🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

用量透镜 ahn66/dsh-usage-lens

DeepSeek Harness
ahn6611 天前有提交已提供中文文档扫描:含敏感能力

一个用量与过程可观测性插件,内嵌在 DeepSeek HarnessDSH会话界面里:状态条显示今日 token…

31.3/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ahn66/dsh-usage-lens
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/31·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 11 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/31) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 发起网络请求
    dsh-usage-lens/client.js:518
    const response = await fetch(path, {
  • 发起网络请求
    dsh-usage-lens/client.js:815
    const response = await fetch(`${RAW_PATH}?${new URLSearchParams(query).toString()}`, {
  • 发起网络请求
    dsh-usage-lens/client.js:841
    const response = await fetch(`${RAW_PATH}?${new URLSearchParams({
  • 写入本地文件
    dsh-usage-lens/lib/ledger.js:70
    directoryReady = mkdir(dir, { recursive: true }).catch((error) => {
  • 读取本地文件
    dsh-usage-lens/lib/ledger.js:86
    names = await readdir(dir)
  • 读取本地文件
    dsh-usage-lens/lib/ledger.js:112
    size = (await stat(active)).size
  • 写入本地文件
    dsh-usage-lens/lib/ledger.js:120
    await rename(active, archive)
  • 写入本地文件
    dsh-usage-lens/lib/ledger.js:122
    await chmod(archive, 0o444)
  • 写入本地文件
    dsh-usage-lens/lib/ledger.js:133
    await appendFile(fileOf(month), line, 'utf8')
  • 读取本地文件
    dsh-usage-lens/lib/ledger.js:153
    text = await readFile(file, 'utf8')
  • 读取本地文件
    dsh-usage-lens/lib/pricing-sync.js:476
    const text = await readFile(path, 'utf8')
  • 写入本地文件
    dsh-usage-lens/lib/pricing-sync.js:497
    await mkdir(dirname(path), { recursive: true })
  • 写入本地文件
    dsh-usage-lens/lib/pricing-sync.js:499
    await writeFile(temporary, JSON.stringify(value, null, 2), 'utf8')
  • 写入本地文件
    dsh-usage-lens/lib/pricing-sync.js:500
    await rename(temporary, path)
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的会话内嵌用量与进程透视插件:JSONL token 账本、轮次与步骤归因、按天计价、输入框状态胶囊和详情面板。

README

由 DeepSeek 最新模型翻译生成
dsh-usage-lens 一个用量与过程可观测性插件,内嵌在 DeepSeek Harness(DSH)会话界面里:状态条显示今日 token 与花费,点开是「本次询问明细 / 今日用量 / 执行过程」三块面板,底层是一份按次调用的 JSONL 账本。 English — dsh-usage-lens is a plugin for DeepSeek Harness: it intercepts llm/stream, settles one JSONL ledger row per assistant call from the provider's authoritative usage, attributes calls to real turn/step through session/event, prices each Beijing calendar day with an overridable table, and renders one status cell in the shipped composer stats row plus a three-block detail panel (this turn, today, execution process). 451 self checks, no dependencies, MIT. Desig
展开完整文档(README 剩余 1 节)
dsh-usage-lens

一个用量与过程可观测性插件,内嵌在 DeepSeek Harness(DSH)会话界面里:状态条显示今日 token 与花费,点开是「本次询问明细 / 今日用量 / 执行过程」三块面板,底层是一份按次调用的 JSONL 账本。

English — dsh-usage-lens is a plugin for DeepSeek Harness: it intercepts llm/stream, settles one JSONL ledger row per assistant call from the provider's authoritative usage, attributes calls to real turn/step through session/event, prices each Beijing calendar day with an overridable table, and renders one status cell in the shipped composer stats row plus a three-block detail panel (this turn, today, execution process). 451 self checks, no dependencies, MIT. Design notes are in dsh-usage-lens/README.md.

- 不新增独立窗口:状态条嵌在 DSH 自带的 conversation.composer.dock 统计行右侧,不新增行。
- 账本只存 token 分桶与元数据,不存金额;金额按当前价格表在渲染时计算,所以调价会回溯历史,而不是篡改历史。
- 一次 assistant/message 调用 = 一条账本记录;token 以服务商上报的 usage 为准,绝不累加 assistant/chunk 里的片段。
- 每日按北京时间自然日切分,峰谷按北京时间规则判定。

四个切片做了什么

| 切片 | 内容 |
| 1 | llm/stream 拦截 → 真实 usage 结算 → JSONL 账本 → 状态条「今日 token / 今日花费」 |
| 2 | 接入 session/event:真实 turn/step 归属 + 按轮聚合卡与逐次展开 |
| 3 | 「执行过程」:吸顶置顶层(技能加载 / 工具失败 / 审批拒绝 / 子代理)、折叠过程流、按需原始层;技能以冻结请求为准交叉验证 |
| 4 | 「今日用量」:24 小时堆叠趋势、缓存命中率、请求次数、会话累计;价格表覆盖与「自定义价格」标注;按大小轮转账本 |

详细设计与内部约定见 dsh-usage-lens/README.md,最初的开发约定见 AGENTS.md。

目录

dsh-usage-lens/ 插件本体(Host 半边 index.js + lib/,Client 半边 client.js) lib/ time · pricing · ledger · day · turns · skill-parse · aggregator
· process · http · 三条路由 · stream-interceptor test/ 10 个套件,451 项自检(node test/.test.mjs,无框架) locale/ icon.svg 插件管理页的标题/描述/图标 tools/ 独立核对脚本(手算对账、会话日志比对、现场查看) AGENTS.md 项目约定(硬性口径与模块划分)

安装

这是一个本地 bundle,用 DSH 的插件管理器安装(不要手写配置档的 package.json):

plugin_manager install_bundle target = <仓库目录>/dsh-usage-lens

装好后刷新一次页面。状态条出现在输入框下方那条窄信息行的最右端,形如 ◔ 今日 188M tok · ¥6.19,点它展开面板。

配置

写进配置档的 cordis.patch.yml,保存即热重载:

- id: usage-lens
name: dsh-usage-lens
config:
ledgerDir: 'F:\Users\me\.dsh\usage-lens' # 默认 <DSH_HOME>/usage-lens ledgerMaxBytes: 8388608 # 按大小轮转;0 = 只按月 timeZone: 'Asia/Shanghai' pricing: version: 'team-2026-11' # 声明了版本就按它标注
holidays: ['2026-10-01'] # 法定节假日不算高峰
models:
deepseek-v4-pro:
peak: { output: 27 } # 部分覆盖内置快照
'acme/*':
offPeak: { cacheHit: 0, cacheMiss: 3, output: 9 }
deepseek-flash: null # 删除条目 → 该模型变未定价

未声明版本却改了价格,UI 标注为「自定义价格」,不会冒充内置版本;未定价模型的 token 照常统计、花费显示「未定价」,总额标注为下界(≥)。

数据

- 账本:<DSH_HOME>/usage-lens/ledger-YYYY-MM.jsonl(活跃)+ ledger-YYYY-MM.NNNN.jsonl(轮转归档,只读)。
- 轮转不丢历史:查询层按「归档(旧→新)→ 活跃文件」顺序读完整月。

自查

插件自检(10 个套件 / 451 项)
node dsh-usage-lens/test/logic.test.mjs
node dsh-usage-lens/test/interceptor.test.mjs
node dsh-usage-lens/test/turns.test.mjs
node dsh-usage-lens/test/process.test.mjs
node dsh-usage-lens/test/day.test.mjs
node dsh-usage-lens/test/client-render.test.mjs
node dsh-usage-lens/test/panel.test.mjs
node dsh-usage-lens/test/process-ui.test.mjs
node dsh-usage-lens/test/today-ui.test.mjs
node dsh-usage-lens/test/pricing-sync.test.mjs

独立核对(不导入插件代码)
node tools/check-day.mjs "<DSH_HOME>/usage-lens" # 用硬编码价格表手算,与接口对账
node tools/check-today.mjs # 日折叠 + 账本分段
node tools/check-turn.mjs <sessionId> [turn] # 卡片 vs 展开行求和
node tools/check-process.mjs <sessionId> # 置顶层 + 过程流
node tools/verify-turns.mjs <ledger> <session.v4.jsonl.zstd>
node tools/verify-ledger.mjs <ledger> <session.v4.jsonl.zstd>

已知限制

- 「执行过程」的工具名、输入输出摘要、Skill 正文是内存索引:Host 重载后会丢(token 与 turn/step 仍在账本里)。
- 原始层有硬上限:参数 4 KB、结果与 Skill 正文 8 KB,超出标记 truncated。
- 节假日表默认空,因为不猜国务院日历。
- 自动价格同步默认关闭(保持「不联网」的原默认);需在 pricing.sync 显式开启,详见插件说明。

License

MIT
预览分享卡片长什么样 ↓ahn66/dsh-usage-lens
分享 · DeepSeek Harness Hub
ahn66/dsh-usage-lens

一个用量与过程可观测性插件,内嵌在 DeepSeek HarnessDSH会话界面里:状态条显示今日 token…

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部