前言¶
在 DeepSeek Harness(dsh)里長時間盯會話界面,默認主題往往偏「工具感」:信息清晰,但缺少和「任務正在跑」這一狀態綁定的視覺反饋。社區裏已有不少主題類插件,多數只改配色或 token,不會在 shell 層做與 running 狀態聯動的動畫。
下面介紹 maintainer undefineken 發佈的 dsh-theme-matrix-glass(GitHub:undefineken/dsh-theme-matrix-glass,社區目錄分類爲「趣味換裝」)。它在全屏 overlay 上繪製僅含 0/1 的黑客帝國式數字雨,並用 theme.overrideTokens() 疊一層磨砂玻璃 token;數字只在會話報告任務運行時才生成,停跑後不再 spawn,已有列落出畫面後清空畫布,空閒時不佔動畫成本。
這是什麼¶
dsh-theme-matrix-glass 是 dsh 的 主題插件(package 版本 1.0.1,許可證 MIT)。Host 側 index.js intentionally 爲空,行爲全部在瀏覽器 client.js 完成:註冊主題 id matrix-glass、在 shell.overlay 掛 canvas、在插件管理頁 plugins.bundle.config 提供配置卡。插件 不會 調用 setTheme(),磨砂與數字雨疊在用戶當前已選的淺色 / 深色 / 系統外觀之上。
核心功能¶
與任務運行狀態聯動的數字雨¶
數字列是否 spawn,取決於會話快照裏的 running 字段(byId[sessionId].running,優先 當前會話)。配置裏可將「運行判定範圍」改爲 任意會話。任務停止後停止生成;已在屏幕上的列繼續下落,直到 y - tail·lineHeight 越過底邊,隨後 clearRect 並取消 requestAnimationFrame 循環。
二進制字形與視覺參數¶
字形只有 0 和 1,列內閃爍由整數 hash 決定,無每幀隨機分配。默認數字不透明度 0.10(可調 0.02–0.28);列頭更亮,尾部按 pow(1 - i/tail, 1.7) 漸暗。下落速度默認 160 px/s(40–400),列密度默認 50%(15%–100%),字形大小默認 15 px(10–24),數字輝光可開關。
淺色與深色使用不同墨水:canvas 在深色下 mix-blend-mode: screen,淺色下 multiply,並通過 body[data-ds-dark-theme] 與 MutationObserver 實時跟隨外觀切換,使同一檔不透明度在兩種模式下觀感接近。
磨砂玻璃 token 層¶
通過 theme.overrideTokens() 覆蓋 bg-layer-1、bg-layer-2、bg-overlay、specific-sidebar-fill、邊框與品牌 / 標籤類 token;文檔中的 --dsw-menu-backdrop-filter 若當前 dsh 線存在則一併設置,否則跳過其餘仍生效。面板不透明度默認 0.68(0.45–0.92),與數字不透明度獨立;可選 Matrix 深色調 調色。
性能與無障礙¶
動畫約 30 fps,標籤頁隱藏時暫停;在 prefers-reduced-motion 下減少列數與下落速度。插件無 shell 訪問、無網絡請求、無工具註冊、不寫 session 數據。
安裝與啓用¶
插件市場(社區目錄獨立於 DeepSeek / 幻方,非官方應用商店):設置 → 插件 → 插件市場 → 主題(Themes),安裝 dsh-theme-matrix-glass。
從 GitHub 倉庫安裝:
dsh plugin --profile desktop add github:undefineken/dsh-theme-matrix-glass
npm 發佈後可用:
dsh plugin --profile desktop add dsh-theme-matrix-glass
本地目錄:在 Plugin Manager 安裝器指向含 package.json 的文件夾。安裝後 重新加載頁面,以便瀏覽器半區加載。
卸載:設置 → 插件 → 本插件 → 關閉或卸載。樣式、token 層、插槽註冊、動畫循環與監聽器均在 ctx.effect 內註冊,卸載會一併移除;不會改寫你的外觀偏好。
典型用法¶
- 按上文任一方式安裝並 reload。
- 打開本插件在 Plugin Manager 的配置卡(
plugins.bundle.config),按需調整:
- 二進制數字雨、磨砂玻璃面板開關;
- 數字不透明度、面板不透明度、下落速度、列密度、字形大小、輝光;
- 運行判定範圍(僅當前會話 / 任意會話);
- Matrix 深色調。 - 配置持久化在
localStorage鍵dsh-theme-matrix-glass:v1。 - 想在不跑真實任務時預覽效果,可點配置卡上的 試跑 6 秒;需要還原默認值用 恢復默認。配置卡底部有 live 狀態行:
running時提示數字在下落,空閒時提示數字已離開屏幕。
適用場景與注意¶
適合希望在 dsh 桌面 profile 裏保留可讀性的同時,用輕量 overlay 表達「有任務在跑」的開發者。數字雨在 shell.overlay(pointer-events: none,z-index: -1),低 alpha 配合 blend mode,避免明顯壓暗正文。
安裝前請自行查看倉庫源碼與 MIT 許可證。dsh 插件以 當前 dsh 進程權限 運行;本插件 README 明確無 shell、無網絡,但仍建議只從可信來源安裝。若你使用的 dsh 版本未提供 theme 或 sessions 等 client 注入服務,README 維護說明指出 apply 可能整條不執行——以你環境裏的 dsh-client 能力爲準。
結尾¶
dsh-theme-matrix-glass 把 Matrix 式 0/1 數字雨 與 磨砂玻璃 token 綁在任務運行狀態上,並提供 Plugin Manager 內的完整旋鈕與試跑按鈕。目錄頁:https://www.skillhub.cn/plugins/undefineken/dsh-theme-matrix-glass;源碼與 README:https://github.com/undefineken/dsh-theme-matrix-glass。