用 dsh-deep-whale 給 DeepSeek Harness 網頁界面換上鯨魚娘皮膚

前言

DeepSeek Harness(下文簡稱 DSH)把模型、工具、技能、會話、沙箱、存儲、循環、調度和 UI 都做成可替換的插件。官方說法是「一切皆插件」:Cordis 內核只負責加載、卸載和依賴,具體能力由插件提供。網頁界面因此也可以整層換掉,而不必去改 Harness 源碼。

默認 Web GUI 能完成編碼 Agent 的日常操作,截圖和演示看起來卻和官方預覽頁差不多。社區裏陸續出現了主題類插件:有人做 QQ 復古窗體,有人做 Excel 佈局,也有人把角色立繪鋪進對話區。dsh-deep-whale 屬於最後一類——它不改 Agent 循環,也不碰模型請求,只給網頁界面換一套「深海女僕工坊」皮膚。

本文按社區插件目錄頁、GitHub 倉庫 README、maid-atelier 子目錄的 package.json / skin.json / NOTICE,以及客戶端入口源碼覈對後整理:這個插件是什麼、裝哪條命令、裝完怎麼切主題,以及許可證裏必須留下的署名鏈。社區插件目錄(deepseek-harness-plugin.com)是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,不要把它當成官方應用商店。

這是什麼

dsh-deep-whale 是一套面向 DSH Web GUI 的鯨魚娘主題皮膚系列,由 Small-tailqwq 維護,倉庫地址是 Small-tailqwq/dsh-deep-whale。目錄頁把它歸在「主題與外觀」,主要語言是 TypeScript。倉庫創建於 2026 年 8 月 13 日,社區目錄收錄日期爲 2026 年 8 月 15 日。截至 2026 年 8 月 17 日,GitHub API 顯示約 1099 星;目錄頁當時展示的是 756 星,以後者作收錄快照即可,星標以倉庫頁面爲準。

它解決的問題很具體:讓 Web 界面在不改 Harness 源碼的前提下,換成帶角色背景和裝飾層的外觀。倉庫 README 寫明這是獨立分發倉庫,當前「住戶」只有一套皮膚:

皮膚 包名 說明 許可
maid-atelier(深海女僕工坊) @dsh-external/dsh-client-ui-skin-maid-atelier 雙女僕背景、深海藍蕾絲界面與 Q 版側欄 CC BY-NC-SA 4.0

skin.json 裏的英文名是 Abyssal Maid Atelier,作者字段爲 Small-tailqwq,wiring.idui-skin-maid-atelier,強調色爲 #c5a468,作用域屬性爲 data-dsh-maid-atelierpackage.json 當前版本是 0.0.1dsh.client.platformweb,對 @deepseek-ai/cordis 的 peer 依賴是 ^4.0.1

皮膚子目錄 README 把它定位成純展示層客戶端插件:宿主入口 src/index.tsapply() 是空函數,註釋寫明「Provides no host-side behavior」;真正改界面的是 src/client/index.ts。它不注入 Cordis 服務、不發出 Cordis 事件、不觸達模型請求。卸載時由 Cordis effect 銷燬器還原全部 CSS / DOM 寫入。

核心功能

下面這些能力來自 maid-atelier/README.mdskin.json 和客戶端入口,不是演示稿裏的想象功能。

亮暗兩套宮殿背景

對話區使用雙女僕工坊場景作背景。客戶端按 body 是否帶有 data-ds-dark-theme,在 MAID_ATELIER_PALACE_LIGHTMAID_ATELIER_PALACE_DARK 之間切換,背景以 cover 鋪滿、頂部居中。倉庫 README 在「效果預覽」裏放了 maid-atelier/preview/light.webpdark.webp,安裝前可以先看這兩張圖。

目錄頁也提到:亮色 / 暗色兩版預覽可以在切換前看清效果;裝好後亮暗可以跟隨系統偏好。具體是否「裝上立刻生效」,以你當前的皮膚管理方式爲準,下一節會分開寫。

裝飾層而不是改內核

skin.json 的描述和 README 一致:用深海藍、陶瓷白、長春花藍、柔金構成可熱切換的 UI 覆蓋層。客戶端還會:

  • 給可摺疊側欄加上 Q 版角色和邊角裝飾
  • 改頁面標題爲「深海女僕工坊 · DeepSeek Harness」
  • 寫入 theme-color#0b193f
  • document.head 追加一枚 PNG favicon

素材嵌進 client bundle(數據 URI)。README 明確寫:激活不依賴臨時文件、遠程 URL 或額外的資源服務器。源碼裏對應的是 art.tsbackground-art.generated.tschrome-art.generated.tsworkspace-art.generated.ts 這幾份生成文件。

按頁面狀態收放角色

README 對佈局的約定是:

  1. 着陸頁角色隨響應式輸入框縮放
  2. 進入對話後,角色移向安全邊緣
  3. 軌跡(Trajectory)/ 檢查視圖保持着陸構圖

客戶端用一組 data-maid-* 屬性投影這些狀態,例如是否處於活動對話、設置頁是否打開、是否存在 [data-dsh-better-sidebar]。源碼註釋還寫了:側欄寬度寫進獨立 stylesheet,而不是改 body 的 inline style,避免觸發 Chrome autofill 的 MutationObserver。沒有加速 WebGL 時會打上 data-maid-low-power。這些都是實現細節,日常使用不必改配置。

加載即掛上,卸載即還原

cordis.patch.yml 往 web 插件名冊插入一條:

  • id: ui-skin-maid-atelier
  • name: @dsh-external/dsh-client-ui-skin-maid-atelier

客戶端 apply(ctx)ctx.effect 註冊銷燬器:去掉 data-dsh-maid-atelier、還原 CSS 變量、刪掉皮膚自己插入的節點、恢復原來的 document.title。README 的說法是「加載即生效、卸載即復原」,並註明與皮膚中心 / dsh-skin 的互斥切換兼容。

安裝與啓用

安裝前請先有一份能跑起來的 DSH Web 界面。官方快速體驗是:

npx @deepseek-ai/dsh web

源碼安裝則克隆 deepseek-ai/deepseek-harness。DSH 仍處於開發者預覽,核心插件和 API 會繼續變。

目錄頁給出的命令

社區目錄頁的安裝命令以頁面原文爲準,在 DeepSeek Harness 終端裏運行:

dsh plugin add github:Small-tailqwq/dsh-deep-whale

如需可復現安裝,目錄頁要求固定 commit 哈希:

dsh plugin add github:Small-tailqwq/dsh-deep-whale#<commit>

<commit> 換成倉庫裏實際的提交哈希,不要照抄佔位符。

目錄頁同時提示:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前應檢查源代碼倉庫和許可證。

倉庫 README 的兩種裝法

根目錄 README 還提供了另外兩條路徑。

1、對 DSH 直接說(倉庫稱爲「懶人版」):

安裝一下這個皮膚包:https://github.com/Small-tailqwq/dsh-deep-whale

2、本地克隆後,把 maid-atelier 子目錄加進 web profile:

git clone https://github.com/Small-tailqwq/dsh-deep-whale
cd <harness>
dsh plugin --profile web add ../dsh-deep-whale/maid-atelier

<harness> 是你的 DeepSeek Harness 工作目錄。第二條命令指向皮膚成品目錄,而不是倉庫根目錄;該目錄帶有 package.json、預構建的 lib/skin.json

maid-atelier/README.md 裏曾出現 git clone https://github.com/dsh-external/dsh-deep-whale。當前公開倉庫所有者和目錄頁安裝命令都是 Small-tailqwq/dsh-deep-whale,克隆時以後者爲準。

典型用法

看預覽再決定

倉庫根 README 用表格放了亮色、暗色兩張預覽圖,路徑分別是:

  • maid-atelier/preview/light.webp
  • maid-atelier/preview/dark.webp

目錄頁的使用場景也建議先看預覽:這套畫風偏精緻角色立繪,不喜歡可以在同一分類裏看別的主題,不必先裝再卸。

裝完之後怎麼切到這套皮膚

不同文檔寫的入口不完全一樣,按來源分開用:

  1. 皮膚子目錄 README:加載即生效,卸載即復原;wiring.idui-skin-maid-atelier
  2. 社區目錄頁:裝好後在主題區選擇;亮 / 暗兩版可以跟隨系統偏好。
  3. 若你另外裝了皮膚管理類插件(例如社區裏的 dsh-skin-manager),其 README 的流程是:打開 Settings → Skins,列表裏會出現已安裝皮膚(示例名稱就是「深海女僕工坊 / maid-atelier」),點 Apply,按提示 Refresh。選 Default 則禁用全部皮膚、回到 DSH 原外觀。dsh-deep-whale 本身並不捆綁皮膚管理器。

沒有皮膚中心時,以目錄頁的「主題區」和 README 的加載 / 卸載爲準,不要把第三方管理器的菜單結構當成這個倉庫自帶的界面。

開發構建(一般用不到)

本倉庫只分發皮膚成品(含預構建 lib/),不包含腳手架。根 README 寫腳手架來自 zhu1090093659/dsh-web-uimaid-atelier/README.md 寫開發構建要到該腳手架倉庫的 skins/maid-atelier/ 下進行:

cd <dsh-web-ui>/skins/maid-atelier
pnpm build          # 重新生成素材嵌入 + tsdown 構建 lib/
pnpm test           # apply.spec.ts 行爲測試

只想換外觀的話,不必走這條路徑。把構建產物 lib/ 提交回 dsh-deep-whale 纔是一次皮膚更新。

適用場景與注意事項

適合這些情況:

  • 已經在用 dsh web,希望截圖、教程、社區帖的界面有固定辨識度
  • 團隊或個人想給 Web 界面統一成同一套角色皮膚
  • 只改外觀、不希望皮膚插件插入服務或改模型請求

不適合這些情況:

  • 需要商業使用。倉庫和 maid-atelier/LICENSE 均爲 CC BY-NC-SA 4.0(署名、非商業性使用、相同方式共享),README 寫明禁止商業性使用
  • 只在終端 / TUI 裏用 DSH,不用 Web GUI。package.json 把平臺標成 web
  • 指望它增強 Agent 能力。它不提供工具、技能或模型適配

許可證還有一條必須遵守的署名鏈,寫在 maid-atelier/NOTICE 裏。皮膚素材是三創:

  1. 一創 上善Pixiv):鯨魚娘角色形象原作
  2. 二創 ZipZipPipe / zipzipPixiv):在原作上加入 DeepSeek 元素的女僕鯨魚娘二次設計(NOTICE 寫明生成模型爲 GPT Image 2)
  3. 三創 Small-tailqwq:本皮膚使用的 DeepSeek 元素再設計

完整許可文本在 maid-atelier/LICENSE。倉庫 README 要求:反饋問題儘量開 GitHub Issue,不要去聯繫上面兩位原作;想看鯨魚娘二創可以自行關注他們的主頁。

另外幾條實踐上的限制:

  • 插件以當前 dsh 進程權限運行。即使這是展示層皮膚,安裝前仍應瀏覽倉庫源碼和許可證
  • 客戶端會改 document.title、favicon 和 theme-color;卸載後銷燬器會按保存的原值還原
  • 源碼裏出現了對 [data-dsh-better-sidebar] 的適配選擇器,說明它可以和側欄增強類插件共存,但共存效果以你本機實際界面爲準,倉庫沒有提供一份「已驗證插件組合」清單
  • DSH 和社區皮膚腳手架都還在快速迭代,0.0.1 這種版本號說明成品仍早;界面 DOM 結構一變,皮膚選擇器可能對不齊

小結

dsh-deep-whale 把 DSH「UI 也是插件」這件事做得很直接:當前只分發 maid-atelier 這一套深海女僕工坊皮膚,包名是 @dsh-external/dsh-client-ui-skin-maid-atelier,在網頁裏鋪雙女僕背景和裝飾層,不介入 Agent 循環。安裝用目錄頁命令:

dsh plugin add github:Small-tailqwq/dsh-deep-whale

或按 README 把 maid-atelier 子目錄加進 web profile。使用前看清 CC BY-NC-SA 4.0 和 NOTICE 裏的署名鏈,非商業場景再裝。

目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-deep-whale/

GitHub:https://github.com/Small-tailqwq/dsh-deep-whale

羽毛球分组比赛记分
小程序二维码

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

小夜