前言¶
DeepSeek Harness(命令行名 dsh)把模型、工具、會話和界面都做成插件。官方倉庫 deepseek-ai/deepseek-harness 的口號是「Everything is a Plugin / 一切皆插件」:換能力改的是配置,不是框架源碼。當前仍是 developer preview,默認 Web UI 跑在本地瀏覽器裏。
網頁會話頁本身已經能看對話、看軌跡,但標題欄是靜態的。模型在思考、工具在跑、一輪剛結束,標題行右側通常沒有額外反饋。社區插件 dsh-ui-whale 做的就是這件事:在會話標題欄常駐一隻全手繪像素鯨魚,跟着會話快照眨眼、擺尾、噴水、睡覺,不改 DeepSeek Harness 核心代碼。
本文按插件目錄頁、GitHub README / INSTALL.md / package.json / LICENSE,以及 DeepSeek Harness 官方倉庫交叉覈對後整理。社區目錄 deepseek-harness-plugin.com 是獨立站點,用來發現和安裝社區插件,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。
這是什麼¶
dsh-ui-whale 是一款界面增強插件,由 GitHub 用戶 lhh010 維護,倉庫地址是 lhh010/dsh-ui-whale。npm 包名爲 @dsh-external/dsh-ui-whale,package.json 當前版本是 0.3.3,主要語言是 TypeScript,許可證爲 BSD-3-Clause。社區目錄於 2026-08-15 收錄,歸在「界面增強」。截至 2026-08-17,GitHub API 顯示該倉庫 29 星標;目錄頁當時列出 30,以倉庫頁面爲準。
README 的定位很具體:它是 DSH Web UI 的常駐像素鯨魚夥伴。小鯨魚掛在會話標題欄(標題行右側),隨會話快照即時反應,倉庫反覆強調 零核心改動。package.json 裏的客戶端元數據寫明 platform: 'web',並注入 @deepseek-ai/dsh-client-locale、@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-conversation。它使用官方 ui-conversation 聲明的槽位 conversation.session.header.actions,不另起一套界面。
它也明確寫出能力邊界。README 的 Model Experience 一節寫的是「無」:純瀏覽器端 UI 呈現,不進入模型請求、不增加提示詞內容、不改任何工具 schema。安裝說明進一步把它標成純客戶端插件包(Node half 爲空),安裝只做兩件事:讓包裝進配置樹,再在配置里加一行。
核心功能¶
倉庫把鯨魚的狀態分成幾檔,全部由會話快照推導,而不是讓模型「扮演」這隻鯨魚。
1、平時(空閒)。隔大約 5 秒眨一次眼;大約 11 秒擺一次尾巴,幀序是 0-1-2-3-4-3-2-1-0 來回;大約 7 秒動一次胸鰭,幀序是 0-1-2-1-0。這些動作是偶爾發生,不是一直在動。
2、思考 / 運行 / 工作中。尾巴持續擺動,胸鰭持續撲動,眨眼更頻繁。情緒來自會話快照裏的 running、推理 partial、運行中工具,動畫引擎是 src/client/animation.ts 裏的純 tick 狀態機。
3、回合完成。頭頂噴水慶祝。水花按單向 0-1-2-3-4-5-6 噴起散開,不反向,噴完結束。
4、點擊互動。點鯨魚時,左上角冒出一顆粉色愛心,從小變大再消失,幀序是單向 0-1-2-3-0。期間其它動作照常進行;再點一次會重新從小愛心開始。
5、睡覺。連續空閒 10 秒後入睡。頭頂灰色「Z」按 0-1-2-3-4-5-1-2-3-4-5-1-… 循環:先靜止姿態 0 一次,再上浮、漸小、淡出反覆。睡覺期間魚鰭和尾巴仍會動;一旦出現思考、工作、運行或噴水慶祝,立刻醒來。
美術實現也寫在 README 裏,不是額外包裝。素材是 22 幀手繪像素畫,畫布 25×40 網格,7 色調色板(深藍 #203864、身體藍 #0066FF、淺藍 #B4C7E7、白 #F2F2F2、粉 #CC3399、灰 #808080 用於睡眠 Z)。渲染用分層 CSS box-shadow 像素畫,身體、眼睛、尾巴、胸鰭、噴水花、愛心、睡眠 Z 各一層;動畫是固定 DOM 樹上的樣式切換,沒有逐幀改佈局。分層由幀數據自動推導,組合姿勢逐像素還原原圖,倉庫用測試釘住。演示 GIF 和完整視頻在倉庫 docs/ 目錄。
安裝與啓用¶
目錄頁給出的安裝命令如下,在 DeepSeek Harness 終端中運行即可:
dsh plugin add github:lhh010/dsh-ui-whale
dsh CLI 會從 GitHub 解析插件並裝進當前配置。目錄頁同時提醒:如需可復現安裝,請固定 commit 哈希,寫法是:
dsh plugin add github:lhh010/dsh-ui-whale#commit
把末尾的 commit 換成實際哈希。不要憑插件名稱自己拼接安裝串,以上命令以目錄頁原文爲準。
倉庫 README / INSTALL.md 補充了 web profile 通道,面向已經在跑 dsh web 的快照用戶。默認版本 v0.3.3 面向 snapshot0810(snapshots/20260810T155924Z),並寫明兼容 snapshot0807 到最終快照 snapshot0812,以及 npm 發版 @deepseek-ai/dsh@0.0.1-rc.5(dist-tag next)和 @deepseek-ai/dsh@0.0.1-rc.2。0806~0809 用戶倉庫建議固定 #v0.3.2,0805 用戶用 #v0.1.0 並走舊安裝方式。
profile 通道的完整步驟是:
git clone https://github.com/lhh010/dsh-ui-whale.git
cd dsh-ui-whale && pnpm install
dsh plugin --profile web add link:/path/to/dsh-ui-whale
也可以直接固定 tag:
dsh plugin --profile web add '@dsh-external/dsh-ui-whale@github:lhh010/dsh-ui-whale#v0.3.3'
配置行寫在 $DSH_HOME/profiles/web/cordis.patch.yml,0806 及之後的 profile 方式支持熱重載,不必爲加這一行而重啓:
- insert:
- id: dsh-ui-whale
name: '@dsh-external/dsh-ui-whale'
另外還有一條 registry 通道:前提是 DSH 已集成 plugin-registry,且 dsh registry 可用。命令是 dsh registry install /path/to/dsh-ui-whale(或打包後的 dsh-ui-whale.tgz),再執行 dsh registry enable @dsh-external/dsh-ui-whale。README 寫明 registry 通道與官方 profile 通道互斥,不要同時掛。0805 舊快照仍走 ~/.dsh/config.yaml 加 pnpm add -w link:,細節見倉庫 INSTALL.md。
前置條件也寫在安裝文檔裏:本機已有構建好的 DSH 快照(~/.dsh/source/current 指向含 lib/ 產物的快照),並且 dsh web 在運行。這是 Web UI 客戶端插件,裝到 headless 配置上不會出現那隻鯨魚。
典型用法¶
裝好之後不需要給模型下指令,也沒有額外斜槓命令。打開 Web UI 的會話頁,看標題欄右側是否出現像素鯨魚即可。INSTALL.md 給出的驗證標準是:
- 空閒時會眨眼,偶爾擺尾、動胸鰭
- 模型思考或工具運行時,尾巴持續擺動、胸鰭持續撲動
- 一個回合完成時,頭頂噴出水花(單向
0-1-2-3-4-5-6) - 點擊鯨魚時,左上角冒出一顆從小變大的粉色愛心再消失(單向
0-1-2-3-0) - 連續空閒約 10 秒後入睡,頭頂出現灰色 Z;一有活動立刻醒來
README 還提供了一條偏開發者的檢查路徑:dsh web 啓動後,瀏覽器裏 window.__DSH_BOOT__ 清單應包含 @dsh-external/dsh-ui-whale,/plugins/@dsh-external/dsh-ui-whale/client.js 應返回 200。維護者寫明在 snapshot0809~0812 以及 npm rc.5 基線上做過實機 boot 驗證。本地改源碼或升級快照後,0809 起宿主會校驗客戶端構建產物,缺失會拋 ClientPackageCompositionError 並拒絕啓動 dsh web,需要重新執行 pnpm run build。
倉庫自帶開發命令,便於覈對動畫和註冊是否完好:
pnpm install
pnpm build
pnpm typecheck
pnpm test
pnpm test 跑的是 vitest,覆蓋幀一致性、動畫序列和插件註冊。README 寫明對 0811 / 最終快照基線有 34 個單測通過。這些是倉庫文檔中的測試說明,不是第三方評測。
適用場景與注意事項¶
適合已經在用 DeepSeek Harness Web UI、希望會話標題欄多一點工作狀態反饋的人。它不提供新工具、不改提示詞、不碰 Agent 循環,只是把 running / 空閒 / 回合結束這些已有快照,翻譯成標題欄上的像素動畫。如果你主要跑 headless 或 TUI,這個插件沒有界面可掛。
需要注意下面幾件事。
第一,平臺限制是 Web。package.json 的 dsh.client.platform 是 'web',槽位依賴官方 ui-conversation。目錄裏同類的界面增強插件很多,例如側邊欄、主題皮膚、TUI,定位並不相同;本插件只負責標題欄這隻鯨魚。
第二,版本要和 DSH 快照對齊。默認 v0.3.3 把客戶端元數據從頂層 dshClient 遷到了嵌套 dsh.client,因爲 0810 的 ClientModuleHostService 只讀後者,頂層字段會被靜默丟掉,表現爲「啓動順利但插件全沒」。更早的 0805 仍要走舊安裝路徑。安裝前對照倉庫 README 的版本表,不要默認 latest 一定匹配你的快照。
第三,插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。目錄頁和技能要求都強調:安裝前檢查源代碼倉庫和許可證;需要可復現安裝時固定 commit 哈希。本插件許可證是 BSD-3-Clause,版權聲明爲 Copyright (c) 2026, lhh010。package.json 將包標爲 private: true,日常安裝走 GitHub / link,而不是把它當成已經上架的公開 npm 包。
第四,社區目錄不是官方商店。候選來自 GitHub topic 和生態註冊表,本站與 DeepSeek / 幻方無從屬、背書或贊助關係,也不託管插件代碼。帶「已覈驗」標記的條目經過人工檢查;沒有該標記的條目屬於自動篩選,不代表背書。
小結¶
dsh-ui-whale 把一隻 22 幀手繪像素鯨魚掛進 DeepSeek Harness 網頁會話的標題欄:空閒眨眼擺尾,工作時持續動起來,回合完成噴水,點擊冒愛心,連續空閒 10 秒就睡覺。它不改核心、不進模型請求,只消費會話快照。當前默認版本是 v0.3.3,維護者是 lhh010,許可證 BSD-3-Clause。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-ui-whale/
GitHub:https://github.com/lhh010/dsh-ui-whale