token2rice: A DSH Plugin That Visualizes Token Consumption as Falling White Rice

前言

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

安装完成后刷新页面即可生效。

典型用法

  1. 观察掉落:随着对话进行,当 Token 消耗达到预设阈值,屏幕顶部会开始掉落白米饭。
  2. 整理画面:使用鼠标拖动掉落的碗,调整位置;或者双击碗将其删除。
  3. 批量清理:点击右下角计数牌上的漩涡按钮,或使用面板中的“清空画面”功能。
  4. 更换素材:在面板中点击“选择图片…”或直接将图片文件拖入面板,替换默认的米饭图。

适用场景与注意

  • 口径说明:默认计算 input、output、cacheRead、cacheWrite 四个桶。缓存读取通常占大头,重度使用一天可能达到数千万,因此能获得较强的视觉反馈。若希望更贴近“新算的 token”,可在设置中关闭“计入缓存 token”。
  • 显示上限:画面最多同时显示 24 碗(默认,面板可调 4-80),超出时最旧的碗会被顶掉(计数不受影响)。
  • 重启要求:宿主半边的代码改动需要重启 DSH 才能生效;浏览器半边的改动刷新页面即可。
  • 计数规则:计数自插件首次启用起算,不回溯安装之前的花费。

总结

token2rice 通过将 Token 消耗具象化,为开发者提供了一个直观的成本监控视角。配合自定义图片功能,它既是一个工具,也是一种可视化的趣味体验。

  • 插件目录:https://www.skillhub.cn/plugins/zczgagat/token2rice
  • 源码仓库:https://github.com/zczgagat/token2rice
羽毛球分组比赛记分
小程序二维码

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

Xiaoye