前言¶
在使用 DeepSeek Harness 进行模型推理时,开发者需要实时了解每条回答的成本、会话总费用、缓存节省情况以及上下文占用。现有做法通常需要打开网页控制台、查看日志或手动计算,这些步骤割裂且不够直观。dsh-ledger-kitty 将这些信息浓缩在一个窗口角落的白色小猫身上,通过可视化的方式呈现。
这是什么¶
dsh-ledger-kitty 是一个运行在 DeepSeek Harness 窗口角落的白色小猫,它既是装饰性的宠物,也是实时的成本会计。由 LexVolkov 维护,属于模型推理类插件。小猫通过一套会计卡片显示每条回答的费用、整个会话的费用、提示缓存节省的金额、上下文大小以及剩余余额。
核心功能¶
会计卡片¶
每轮对话结束后,小猫会显示一张收据,包含以下信息:
- 当前回答的 token 数和费用
- 当前会话的总费用
- 提示缓存节省(
cacheReadTokens × (miss − hit)) - 上下文大小(token 数和占 1M 窗口的百分比)
- 剩余余额
卡片通过 GET /dsh-ledger-kitty/state?session=<id> 获取数据,返回示例:
{
"ok": true,
"balance": {
"CNY": 41.2,
"USD": null
},
"balanceReason": "ok",
"rates": {
"USD": 0.14
},
"ratesReason": "ok",
"session": {
"tokens": 1204000,
"cost": 0.82,
"saved": 0.25,
"last": {
"tokens": 12480,
"cost": 0.013,
"context": 400000
}
},
"peak": false,
"nextChangeAt": 1792770000000,
"contextWindow": 1000000
}
费用计算基于 durable usage(inputTokens、cacheReadTokens、outputTokens)乘以 CNY 价格表,工作日北京早晚高峰(09:00–12:00、14:00–18:00)价格翻倍。卡片会显示峰值倒计时(如“непик · через 1 ч 15 мин”)。
货币与汇率¶
卡片默认显示 CNY 余额,余额来自 ctx.deepseekAccount.getBalance()(DSH 账户登录,无需 API Key)。设置中可选择显示货币,插件通过 https://open.er-api.com/v6/latest/CNY 获取实时汇率,缓存 6 小时并包含完整汇率表。如果汇率请求失败,则保留上次缓存;没有报价的单位显示“—”。
交互与动画¶
- 鼠标跟随:大眼睛会跟随鼠标指针移动。
- 拖拽与吸附:可以将小猫拖到任意位置,松开后会自动吸附到最近的屏幕边缘。
- 点击显示余额:点击小猫会显示余额卡片,不弹出气泡。
- 双击打开设置:双击(两次指针抬起间隔小于 400 ms)打开设置面板,可修改货币、语言(英语 / 俄语 / 乌克兰语 / 中文)、小猫大小(0.5× / 1× / 1.25× / 1.5×)。
- 右键菜单:提供“余额”和“设置”选项。
- 空闲睡眠:60 秒无输入后小猫闭上眼睛显示“z z”,任何指针移动会唤醒它。
- 减少动画偏好:系统开启
prefers-reduced-motion时,循环动画会关闭。
代理反应¶
小猫通过 ui-session 提供的 useSessions 和 useSessionStatus 钩子监听代理状态:
- 工作中:交替拍打前爪,加快上下晃动,摇尾巴,低头看爪子,拒绝睡眠。
- 等待回答:抬起一只前爪,耳朵竖起,显示“!”徽章,气泡提示“Нужен твой ответ”(需要你的回答)。
- 完成:所有会话停止后,小猫跳一下,抛出爱心,说“Готово!”。
- 被抚摸:用光标轻触头部(无需点击),小猫闭上眼睛,摇尾巴并释放爱心,发出呼噜声(持续到抚摸结束并停止约 0.8 秒)。
- 空闲:无运行任务时恢复呼吸、眨眼和睡眠。
音效¶
所有音效均通过 Web Audio API 实时合成,无音频文件,无需下载。
| 音效 | 触发时机 | 合成方式 |
|---|---|---|
meow |
点击小猫 | 带通滤波器共振峰的锯齿波,带音高包络 |
typing |
代理工作时 | 低频正弦波(88→58 Hz),暗噪声身体(低通 1.2 kHz),小带通点击(2.4–3.1 kHz) |
receipt |
收据出现 | 两个正弦波,880 → 1320 Hz |
question |
有待回答的问题或审批请求 | 两个三角波,660 → 990 Hz |
purr |
被抚摸头部 | 26 Hz 调制滤波噪声,循环播放 |
设置面板提供“声音”按钮,可独立开关每种音效,每个音效都有预览按钮和主音量滑块。浏览器要求用户手势后才能播放音频,AudioContext 在第一次指针按下或按键时创建并恢复,否则小猫静默。
安装与启用¶
在 DeepSeek Harness 目录下执行:
dsh plugin add https://github.com/LexVolkov/dsh-ledger-kitty
插件会自动加载,小猫出现在窗口底部边缘。双击小猫可打开设置面板。
适用场景与注意¶
适合需要实时监控模型推理成本、上下文占用和缓存节省的开发者和用户。插件以当前 DSH 进程权限运行,安装前应检查源码与许可证(MIT)。该插件依赖 DSH 账户登录以获取余额,无账户时余额显示“—”。
结尾¶
dsh-ledger-kitty 通过可视化的会计卡片和拟人化的交互,将成本追踪嵌入到日常对话流程中,减少了手动查看和计算的步骤。更多细节可参考:
- 插件目录:https://www.skillhub.cn/plugins/LexVolkov/dsh-ledger-kitty
- GitHub:https://github.com/LexVolkov/dsh-ledger-kitty