dsh-whale-celebration:任務完成時,讓 DeepSeek 鯨魚在頁面底部噴水 3 秒

前言

用 DSH 掛長任務時,Web GUI 通常縮在後臺標籤頁裏。任務什麼時候跑完,要麼一直盯着狀態,要麼反覆切回來刷新。這類「完成提示」屬於純界面層的增強,按 DSH「一切皆插件」的思路,不必改動 DSH 源碼,裝一個插件就能加上。下面介紹的 dsh-whale-celebration 做的就是這件事:根代理完成任務變 idle 時,頁面底部躍出一隻 DeepSeek 官方鯨魚噴水,持續 3 秒後沉入屏幕。

這是什麼

dsh-whale-celebration 是一個 DSH Web 插件,由 kob-repo 維護,代碼採用 MIT 許可。它監聽 agent 狀態變化,只在根代理(用戶直接對話的 agent)從 running 變爲 idle 時播放慶祝動畫,子代理完成不觸發。整段動畫不佔用交互層,浮層設置了 pointer-events: none,不會攔截任何點擊。

核心功能

  • 官方鯨魚圖標:logo 路徑取自 deepseek-harness 官方倉庫(MIT)
  • 噴水動畫:水柱加飛濺水滴,整體 3 秒,時序爲 0.4s 躍起 → 噴水 → 2.5s 沉入
  • 並排慶祝:短時間內連續完成多個任務時,最多 3 只鯨魚同時噴水
  • 主題自適應:配色跟隨 CSS 變量 --dsw-alias-brand-primary,亮/暗模式自動適配
  • 不擋操作:浮層 pointer-events: none,不攔截任何點擊
  • 精準觸發:僅根代理完成時慶祝,子代理(subagent)完成不觸發

工作原理

插件由 Host / Client 兩個半身組成:

1、Host 半身運行在 DSH 進程內:監聽 agent/status 事件,根代理 running → idle 記爲一次任務完成;對外提供 GET /api/whale-celebration/state 輪詢接口,取走待播次數並清零。

2、Client 半身運行在瀏覽器:註冊在 shell.overlay 全局浮層,每 0.9s 輪詢一次 Host,拿到完成信號後播放鯨魚噴水動畫。

安裝與啓用

先從 npm 安裝:

dsh plugin --profile web add dsh-whale-celebration

--profile 後面換成你自己的 profile 名。也可以直接從 GitHub 倉庫安裝:

dsh plugin --profile web add git+https://github.com/kob-repo/dsh-whale-celebration.git

包內聲明瞭 dsh.bundle,安裝時會自動併入 profile 的 bundle 層,不需要手工編輯任何配置文件。依賴方面,peerDependencies 要求 react ^18.2.0;client 端注入 @deepseek-ai/dsh-client-runtime,平臺爲 web。

安裝完成後重啓一次 DSH,插件即以標準 bundle 層生效。

驗證與移除

經過上面的安裝與重啓步驟後,可以用兩種方式確認插件已運行:

1、給 agent 發一個任務,任務完成後頁面底部應出現鯨魚噴水 3 秒;

2、直接訪問 http://localhost:3080/api/whale-celebration/state,返回 {"count":0} 即表示 Host 半身已運行。

不想用了就移除:

dsh plugin --profile web remove dsh-whale-celebration

移除後重啓一次 DSH 完成清理。瀏覽器端的動畫會隨移除即時消失,頁面如有殘留,刷新一次即可。

自定義動畫

想調整鯨魚大小、顏色或噴水效果:

1、打開插件目錄下的 lib/client.js

2、修改樣式 .ds-whale-item@keyframes ds-*

3、重啓 DSH。

行爲細節

  • 多標籤頁不會重複播放:待播計數被任一標籤頁輪詢取走即清零,一次完成只播放一次。
  • 瀏覽器關閉期間完成的任務會補播一次,待播計數最多累計 12 次。
  • 子代理完成任務沒有反應是設計如此:只慶祝用戶直接對話的根代理,避免打擾。

適用場景與注意

適合長時間掛着 DSH 跑任務、不想一直盯着屏幕確認完成的用戶——鯨魚一出現,就說明當前對話的根代理已經空閒。

兩點注意:

  • 插件以當前 dsh 進程的權限運行,安裝前應檢查源碼與許可證。代碼採用 MIT 許可;鯨魚圖標路徑來自 deepseek-harness(MIT),僅作展示用途,DeepSeek 品牌與 logo 歸其所有者所有。
  • 這是一個本地外部插件,不改 DSH 源碼,卸載也只需一條命令加重啓。

小結

dsh-whale-celebration 功能很小,解決的是一個很具體的問題:不用盯着屏幕,也能一眼知道任務完成了。裝上、重啓,下一次任務結束時鯨魚就會從頁面底部躍出來。

  • 社區插件目錄(獨立站點,與 DeepSeek、幻方無官方從屬關係):https://www.skillhub.cn/plugins/kob-repo/dsh-whale-celebration
  • 源碼倉庫:https://github.com/kob-repo/dsh-whale-celebration
羽毛球分组比赛记分
小程序二维码

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

小夜