前言¶
DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。插件開發者常需要在開發過程中實時監控 DeepSeek 的計費時段(高峯/低谷)以及當前 Agent 的運行狀態。DeepSeek Pet 是一款由 kuixiu 維護的趣味插件,它在界面右下角常駐一個 Q 版電子寵物,並集成實時的價格提示與 Agent 狀態監聽。
功能¶
該插件主要包含以下功能:
- 右下角常駐浮層:註冊在
shell.overlay,使用position: fixed落在右下角,且爲整幀浮層(click-through),不遮擋主界面交互。 - Q 版小動物與動畫:使用內聯 SVG 繪製小貓,通過純 CSS 實現呼吸浮動、尾巴搖擺、耳朵抖動、定時眨眼以及被摸頭時冒愛心等動畫效果。
- 高峯與低谷提示:徽章實時顯示當前處於高峯期還是低谷期。低谷期圓點會呼吸閃爍,並顯示距下次切換的倒計時。
- 多時區對照:面板同時展示北京時間(UTC+8)、本地時間和 UTC 時間,並給出下次切換的具體時刻。
- 節假日與換季:內置 2026 年中國法定節假日表。週末與法定節假日全天按低谷期計算;節假日表過期時可手動勾選“今天是節假日”強制按低谷期顯示。
- 養成數值:擁有飽食度、心情、精力三個數值,隨真實時間衰減(最多累計 48 小時)。餵食、摸頭、玩耍、睡覺會改變數值並提升羈絆計數。數值存儲在
localStorage中。 - 跟隨 Agent 狀態:讀取當前會話的實時狀態(
running、pendingInteraction、completionUnread),據此改變小貓的表情和氣泡:正在工作(專注表情+閃爍)、等待操作(擔心表情)、本輪完成(開心+冒愛心,持續 4 秒)。 - 交互與記憶:支持按住拖動位置,位置會自動保存到
localStorage;面板裏可一鍵復位到右下角。雙擊寵物可隱藏爲 🐾 按鈕,隨時點擊恢復。 - 中英雙語:通過
ctx.locale註冊字典,跟隨 Harness 的語言設置。
高峯與低谷規則¶
插件依據 DeepSeek 官方文檔(Models & Pricing)判斷時段:
- 高峯時段:北京時間週一至週五(不含中國法定節假日)的 09:00 - 12:00、14:00 - 18:00。
- 低谷時段:其餘全部時間,包括週末及中國法定節假日全天。
- 實現細節:代碼在
Asia/Shanghai時區進行判斷,避免使用 UTC 判斷周幾導致的日期不一致問題。2025 年的舊規則(夜間錯峯)已失效。
安裝與啓用¶
從 npm 安裝:
dsh plugin --profile desktop add @kuixiu/dsh-pet
或在 Harness 中通過 Agent 調用:
plugin_manager action=install_bundle target=@kuixiu/dsh-pet
注意事項:
1. 首次生效:安裝後需要刷新一次頁面才能看到效果。
2. Client Bundle:client bundle 由 client-modules 在首次請求時構建並緩存到 /plugins/<id>/client.js,因此刷新後若未生效,請重啓一次宿主進程。
本地開發¶
克隆倉庫並驗證:
git clone git@github.com:kuixiu/dsh-pet.git
cd dsh-pet
node verify-all.mjs
本地掛載調試:
dsh plugin --profile desktop add "$PWD"
開發注意:
* 本插件是純手寫 JavaScript,沒有構建步驟。client.js 即爲瀏覽器執行的 factory 格式。
* 提交前務必運行 npm run verify(等同於 node verify-all.mjs)。
注意事項¶
- 包名一致性:
package.json的name、cordis.patch.yml的 loader 行name、client.js裏的模塊 id 必須完全一致。三處不一致會導致瀏覽器端 bundle 找不到模塊。 - npm Scope 語義:
@scope是 npm 的組織/發佈域,不是個人用戶名。發佈 scoped 包必須顯式使用--access public參數。 - 持久化修復:早期版本存在存檔解析錯誤導致
undefined或NaN顯示的問題。當前版本已通過sanitizePet和finiteOr函數修復,能自動修復舊存檔並防止數值異常。
結語¶
DeepSeek Pet 提供了一個可視化的成本監控與 Agent 狀態反饋工具。對於需要在 DSH 中長期使用 DeepSeek API 的開發者來說,能夠直觀看到價格波動和當前會話狀態,有助於優化使用策略。