前言¶
DeepSeek Harness (DSH) 的設計理念之一是“一切皆插件”。對於開發者而言,除了通過配置調整功能,還可以通過皮膚插件修改界面視覺。默認界面雖然通用,但往往缺乏個性化。本插件旨在爲 DSH Web 提供一套基於同人遊戲《彈丸論破:天魔命曲》的視覺主題,通過替換素材和利用公開 DOM 鉤子,實現全屏壁紙、自定義光標以及特定的佈局結構,而不依賴任何現成皮膚包。
插件簡介¶
dsh-angelsanddemon-fatesumphony-skin 是一個獨立的 DSH Web 皮膚插件。作者爲 zhangyuzhangyu233。
該插件不基於其他皮膚插件,僅使用《彈丸論破:天魔命曲》的遊戲素材和 DSH 的公開 DOM 鉤子進行開發。代碼與素材均遵循相應開源協議。
核心功能¶
插件通過修改頁面 DOM 和資源引用,實現了以下視覺與交互效果:
- 自定義光標:使用
mouse.png(縮放爲 14×19,熱點 2,2)作爲全局光標。 - 全屏壁紙:使用
background.png,以cover模式等比縮放鋪滿視口,不隨頁面滾動變形。 - 左側欄梯形條:使用
leftbar.png貼於左側,整體透明度約 45%。頂側有 78px 斜帽,底側有 90px 收口。 - 輸入框對話條:使用
talkingbar.png構建平行四邊形邊框的輸入區域。 - 底部調用數據區:使用
talkingbar_buttom.png(兩端梯形帽)和buttom-M.png(拉伸中段)。該區域實現單向走馬燈:數據滾動、停留 5 秒、再滾動,永不回滾。由client.js主時鐘驅動,智能體運行中更新節點不會打斷相位或重疊。 - 發送按鈕:使用
next.png(藍色 V 箭頭)懸浮於輸入卡片右側。 - 運行輪盤:在智能體運行“Deep diving…”狀態行左側插入
rolling.png輪盤,並勻速旋轉(遵循prefers-reduced-motion媒體查詢)。 - 新會話藥丸:使用
newsession.png,設計緊湊,不撐滿整行。
安裝與啓用¶
安裝過程需要通過 npm 進行,並配合 DSH 的 profile 配置。
- 安裝包:在終端執行以下命令:
npm install dsh-angelsanddemon-fatesumphony-skin
- 註冊 Bundle:打開 DSH Web 的 profile 配置文件(例如
~/.dsh/profiles/web/下的dsh.profile.bundles),在列表中添加插件名:
"dsh-angelsanddemon-fatesumphony-skin"
- 掛載聲明:在同一 profile 目錄下編輯
cordis.patch.yml,添加以下內容:
- id: dsh-angelsanddemon-fatesumphony-skin
name: dsh-angelsanddemon-fatesumphony-skin
- 生效:重啓 dsh web 服務。
典型用法¶
安裝後,插件會自動在 body 上標記 data-dsh-tenma,所有樣式和邏輯均掛載於該標記下,保證佈局所有權仍歸官方,僅進行視覺覆蓋。
- 素材引用:插件通過
host.js提供帶哈希的靜態資源路由(/dsh-angelsanddemon-fatesumphony-skin/assets/*)。 - 特殊素材處理:
rolling.png(運行輪盤)在client.js中內嵌了一份 base64 副本。修改client.js後,直接刷新瀏覽器頁面即可生效,無需重啓服務。 - 開發調試:插件無構建步驟。開發者可直接修改
client.js或assets/目錄下的素材文件,隨後刷新頁面或重啓服務即可看到更新。
注意事項¶
- 素材授權:代碼部分(
host.js,client.js,cordis.patch.yml)爲 MIT 協議。遊戲素材(assets/)爲 CC BY-NC 4.0 協議,歸屬同人遊戲製作組,僅限非商業使用。 - 商標聲明:《彈丸論破》爲 Spike Chunsoft 註冊商標,本插件爲同人作品。
- 資源冗餘:隨包提供的
hero.jpg,buttom-L/R.png,talkingbar_lighter.png,send.png,selected.png等素材當前未被引用,保留以備迭代。 - 權限檢查:插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證。
結尾¶
dsh-angelsanddemon-fatesumphony-skin 提供了一套完整的、基於《彈丸論破:天魔命曲》主題的 DSH 界面改造方案。其通過純 JavaScript 實現,結構清晰,適合開發者參考或直接使用。