前言¶
DeepSeek Harness (DSH) 的插件系统允许对界面进行扩展。token2rice 是一个 Web 界面插件,由用户 zczgagat 维护。它的核心功能是将抽象的 Token 消耗数据,转化为可视化的物理现象:每攒够一定额度的 token,就会从 DSH 窗口顶端掉下一碗白米饭。
核心功能¶
插件分为宿主半边和浏览器半边。
- 宿主半边:负责数据统计。它会折叠全进程中
session/event里assistant/message的 provider 用量(input/output/cacheRead/cacheWrite),并将数据原子写入$DSH_HOME/token2rice/state.json,实现持久化。 - 浏览器半边:负责渲染与交互。它注册进窗口级浮层
shell.overlay,并在requestAnimationFrame循环中运行 2D 物理逻辑。 - 视觉表现:每攒够额度,视口顶端会生成一碗白米饭。碗具有随机朝向、自转(0~1 r/s,方向随机)和初速度(向下)。掉落后会受重力影响自由落体、落地弹跳、压扁回弹。
- 交互操作:
- 拖动:鼠标抓取碗,碗会跟随摆动,松手后根据当前速度继续飞行。
- 暴风吸入:点击计数牌左边的漩涡按钮,或把碗拖到钮上松手,碗会被吸入并缩小消失。
- 双击删除:快速清空画面上的碗。
- 计数牌:右下角显示已换碗数和 token,可拖动位置,点击可打开设置面板。
- 自定义图片:支持更换为 PNG/JPEG/WebP/GIF 图片(≤4MB)。
安装与启用¶
使用以下命令安装插件:
dsh plugin --profile desktop add github:zczgagat/token2rice
安装完成后刷新页面即可生效。
典型用法¶
- 观察掉落:随着对话进行,当 Token 消耗达到预设阈值,屏幕顶部会开始掉落白米饭。
- 整理画面:使用鼠标拖动掉落的碗,调整位置;或者双击碗将其删除。
- 批量清理:点击右下角计数牌上的漩涡按钮,或使用面板中的“清空画面”功能。
- 更换素材:在面板中点击“选择图片…”或直接将图片文件拖入面板,替换默认的米饭图。
适用场景与注意¶
- 口径说明:默认计算
input、output、cacheRead、cacheWrite四个桶。缓存读取通常占大头,重度使用一天可能达到数千万,因此能获得较强的视觉反馈。若希望更贴近“新算的 token”,可在设置中关闭“计入缓存 token”。 - 显示上限:画面最多同时显示 24 碗(默认,面板可调 4-80),超出时最旧的碗会被顶掉(计数不受影响)。
- 重启要求:宿主半边的代码改动需要重启 DSH 才能生效;浏览器半边的改动刷新页面即可。
- 计数规则:计数自插件首次启用起算,不回溯安装之前的花费。
总结¶
token2rice 通过将 Token 消耗具象化,为开发者提供了一个直观的成本监控视角。配合自定义图片功能,它既是一个工具,也是一种可视化的趣味体验。
- 插件目录:https://www.skillhub.cn/plugins/zczgagat/token2rice
- 源码仓库:https://github.com/zczgagat/token2rice