token2rice:將 Token 消耗具象化爲掉落白米飯的 DSH 插件

前言

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
羽毛球分组比赛记分
小程序二维码

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

小夜