前言¶
在 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。
數字從哪來¶
- 摺疊
session/event中的assistant/message.usage,與側邊欄一致:輸入 + 緩存讀 + 緩存寫 + 輸出(推理 token 含在輸出裏,不重複計)。 - 啓動時讀一次
$DSH_HOME/dsh-usage/usage-ledger.json回填,中途安裝插件時當天數字仍完整;之後每個心跳對賬,禁用插件期間漏掉的事件也會補上。 - 按本地日期跨日歸零重算。
- 子代理輪次只計 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 對賬本做一次回測即可。