dsh-pet-quota:桌面宠物上的今日 token 额度气泡

前言

在 DSH(DeepSeek Harness)里跑智能体,侧边栏已经能看今日用量,但数字往往要切面板才注意到。若你启用了 @linxin666/dsh-pet 桌面宠物,上游在 2026-09-17 把用量类公告从内置管线里拆出去后,ctx.pet.announce 契约仍保留,却暂时没有默认发布方——气泡栈在第三方插件接入前,多半只剩会话驱动的内容。

下面介绍社区插件 dsh-pet-quota(维护者 Daizhdd,分类:趣味换装):它不改宠物源码,只通过公开接口在宠物头上挂一条「今日额度」气泡,用轻度 / 中度 / 重度三档和一个彩色圆点表达档位,不做进度条和百分比。

这是什么

dsh-pet-quota 是给 DSH 桌面宠物用的 token 额度气泡插件。它折叠当天 session/event 里的用量(口径与侧边栏用量面板一致),再通过 dsh-pet 文档化的 ctx.pet.announce() 发布气泡。

依赖 @linxin666/dsh-pet,通过其跨插件接口工作,不需要修改宠物插件代码。仓库不含美术素材,也不给第三方打补丁。许可证 MIT,当前 package 版本 0.1.0。

目录页:https://www.skillhub.cn/plugins/Daizhdd/dsh-pet-quota
源码:https://github.com/Daizhdd/dsh-pet-quota

核心功能

档位与展示

默认按今日总 token 分三档,气泡里只用一个彩色圆点表示档位:

档位 阈值(默认) 圆点 台词
轻度 < 5000万 🟢 今天很省,慢慢来~
中度 5000万 – 1亿 🟡 今天烧得有点猛了…
重度 > 1 亿 🔴 鲸吞模式,我有点热…

常驻气泡示例形态(README 示意):

常驻   ┌──────────────────────────┐
       │ 今日额度                  │
       │ 4352.1万 tok             │
       │ 🟢 轻度 · 今天很省,慢慢来~ │
       └──────────────────────────┘

除常驻额度外,插件还会在跨档、任务完成、异常等时机发事件类气泡(例如「进入中度 / 进入重度 · 鲸吞模式」「任务完成 · 本轮 +1234.5万 · 🟡 中度」等)。阈值可在设置页修改,改完立即生效,无需重启 DSH。

数字从哪来

  1. 折叠 session/event 中的 assistant/message.usage,与侧边栏一致:输入 + 缓存读 + 缓存写 + 输出(推理 token 含在输出里,不重复计)。
  2. 启动时读一次 $DSH_HOME/dsh-usage/usage-ledger.json 回填,中途安装插件时当天数字仍完整;之后每个心跳对账,禁用插件期间漏掉的事件也会补上。
  3. 按本地日期跨日归零重算。
  4. 子代理轮次只计 token、不播报,避免 workflow 里几十轮子轮次刷屏。

与宠物自带气泡的关系

本插件只发自己的公告气泡,不关闭宠物自带的「正在思考」「正在使用 xxx」等状态栈。若只想保留额度气泡,在 dsh-pet 0.4.6+ 可手动:设置 → 宠物 → 状态气泡 → 关(等价配置 statusBubbles: off)。off 只隐藏宠物会话气泡栈;本插件的公告气泡与互动反馈气泡仍会渲染。

上游「单公告槽」限制

dsh-pet 的公告契约目前只有一个公告位。若你还安装了其他公告类插件,两者气泡会互相顶掉——这是上游设计笔记里已知的待升级项(预期未来改为 map 或槽位),不是本插件单独的问题。

安装与启用

前提:当前 profile 已启用 @linxin666/dsh-pet(@linxin666/dsh-web-all 全家桶自带)。没有宠物插件时,本插件不会报错,数字照常统计,只是没有地方显示气泡。

安装命令(来自仓库 README):

# link 安装(改代码后重新启用即生效)
dsh plugin --profile <你的 profile> add link:/path/to/dsh-pet-quota

# 或发布到 npm 之后
dsh plugin --profile <你的 profile> add dsh-pet-quota

装完后刷新一次页面(加载插件的浏览器端)。本插件不含宠物素材,也不需要重扫宠物目录,原有宠物形象不变。

Node 引擎要求:^22.19.0 || >=24.0.0(见 package.json)。

配置与 HTTP 接口

设置入口:设置 → 宠物额度。可查看今日用量与档位阶梯、调整两个阈值,以及三个开关:显示额度气泡、任务完成时冒泡、长时间运行中冒泡。配置写入 $DSH_HOME/pet-quota/config.json,立即生效并跨重启保留。

命令行或脚本示例:

curl -X POST http://127.0.0.1:<port>/api/pet-quota/config \
  -H 'content-type: application/json' \
  -d '{"lowMax":30000000,"midMax":80000000}'
路由 用途
GET /api/pet-quota/today 当日用量、档位、阈值、开关、按模型分布
POST /api/pet-quota/config 改阈值与开关(越界或重度阈值 ≤ 中度阈值会被拒)
GET /api/pet-quota/boot 诊断:前端是否已进启动图、事件形状采样

典型用法

用历史账本校准阈值

不确定默认 5000 万 / 1 亿是否合适时,可在克隆或本地仓库根目录运行:

python tools/tier_backtest.py

脚本读取 $DSH_HOME/dsh-usage/usage-ledger.json,按含缓存与不含缓存两种口径分档并打印峰值。README 注明:口径必须含缓存,否则三档容易形同虚设。

自测(不碰真实 DSH_HOME)

node tools/smoke_host.mjs      # 宿主:回填、折叠、分档、圆点气泡、三类事件气泡、子代理静默、配置
node tools/smoke_client.mjs    # 前端:桩环境装配 + 渲染设置页 + 断言没有浮层注册

两个脚本使用临时目录作为 DSH_HOME,仓库 CI 亦采用同一套测试。

适用场景与注意

适合谁:已经在用 DSH 桌面宠物、希望把「今天用了多少 token、档位如何」挂在宠物附近、又不想被进度条和百分比占满气泡的用户;分类上属于「趣味换装」生态里的实用挂件。

权限与安全:插件以当前 DSH 进程权限运行,会读 usage 账本与会话事件、写 $DSH_HOME/pet-quota/config.json,并通过本地 HTTP 暴露配置接口。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系,属于 DSH「一切皆插件」社区生态。

兼容提示:旧版 dsh-pet 若无 statusBubbles 开关,只能改构建产物才能关掉自带状态气泡,本插件不提供该能力。与别的 announce 发布方并存时注意单槽互顶。

结尾

dsh-pet-quota 填的是上游为用量类公告留下的空位:同一套侧边栏口径、一个圆点三档、可选事件冒泡,安装刷新即可用。若要调整阈值或开关,走设置页或 /api/pet-quota/*;若要核对默认阶梯是否贴合自己的用量,用 tier_backtest.py 对账本做一次回测即可。

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

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

Xiaoye