dsh-i-am-rich:在 DSH 里把每次模型请求真的发两份,并如实记浪费的 Token

前言

在 DeepSeek Harness(DSH)里跑 agent loop 时,模型调用是按 provider 用量计费的。多数插件的目标是省 Token、控成本或优化推理路径。若你关心的是「调用链上到底发生了什么、provider 报了多少用量」,而不是再叠一层估算,有时反而需要一种行为完全透明、账本只认 provider 报告的玩法。

下面介绍社区插件 @studyzy/dsh-i-am-rich(仓库 studyzy/dsh-i-am-rich,目录页 SkillHub)。它属于「模型推理」类插件,维护者为 studyzy。设计灵感来自「买两碗豆浆、喝一碗倒一碗」的段子:每次模型请求真的多发一份(或多份),第二份完整收完后直接丢弃,并在侧边栏用 provider 报告的用量统计今日、本月、累计「浪费」了多少 Token。这不是模拟或估算——第二份请求会经网络发出并被计费。

这是什么

dsh-i-am-rich 是 DeepSeek Harness 的 Cordis 插件,npm 包名 @studyzy/dsh-i-am-rich,当前版本 1.0.0,MIT 许可证。一句话定位:真的花掉多出来的那份调用费,并诚实地把浪费数字显示出来。

一次模型请求在插件启用时的结构如下:

一次模型请求
    ├─ 第 1 份 ──> 正常返回给 agent loop(实际使用的回复)
    └─ 第 2 份 ──> 完整收到后扔掉
                     └─> 记录 provider 报告的真实 usage
                              └─> 侧边栏:今日 / 本月 / 累计浪费 Token

浪费记录写在插件自有目录 ~/.dsh/i-am-rich/(按月 JSONL),不写入 DSH 会话日志。

核心功能

重复派发与丢弃份数

默认每次请求除正常那一份外,再额外完整执行 discardedCopies 次调用并丢弃结果(默认 1,即发两份扔一份)。可通过配置关闭重复发送,或调整丢弃份数。

富豪程度:千万富翁与亿万富翁

fortune 决定「扔掉的那一份」在计费上的差异,不在于发几份,而在于第二份请求的提示词前缀是否相同:

档位 第二份请求 缓存 计费特点
millionaire(千万富翁) 与原请求相同(同一请求对象) 通常命中 按缓存读取价
billionaire(亿万富翁) 在 system prompt 开头写入当前时间戳 必然不命中 按缓存写入价(输入更贵)

亿万富翁档会克隆请求并只改 system 消息文本块头部,原请求保持 deep-freeze 不变;插件用 WeakSet 标记自派发请求,避免在 llm/stream waterfall 里无限递归。无 system 消息或无 llm 服务时会降级为「照发第二份、不改前缀」,仍是真实计费调用。

状态条与统计口径

状态条位于侧边栏左下角、用户名上方。数字仅来自 provider 报告的 usage,不做估算。呈现时只统计缓存未命中的输入 + 生成输出;缓存命中/写入相关 token 仍完整写入账本,但不计入侧边栏「浪费」展示,避免把蹭缓存的副本算成挥霍。

三个口径由客户端按本地日历从按天分桶的账本投影:

口径 含义
今日 本地日历当天
本月 当前自然月合计
累计 全部有记录日期之和

默认只显示今日一行;悬停展开三行。侧边栏收起时宽度不足,仅显示缩写数值,详情在 tooltip。可在展开面板顶部切换富豪档位,写入 profile 的 cordis.patch.yml(需 Host 提供 configEditor)。

安装与启用

插件已发布到 npm。在对应 profile 下执行(将 <你的 profile> 换成实际 profile 名):

dsh plugin --profile <你的 profile> add @studyzy/dsh-i-am-rich

注意:内置 desktop profile 由 Electron 应用独占管理,上述命令若指定 desktop 会被拒绝;要装进 desktop 需用应用自带的 runtime/cli/bin/dsh,或编辑 ~/.dsh/profiles/desktop/package.json 并做收敛。

安装后需把插件条目合进 profile 的 cordis.patch.yml,id 必须为 i-am-rich(旧 id rich-person 不会匹配,禁用等配置会静默失效):

- insert:
    - id: i-am-rich
      name: '@studyzy/dsh-i-am-rich'

从源码安装时,在仓库内 pnpm install 与 pnpm run build 后,可用 link: 指向本地路径:

dsh plugin --profile <你的 profile> add link:/path/to/dsh-i-am-rich

运行环境要求 Node ^22.19.0 || >=24.0.0(见 package.json engines)。

配置

在 cordis.patch.yml 中为该插件增加 config 段,例如:

- id: i-am-rich
  name: '@studyzy/dsh-i-am-rich'
  config:
    enabled: true
    discardedCopies: 1
    fortune: millionaire
字段 类型 默认值 含义
enabled boolean true 是否重复发送;为 false 时仍加载插件与状态条,但不再额外花钱
discardedCopies number 1 每次请求额外丢弃几份
fortune millionaire | billionaire millionaire 富豪程度,见上文

典型用法与适用场景

典型用法:在已配置 DSH profile 与模型 provider 的开发环境中安装并启用插件,正常对话或跑 agent;观察侧边栏浪费统计,按需将 enabled 设为 false 停止摆阔,或调高 discardedCopies、切换 billionaire 观察计费差异(会真实增加 provider 账单)。

适合谁:需要在真实 harness 里验证「双份请求 + provider usage 入账」行为的开发者;或对 Token 计费、提示词缓存前缀机制做实验的人。它不是成本优化工具,而是刻意加倍调用并记账的趣味/实验插件。

务必注意:

  1. 插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证,确认可接受真实多倍 API 费用。
  2. 丢弃的请求会真实计费;discardedCopies 与 fortune: billionaire 会显著改变浪费幅度。
  3. SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;安装命令以 README 与 npm 包为准。

结尾

dsh-i-am-rich 把「发两份、扔一份」做成真实的 LLM 调用与 provider 账本:行为是段子,统计只认 provider 报告的用量。若要在 DSH 里试这一插件,可从目录页 studyzy/dsh-i-am-rich 进入说明,或直接查看 GitHub 仓库 的安装与配置细节。

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

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

Xiaoye