前言¶
DeepSeek Harness(DSH)的 Web 界面默認是純色底,長時間盯會話時背景缺少層次。社區裏「趣味換裝」類插件會在不改動對話邏輯的前提下,給客戶端加一層視覺裝飾。下面介紹 dsh-ascii-sharks:由維護者 Timelk 發佈,在整頁透明 canvas 上跑 boid 魚羣與追獵鯊魚,主內容區疊一層可調的羽化毛玻璃,文字照常閱讀,水面在玻璃後面緩慢運動。
這是什麼¶
dsh-ascii-sharks 是 DSH 的 Client 插件(npm 包名同插件 id)。它把視口大小的 ASCII 海洋掛在 body 最底層,應用框架浮在其上;模擬與字符渲染核心來自上游項目 ascii-sharks(MIT),本倉庫負責 dsh 集成:主題換墨、頁面半透明 token、主欄 backdrop-filter 與設置頁參數。許可證爲 MIT;當前 package 版本爲 1.0.3(README 中 GitHub Release 安裝示例指向 v1.0.2 tar 包,以你實際安裝來源爲準)。
目錄頁:skillhub.cn/plugins/Timelk/dsh-ascii-sharks
源碼:github.com/Timelk/dsh-ascii-sharks
核心功能¶
已覈實的能力如下,均來自項目 README。
- 整頁背景:透明 canvas 固定在視口(
z-index: 0、pointer-events: none),不是小面板 widget。 - 跟隨主題換墨:淺色用深墨、深色用淺墨,監聽
theme/change實時切換。 - 主欄毛玻璃:對話主欄
backdrop-filter+ 半透明底襯,四邊羽化遮罩,鯊魚在玻璃後呈柔光斑塊。 - 環面海洋:鯊魚與魚羣越界從對側進入;魚羣在接縫前兩格淡出。
- 交互:可選鼠標驚擾魚羣、點擊頁面炸水花;魚羣轉向限速,字符隨航向變爲
-\|/。 - 可調參數:字符尺寸 4–14px、8 種鯊魚多選、數量與密度、遊動速度、背景濃度、玻璃模糊等,設置項即時生效。
- 省電:
prefers-reduced-motion下靜幀;頁面不可見時瀏覽器暫停requestAnimationFrame。
安裝與啓用¶
DSH 生態裏插件通常通過 plugin_manager 的 install_bundle 安裝;README 未給出 dsh plugin add github:... 形式,下面只用文檔原文命令。
1. npm(推薦)¶
在 dsh 裏讓 agent 調用 plugin_manager,或直接執行等價 JSON:
{ "action": "install_bundle", "target": "dsh-ascii-sharks" }
2. GitHub Release¶
{
"action": "install_bundle",
"target": "https://codeload.github.com/Timelk/dsh-ascii-sharks/tar.gz/refs/tags/v1.0.2"
}
安裝後刷新頁面;在 設置 → ASCII 鯊魚 中調整參數。
環境要求¶
- dsh
>=0.1.5-rc.1(Web profile) - Node
^22.19.0 || >=24.0.0(包元數據中的 engines) - 瀏覽器需支持
backdrop-filter與mask-composite(README 寫明 Chrome/Edge 120+、Safari 17.4+)
典型用法¶
- 按上一節安裝並刷新。
- 打開 設置 → ASCII 鯊魚,按需開關「顯示海洋」、拖動背景濃度、主內容毛玻璃、字符尺寸、鯊魚種類與數量、魚羣密度、遊動速度、鼠標驚擾、點擊水花等。
- 配置持久化在瀏覽器
localStorage鍵dsh.ascii-sharks.v2;改動滑桿會直接進入模擬引擎,無需重啓 dsh。
默認項摘要(完整表格見 README):
| 設置 | 默認 | 說明 |
|---|---|---|
| 顯示海洋 | 開 | 關閉則恢復不透明頁面 |
| 背景濃度 | 90% | 整層水面不透明度 8–100% |
| 主內容毛玻璃 | 8px | 0 關閉,最大 32px |
| 字符尺寸 | 6px | 4–14px |
| 鯊魚數量 | 2 | 1–6,種類至少保留一種 |
| 魚羣密度 / 遊動速度 | 100% | 相對窗口與基準速率 |
在空白會話中可看到整頁 ASCII 海洋預覽效果;項目 docs/ 下有靜態圖與動圖說明。
工作原理(簡述)¶
插件在 Host 層通過 cordis.patch.yml 註冊 bundle,在瀏覽器層以 immediately: true 的 web Client 注入對話與設置 UI 模塊。渲染層:body 首位 fixed canvas;ctx.theme.overrideTokens 把頁面背景 token 調成半透明;從 [data-composer-dock] 向上定位對話列並內聯玻璃樣式,面板切換時用防抖 MutationObserver 補回。模擬在 World(boids、鯊魚追獵、環面)與 AsciiRenderer 中完成,參數經 localStorage store 訂閱到 engine.setOptions()。
適用場景與注意¶
適合誰:希望在 DSH Web 端保留可讀性的前提下,給會話界面加動態 ASCII 背景、並願意在設置裏微調性能與密度的用戶。
應注意:
- 插件 Client 代碼在瀏覽器側運行,會改 DOM、canvas 與 localStorage;安裝前建議閱讀 源碼與 LICENSE,並知悉模擬部分歸屬見 THIRD_PARTY_NOTICES.md。
- 社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;DSH 本身遵循「一切皆插件」,本包僅爲社區貢獻之一。
- 低性能設備或不需要動效時,可關閉「顯示海洋」或依賴系統的 reduced-motion;毛玻璃與大面積 canvas 仍可能增加 GPU 負擔。
結尾¶
dsh-ascii-sharks 把 ascii-sharks 的 boid 與鯊魚渲染搬進 DSH:整頁透明海洋、主題感知墨色、主欄羽化毛玻璃,參數集中在設置頁。若需要安裝入口與 issue,見 GitHub 倉庫 與 SkillHub 目錄頁。視覺模擬的上游功勞在 stackedlol/ascii-sharks,README 也建議爲原項目點 star。