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 對賬本做一次回測即可。

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

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

小夜