前言¶
長時間盯着 Harness 默認界面寫智能體對話時,背景往往是靜態色塊,Agent 是否在跑也主要靠側邊欄或狀態文案判斷。若你希望 Web 客戶端有一層不打擾閱讀的夜景動效,並且用畫面高度暗示「有沒有會話在跑」,社區維護者 gioguarin 的 dsh-nebula-theme(包名 @local/nebula-theme)走的就是這條路:靛紫星塵天空常駐漂移,底部火焰在空閒時維持低矮餘燼線,在任意 Agent 思考時升格爲更明顯的焰鋒。下面介紹它是什麼、能做什麼,以及如何按官方 README 安裝與移除。
這是什麼¶
dsh-nebula-theme 是面向 DeepSeek Harness Web 客戶端的主題 bundle,分類上屬於社區目錄中的「趣味換裝」。它不讀聊天正文,只向 Session 服務查詢當前是否有會話在運行,並把結果映射到 body 上的 data-ds-nebula-think 屬性,用來驅動火焰動畫檔位。天空層本身不隨 Agent 狀態變亮,視覺重心落在底部火場與閱讀區對比度上。
倉庫:https://github.com/gioguarin/dsh-nebula-theme
社區目錄:https://www.skillhub.cn/plugins/gioguarin/dsh-nebula-theme
核心能力(與 README 一致)¶
天空與景深¶
- 天空:一次生成域扭曲 fBm 紋理,含暗塵帶與暗紅底光,經抖動減輕色帶後靜止繪製,之後僅緩慢漂移,不隨 Agent 狀態改變亮度。
- 景深:更大的一份天空紋理反向漂移並輕微「呼吸」,雲層結構相對錯位,避免整張圖同向平移的廉價感。
火焰與讀性¶
- 火焰:256×112 元胞火場,帶逐格冷卻、隨高度偏移的風場與雙線性平流。空閒約 12 fps,呈現短餘燼線;思考時約 30 fps 並抬高火源。同一火場 48×20 下采樣後模糊進天空,作火光。
- 可讀性:火焰與 UI 之間有一層深色閱讀幕,保證 transcript 對比度;輸入區(composer)爲玻璃質感,讓底部餘燼光能透出來。
- 色板:通過 token 層在淺色 / 深色模式下覆蓋活動色板,保持夜空主題身份。
無障礙與隱私¶
prefers-reduced-motion:漂移與視差停止;火焰改爲靜態暖色場而非動畫。- 隱私邊界:主題不讀取會話內容,只關心「是否有 session 正在運行」。
安裝與啓用¶
前提:本機 DeepSeek Harness 構建需包含 Web 客戶端(@deepseek-ai/dsh-web-app)。該 bundle 未發佈到 npm,README 要求從本地目錄以 @local/nebula-theme 形式加入 profile。在已擁有插件源碼目錄(例如解壓或下載後的 dsh-nebula-theme 文件夾)的前提下,執行:
dsh plugin --profile web add ./dsh-nebula-theme
dsh --profile web
將 web 換成你實際啓動 Harness 使用的 profile 名。
移除:
dsh plugin --profile web remove @local/nebula-theme
典型用法與本地預覽¶
日常使用時無需額外配置項:啓用插件後打開 Web 客戶端即可。空閒時底部爲低餘燼線;當任意 Agent 會話處於運行(thinking)狀態時,焰鋒抬高,且若同時安裝 @local/active-chats,浮動會話卡片可套上太空玻璃框與餘燼思考光暈(未裝該插件時,相關樣式規則不會生效)。
開發者可用倉庫內 demo 做快速肉眼檢查:demo/index.html 在最小 module-loader 與 mock shell 上運行真實 client.js;URL 加 ?thinking=1 可查看思考態。重新生成 README 預覽圖可運行:
node scripts/capture-previews.mjs
工作原理簡述¶
包結構是常規 DSH bundle:package.json 聲明 dsh.bundle 與 dsh.client;cordis.patch.yml 插入 nebula-theme 行;index.js 主機側爲空;client.js 承載 token、CSS、天空生成、火場與狀態橋接。
客戶端應用在 apply 時依次:註冊色板覆蓋、注入 scoped 樣式、idle 回調生成天空紋理併發布爲 CSS 變量、向 body 追加視差層與火場 canvas、設置 data-ds-nebula-theme、在 shell.overlay 掛載橋接以設置 data-ds-nebula-think。各效果提供 disposer,禁用插件時可回收樣式、canvas 與屬性而不改動應用本體。
兼容性與接口(README):針對 DeepSeek Harness 0.2.x 構建與測試;依賴公開接縫 ctx.theme.overrideTokens、ctx.slots 與 shell.overlay,不 patch 主機文件。運行時除 React(由宿主提供)外無額外依賴,無構建步驟。許可證:MIT。
適用場景與注意¶
- 適合:長期在 Harness Web 端調試智能體、希望界面有夜景氛圍且用動效區分空閒 / 思考的用戶。
- 不適合:需要零動畫或極簡界面的環境(可依賴系統
prefers-reduced-motion,或不用主題類插件)。 - 安全習慣:DSH 插件隨當前
dsh進程權限運行;安裝前建議閱讀client.js與cordis.patch.yml,並確認許可證與來源(本倉庫 MIT,作者 gioguarin)。社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,安裝來源以你自檢的倉庫爲準。
結尾¶
dsh-nebula-theme 把 Web Harness 收成一條不搶眼的星塵夜空,並用底部火場把「有沒有 Agent 在跑」寫進畫面,同時用閱讀幕和 reduced-motion 兜底可讀性與可訪問性。需要進一步覈對實現細節時,以 GitHub README 與倉庫源碼爲準;入口鏈接見上文目錄頁與倉庫地址。