whale-girl:給 DeepSeek Harness 網頁界面加一隻會升級的桌寵

前言

DeepSeek Harness(DSH)把「一切皆插件」寫進官方倉庫說明。網頁界面跑起來之後,任務完成、會話開始、等待批准、請求出錯,這些狀態大多還是落在面板和日誌裏,要盯着看才知道發生了什麼。主題與外觀這一類插件裏,換皮膚、改佈局比較常見;把工作臺本身做成一隻會動的夥伴,是另一條路。

whale-girl 走的就是後一條。它在 DSH 網頁界面右下角放一隻 QQ 寵物形態的桌寵:可以拖拽,可以投餵和玩耍,也會跟着任務、會話和陪伴時長往上攢資歷。本文按社區插件目錄頁、倉庫 README、成長系統與狀態機文檔、以及 package.json / 配置源碼交叉覈對後整理:它是什麼、能做什麼、怎麼裝、怎麼配。

需要先說清邊界:社區插件目錄(deepseek-harness-plugin.com)是獨立站點,和 DeepSeek / 幻方沒有官方從屬關係,不能當成官方應用商店。DSH 本體在 deepseek-ai/deepseek-harness

這是什麼

whale-girl 是一款面向 DSH 網頁界面的主題與外觀插件,由 vlln 維護,GitHub 倉庫爲 vlln/whale-girl。截至 2026 年 8 月 17 日,倉庫約 197 stars,許可證 MIT,主要語言 JavaScript。倉庫 package.json 裏的版本號是 0.1.0

它解決的問題很具體:在 Web GUI 裏放一隻懸浮桌寵,把 agent 工作臺上已經發生的事變成可見的動作和一份只增不減的賬本。目錄頁的定位是:

DSH 網頁界面的 QQ 寵物形態桌寵:右下角懸浮、可拖拽/投餵/玩耍的積累型夥伴。

實現形態也寫在 package.jsondsh 字段裏:官方 bundle 插件(dsh.bundle 指向 cordis.patch.yml),客戶端聲明 platform: web。也就是說,它掛在網頁端,不是終端 TUI 插件。

默認角色是「鯨魚娘」。README 寫明角色形象由 ZipZipPipe 創作(「鯨魚娘」表情包角色),sprites 基於其角色設定生成。素材清單 lib/assets/manifest.json 裏,該角色的 credit 也是 ZipZipPipe。

核心功能

右下角懸浮,可拖、可喂、可玩

裝完並重啓 web 之後,寵物出現在右下角。README 給出的基本操作是:

  • 點擊彈出菜單:🍗 餵食、🎾 玩耍
  • 拖拽可移動
  • hover 顯示狀態條:資歷等級、任務數、最近共同回憶
  • 初始配置 / 歡迎頁(onboarding)階段寵物隱藏

餵食和玩耍本身不加經驗,只觸發啃咬 / 拋接球,然後進入開心狀態,並彈出可配置的回話氣泡。成長文檔把這類互動明確寫成「純樂趣,無數值影響」。

跟着工作臺走的 15 個狀態

寵物不是循環播一段待機動畫。倉庫把行爲收成一張 15 態狀態機,角色必須爲全部 15 個狀態提供素材(缺一會被 verify-assets 門禁拒收)。README 裏的對照如下:

你做什麼 / 發生什麼 寵物表現
拖拽寵物 被斜向拉扯(drag
點擊菜單餵食 / 玩耍 啃咬 / 拋接球(eat / play)→ 開心(joy
空閒 ≥60s 打盹(sleep);互動時醒過來(wake
任務完成 / 升級 / 稱號 / 回合完成 舉手歡呼(celebrate
任務失敗 / 請求出錯 驚嚇(error)→ 失落(disappointed
新會話開始 揮手歡迎(welcome
任一會話運行 / 思考中 沉思陪伴(think,偶爾插入 working
等待批准 期待等待(wait
週期遊走 散步(walk
常態 待機(idle,隨機眨眼 / 轉身)

狀態機文檔還補了幾條轉換規則,寫文章時值得單獨記住:

  1. 拖拽優先級最高;放下後有 1.5 秒緩衝,再回到底層狀態。
  2. 失敗情緒窗口不會被新會話的歡迎蓋掉。
  3. 會話在思考或等待批准時,會壓住睡覺和散步。
  4. think 是思考陪伴的常態;working 是客戶端節奏器隨機插入的工作姿態,不是任務指示燈。

完整優先級和觸發源以倉庫 docs/state-machine.md 爲準。

積累型成長:經驗、稱號、回憶

成長系統設計成「零負反饋」:無衰減、無懲罰、無需求。失敗只計數,並播一段短暫失落,不扣資歷。權威說明在 docs/growth-system.md

經驗來源是覈實過的這幾項:

來源 XP 觸發
完成任務 +10 任務完成(頁面關閉期也不漏記)
新會話(startup) +5 agent/session-start,source 爲 startup
續接 / 延續(resume / compact / clear) +2 同上,其餘 source
活躍陪伴時長 累積 任務運行中按輪詢差分累加;單次增量封頂 5 分鐘

請求錯誤不計數、不懲罰,只觸發情緒。等級由經驗派生,公式是 xpForLevel(L) = 50·L·(L−1)/2,也就是 2 級 50、3 級 150、4 級 300。文檔寫明:level 永遠由 xp 計算,禁止手寫。

稱號是封閉集合,由統計數據冪等派生,解鎖時寫入回憶並觸發慶祝:

稱號 解鎖條件
初次協作 完成 ≥1 任務
勤勞夥伴 完成 ≥20 任務
百鍊成鋼 完成 ≥100 任務
常駐夥伴 累計活躍 ≥6 小時
越挫越勇 失敗 ≥5 次
廣結善緣 開啓 ≥10 會話

回憶是環形日誌,最多 8 條,hover 狀態條展示最新一條。多角色共用同一份賬本:資歷記的是陪伴關係,不是某個外觀。

XP 數值、等級曲線、稱號集合與閾值屬於語義層,配置門禁不允許用戶改。README 的原話是:改這些會破壞積累賬本一致性。

可換角色,行爲文法共通

菜單裏有「🎭 換角色」,也可以改 localStorage 鍵 whale-girl:character。每個角色必須提供全部 15 狀態素材;事件到動作的映射全角色共通,角色只能填資源槽,不能改觸發或優先級。

倉庫把「加角色」寫成資源級貢獻:產出 15 張 sheet 加一段 manifest 條目,不必改代碼。操作說明在 docs/adding-a-character.md,驗收命令是:

node scripts/gates/verify-assets.mjs

README 還把它標成官方 repository-plugin 格式的完整範本,結構和門禁可對照倉庫根目錄的 AGENTS.md。這是給插件作者看的,日常使用桌寵不需要讀這些。

安裝與啓用

社區目錄頁給出的安裝命令是:

dsh plugin add github:vlln/whale-girl

倉庫 README 推薦走 web profile,並釘到 main 分支(說明構建產物已入庫):

dsh plugin --profile web add "github:vlln/whale-girl#main"

也可以從本地目錄安裝:

dsh plugin --profile web add <whale-girl 本地路徑>

裝完必須重啓 web,bundle 層在啓動時合成,右下角纔會出現寵物。之後更新用:

dsh plugin --profile web update whale-girl

同樣要重啓才生效。

如需可復現安裝,目錄頁建議固定 commit 哈希,寫法是:

dsh plugin add github:vlln/whale-girl#<commit>

<commit> 換成實際哈希。目錄頁和 DSH 官方文檔都提醒:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼;安裝前應檢查源代碼倉庫和許可證。

典型用法

日常互動

重啓 web 後,按 README 的路徑即可復現:

  1. 看右下角是否出現寵物。若正停留在初始配置或歡迎頁,寵物會隱藏,進到工作臺後再看。
  2. 點擊寵物打開菜單,選餵食或玩耍,觀察啃咬 / 拋接球,以及隨後的開心動畫和氣泡。
  3. 按住拖到別處,放下後會先緩衝再回到待機或當前陪伴態。
  4. 鼠標懸停,看等級、任務數和最近一條回憶。
  5. 開一個新會話,應看到揮手歡迎;會話思考中進入沉思;等待批准時進入期待等待。
  6. 任務成功會歡呼並記賬;失敗會驚嚇再失落,經驗不扣。

空閒達到配置裏的 sleepAfterMs(默認 60 秒)會打盹。拖拽、餵食、玩耍或打開菜單都會被當成用戶在場,空閒計時從這次交互重新起算。

配置(改完熱生效)

參數走宿主 settings,寫在 /settings.yamlwhale-girl: 段,或用設置 UI。README 寫明修改後熱生效,不用重啓。倉庫給出的示例如下:

whale-girl:
  enabled: true      # 網頁端渲染開關(與桌面伴侶並存時設 false 關閉網頁端寵物,避免雙寵物)
  size: 110          # 寵物尺寸 px(64–160)
  opacity: 1         # 常態透明度(0.2–1)
  walk:
    enabled: true    # 遊走開關
  sleepAfterMs: 60000

這些默認值可以在 lib/src/config.mjs 裏對上。同一份源碼還暴露了更細的體驗層項,例如遊走間隔、遊走速度、各情緒窗口時長、餵食 / 玩耍回話文案池。語義層(XP、稱號、回憶條數上限)不在這份 schema 裏,門禁會攔住把它們配出去的改動。

enabled 專門處理「網頁端寵物和桌面伴侶同時存在」的情況:並存時把網頁端關掉,避免屏幕上出現兩隻。

適用場景與注意事項

適合這些情況:

  • 主要在 DSH 網頁界面裏跑 agent,希望任務、會話、批准等待有一眼能看見的反饋
  • 想在主題與外觀之外,給工作臺加一個可積累、只增不減的輕量夥伴
  • 準備給 whale-girl 畫新角色,或把它當作 repository-plugin 的結構範本

使用前注意下面幾條,都來自目錄頁、倉庫文檔或 DSH 官方安裝說明,不是額外發揮:

  1. 只覆蓋 web。 package.json 聲明 dsh.client.platformweb。終端或不帶 Web GUI 的 profile 裝了也不會按桌寵來用。
  2. 插件跑在當前 dsh 進程權限下。 目錄頁寫了:安裝時可能執行代碼。裝之前看倉庫和 MIT 許可證;生產或共享環境建議固定 commit,避免 main 後續推送悄悄改掉實際運行的內容。
  3. 社區目錄不是官方商店。 whale-girl 是 vlln 維護的社區開源項目。目錄站點與 DeepSeek / 幻方無官方從屬關係。
  4. 不要和皮膚插件當成同一個東西。 目錄「相關插件」裏有 dsh-deep-whale(鯨魚娘皮膚系列),那是另一套皮膚,不是這隻桌寵。
  5. 成長規則不能配。 等級、稱號、XP 來源是代碼級封閉集合。能調的是尺寸、透明度、遊走、睡眠等待和文案這類體驗層。
  6. 裝完要重啓 web。 配置熱更新只管 settings;插件本身的 bundle 合成發生在啓動時。
  7. 角色形象有署名。 默認鯨魚娘形象來自 ZipZipPipe 的角色設定,二次使用或再創作應回到倉庫致謝與許可證自行判斷。

倉庫成長文檔裏還列了一些未實現方向(例如按 token 消耗給 XP、更多稱號維度)。那些只是文檔中的規劃,當前版本不能當成已有能力。

小結

whale-girl 把 DSH 網頁工作臺收成一隻 QQ 形態桌寵:右下角懸浮,可拖拽、投餵、玩耍;任務、會話和陪伴時長會變成等級、稱號和回憶。狀態機有 15 個動作,成長賬本只增不減,配置面只開放體驗層。它解決的不是加速推理或補工具,而是讓長時間開着的 Web GUI 多一層看得見的陪伴和反饋。

相關地址:

  • 社區目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/whale-girl/
  • GitHub 倉庫:https://github.com/vlln/whale-girl
  • DeepSeek Harness 官方倉庫:https://github.com/deepseek-ai/deepseek-harness
羽毛球分组比赛记分
小程序二维码

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

小夜