前言¶
DSH(DeepSeek Harness)的 Web 界面背後本來是一塊不透明背景。這個插件在 z-index:-1 掛一張 position:fixed 的全屏 canvas,再把界面自己的背景 token 調成半透明玻璃——於是海、光點、水母、鯨魚就從界面底下透出來了。
插件定位¶
- 名稱:dsh-whale-pond
- 維護者:wenwubei5
- 分類:趣味換裝
- 倉庫:https://github.com/wenwubei5/dsh-whale-pond
- 插件目錄:https://www.skillhub.cn/plugins/wenwubei5/dsh-whale-pond
這是一個純視覺背景插件:不攔鼠標、不搶鍵盤、不碰任何業務代碼。
核心功能¶
海與光點¶
- 默認 400 顆光點在海里飄(可拉到 2100),鯨魚游過去會把它們喫掉,頭上飄一行
-1 token。 - 鼠標是一盞提燈,帶着洋流把光點往鯨魚嘴邊趕。
- 右下角有個發射區:鼠標進圈,圈裏的光點和鯨魚一起被甩出去(最遠約 4 倍圈直徑)。
控制台¶
界面右上角的小齒輪 ⚙(懸停變亮)點開就是控制台,拖動即時生效、不用刷新。設置存在 localStorage['whale-pond-settings-v1'](詞庫單獨一個鍵),面板底部「恢復默認(詞庫保留)」一鍵回默認。
控制台包含 20 個控件,分爲 10 個分組:
| 分組 | 控件 | 默認 |
|---|---|---|
| 開關 | 啓用壁紙 ☑(和右上角 ■ / ▶ 等價) | 開 |
| 看海 | 全屏屏保 · 小窗摸魚 · 回到壁紙(三個按鈕,當前生效那個亮橙) | 壁紙模式 |
| 界面 | 面板不透明度 · 畫布亮度 | 0.34 · 1.6 |
| 海 | 光點數量 · 光點速度 | 400 · 1.0 |
| 鼠標(提燈) | 洋流吸引光點 ☑ · 吸引半徑 · 吸引強度 · 顯示吸引範圍光環 ☑ | 340px · 1.0 |
| 喫光點 | 飄字「-1 token」☑ · 飄字「喫掉「詞」」☑ | 都開 |
| 詞庫 | 一行一個詞,最多 200 個 / 每個 24 字,改一下存一下 | 內建 10 個詞 |
| 右下角發射臺 | 啓用發射臺 ☑ · 圈半徑 · 距右下角 · 彈射力度 | 170px · 132px · 4.0 |
| 光點運動 | 運動方式 · 運動強度 · 呼吸燈 ☐ · 呼吸快慢 | 漂移 · 1.0 · 關 · 1.0 |
| 性能 | 內部清晰度 · 運行狀態(只讀) | 1.0 |
看海模式¶
控制台最上面「看海」組裏三個按鈕:
- 全屏屏保 —— 整片海鋪滿窗口,把界面文字全蓋住,鯨魚和光點在整屏裏遊。底部會浮出一條「點擊畫面或按 Esc 退出」的膠囊提示,5 秒後自己淡出。副屏上放着純看很合適。
- 小窗摸魚 —— 一個約 280×180 的圓角小海窗浮在右下角,界面照常能點能用;拖窗內任意處移動,拖右下角手柄縮放(280×180 ~ 560×347)。窗口一直被夾在視口裏,不會拖丟。
- 回到壁紙 —— 回到正常的「鋪滿整個界面背後」模式。
三種模式互斥,當前生效的按鈕亮橙色。這個模式本身不記憶:刷新頁面就回到壁紙模式(「啓用壁紙」那個停用開關倒是會記住)。
運動與性能¶
- 五種運動方式(漂移 / 飄落 / 上浮 / 洋流 / 漩渦)+ 呼吸燈,和鼠標吸引、發射臺疊加生效。
- 深淺色主題自動跟隨;
prefers-reduced-motion時跑 120 幀後定格;頁面隱藏時暫停。
停用與恢復¶
要認真工作、不想再看海的時候,點右上角齒輪左邊那個 ■ 就停(停用後按鈕變成 ▶、亮橙色,再點一下回來);也可以打開控制台,最上面「開關」組裏取消「啓用壁紙」。兩條路等價,狀態存在 localStorage,刷新頁面依然是停的。
它是真停,不是把畫布藏起來:
cancelAnimationFrame停掉動畫,canvasdisplay:none;- 120ms 喫光點、12s 造帶詞光點兩個定時器和補貨入口都提前返回;
- 宿主那層玻璃整份撤掉(
tokens.reset():body 的background:transparent !important與 8 個--dsw-alias-bg-*覆蓋全部移除),界面回到原本不透明的深色; - 齒輪與面板留着當入口(齒輪降到 0.3 透明度),控制台「運行狀態」會寫「已停用 · 動畫停、玻璃已撤」。
恢復時按 tokens.apply() → run() → 補齊光點數 的順序來,不會出現「海回來了但界面還是實心」的中間態。
安裝與啓用¶
前提:頁面必須是 DSH 自己的 Web 界面 —— 桌面端窗口,或者用 dsh web 起在瀏覽器裏打開,兩者都行。
插件走的是 DSH 的客戶端插件機制(window.__ModuleLoader__),所以不能當普通 <script> 塞進別的網頁;但它不是 Electron 專屬,Chromium 內核的瀏覽器裏實測正常。
方式 A:一條命令從 GitHub 直裝(推薦)¶
# 1) 先確認活動 profile —— 這個文件裏 "active" 那一項就是(常見 desktop / web)
cat "$APPDATA/DSH Desktop/profile-selection"
# 2) 用桌面端自帶的 CLI,把 GitHub 上的包直接裝進 profile(dsh 一般不在 PATH 裏)
DSH="/c/Program Files/DSH Desktop" # 換成你自己的安裝目錄
ELECTRON_RUN_AS_NODE=1 DSH_HOME="$HOME/.dsh" "$DSH/DSH Desktop.exe" \
--expose-internals "$DSH/resources/app/lib/desktop-cli.js" \
plugin --profile desktop add "github:wenwubei5/dsh-whale-pond"
plugin add 後面的參數是原樣轉給 pnpm 的,所以三種寫法都行:
| 寫法 | 例子 | 說明 |
|---|---|---|
| GitHub 簡寫 | github:wenwubei5/dsh-whale-pond |
裝當前 main 的最新提交 |
| git URL | git+https://github.com/wenwubei5/dsh-whale-pond.git |
同上,可加 #v1.0.0 釘版本 |
| 本地目錄 | "D:/code/dsh-whale-pond" |
裝成 link:,改源碼刷新即生效 |
方式 B:先 clone 再裝(想改源碼用這個)¶
git clone https://github.com/wenwubei5/dsh-whale-pond.git "D:/code/dsh-whale-pond"
# 然後照上面第 2 步,最後一段換成:
# plugin --profile desktop add "D:/code/dsh-whale-pond"
改完 src/whale_pond.html 或 src/whale_panel.js 後跑 python build/build.py 重新生成 lib/client.js(只要 Python 3 + 標準庫,沒有第三方依賴)。
新增插件包必須重啓一次 DSH(客戶端入口要重新掃描)。之後再改代碼就只要刷新頁面(Ctrl+R)。
方式 C:下載 zip(離線 / 機器上沒有 git)¶
到 Releases 下載 dsh-whale-pond-1.2.0.zip(約 50 KB,裏面是 package.json + lib/ + cordis.patch.yml + README.md + LICENSE),解壓出 dsh-whale-pond/,再把上面的命令最後一段換成那個目錄:
... plugin --profile desktop add "D:/下載/dsh-whale-pond"
zip 裏的 lib/client.js 就是生成好的產物(59,680 B),解壓即可用,不需要構建。
卸載:把上面的 add 換成 remove。
在瀏覽器裏用(不打開桌面端窗口)¶
插件跑在 DSH 的 Web 界面裏,所以只要頁面是 DSH 提供的,用瀏覽器打開效果完全一樣。桌面端自帶的 CLI 就能起一個純 Web 實例:
DSH="/c/Program Files/DSH Desktop" # 換成你自己的安裝目錄
ELECTRON_RUN_AS_NODE=1 DSH_HOME="$HOME/.dsh" "$DSH/DSH Desktop.exe" \
--expose-internals "$DSH/resources/app/lib/desktop-cli.js" \
--profile web --port 4407 --no-open
它會打印一行 http://127.0.0.1:4407/?token=…,複製到 Chrome / Edge 裏打開就有鯨魚、光點和控制台。
插件要裝進提供這個頁面的那個 profile —— 上面安裝命令裏的 --profile desktop 換成 --profile web 即可。
兩點要知道:
- 桌面端窗口自己那個端口(默認
43120)是給 Electron 渲染進程用的:瀏覽器直接開會被 DSH 的鑑權擋住(401),插件路由還帶x-dsh-desktop-renderer頭校驗。這是宿主自己的限制,跟插件無關。 - 實測用的是 Chromium 內核(Chrome / Edge);Firefox / Safari 沒測,理論上沒問題(只用到 canvas 2D、CSS 變量和 localStorage)。
適用場景與注意¶
適合對界面視覺有要求、想在工作時放一點輕鬆場景的開發者。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
短結尾¶
鯨魚遊在界面背後,光點隨洋流聚攏又散開,控制台 20 項參數實時可調。目錄頁與 GitHub 倉庫見上方鏈接。