DeepSeek Harness 插件介紹:dsh-bafx(蔚藍檔案風格點擊特效)

DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。對於習慣於高度自定義界面與交互的開發者而言,普通的點擊反饋往往缺乏辨識度。dsh-bafx 旨在解決這一問題,它爲 DSH 提供了一套《蔚藍檔案》風格的鼠標交互特效,通過側欄入口和彈窗設置,在不干擾主工作區的前提下調整視覺反饋。

插件簡介

dsh-bafx 是一個由 AzusaKe 維護的社區插件,歸類於趣味換裝類別。它通過 sidebar.panellist 註冊入口,提供了一套完整的點擊特效與光標拖尾方案。該插件不依賴構建工具,運行時依賴爲零,且在 Web 與桌面端共享同一套實現邏輯。

核心功能

該插件主要包含以下功能點:

  • 豎排側欄入口:註冊在 sidebar.panellist,與官方 Plugins 入口並列。展開態顯示圖標與文案,窄欄僅顯示圖標。
  • 彈窗式設置:點擊入口後,主區保持/回到對話,屏幕中央彈出居中對話框(遮罩 + 卡片)。關閉對話框不會將工作區切換走。
  • 十項實時設置:
    • 啓用特效 / 點擊特效 / 拖尾 / 拖尾常顯(無需按住)
    • 點擊大小(0.50 – 2.00×)
    • 拖尾長度(50 – 2000 ms)
    • 縮放(0.50 – 2.00×)
    • 不透明度(0.00 – 1.00)
    • 混合模式(screen / plus-lighter / scene)
    • 主題色(取色器)
  • 一鍵重置:提供「重置爲默認配置」按鈕,恢復全部默認值並立即生效。
  • 零構建與零依賴:上游 ba-click-fx 的 25 個 ES 模塊以原始形態隨包分發,由 Host 直接以 ESM 提供。不打包 React,運行時依賴由 DSH 客戶端模塊加載器提供。

安裝與啓用

dsh-bafx 已發佈至 npm,可通過 DSH 插件命令行安裝。

Web profile(Node 版)

dsh plugin --profile web add dsh-bafx

桌面端(desktop profile)

桌面端的 desktop 檔案由客戶端獨佔管理,Node 版 CLI 會拒絕操作。請使用桌面端自帶的 CLI:

& "<DeepSeek Harness 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-bafx

其他方式

# 從 GitHub 安裝最新代碼
dsh plugin --profile web add github:AzusaKe/dsh-bafx

# 從本地目錄安裝(開發態)
git clone https://github.com/AzusaKe/dsh-bafx.git
dsh plugin --profile web add ./dsh-bafx

注意:客戶端模塊的掃描與 index 注入表在宿主啓動時完成,安裝後必須重啓客戶端才能生效。

典型用法

  1. 打開入口:安裝並重啓後,左側邊欄會出現豎排入口 ✦ 點擊特效(位於官方 Plugins 入口之後)。
  2. 進入設置:點擊該入口,屏幕中央彈出設置對話框。
  3. 調整參數:在對話框中調整任意控制項,設置即時生效並寫入 localStorage(鍵名爲 dsh-bafx-settings)。
  4. 關閉對話框:點擊右上角 ✕、點擊遮罩層或按 Esc 鍵均可關閉,此時主區會回到對話界面。

控制項說明

控制項 範圍 默認值
啓用特效 開 / 關 開
點擊特效 開 / 關 開
拖尾 開 / 關 開
拖尾常顯(無需按住) 開 / 關 開
點擊大小 0.50 – 2.00× 1.00×
拖尾長度 50 – 2000 ms 300 ms
縮放 0.50 – 2.00× 1.00×
不透明度 0.00 – 1.00 1.00
混合模式 screen / plus-lighter / scene screen
主題色 取色器 #4ca7ff
重置爲默認配置 按鈕 —

混合模式說明:screen(默認)在明暗背景上都安全;plus-lighter 在暗色背景更亮;scene 是嚴格的場景加色語義。

工作原理

該插件採用 Bundle 插件架構:

  • Host 半區 (lib/index.js):僅提供路由功能,將 /dsh-bafx/src/<name>.js 映射到 ba-click-fx 的 25 個 ESM 源模塊副本。
  • Client 半區 (client/client.js):
    • 導入特效庫並渲染全屏覆蓋層(pointer-events:none,不影響交互)。
    • 在 sidebar.panellist#bafx 註冊入口。
    • 在 main#bafx 渲染設置對話框,選中時調用 layout.selectPanel(null) 退回對話。
    • 在 shell.overlay#bafx-dialog 渲染遮罩與卡片。

設計決策:
1. 客戶端模塊而非注入腳本:桌面殼的 index.html 靜態輸出,不支持 webServer.tapIndex() 等函數變換。使用客戶端模塊可保證 Web 與桌面端行爲一致。
2. 側欄入口位置:選擇 sidebar.panellist(豎排全局面板)而非 sidebar.footer.action(橫向底部條),以避免多滿寬入口擠佔,並利用其語義(選中即佔主區)實現無干擾的彈窗體驗。

注意事項

  • 環境要求:Node.js 版本需 >= 18。
  • 免責聲明:本項目爲非官方社區插件,與 NEXON Games、Yostar 及《蔚藍檔案》官方無任何關聯。特效庫基於上游 MIT 許可分發,代碼本身可自由使用。

總結

dsh-bafx 通過將複雜的特效庫封裝爲無依賴、零構建的插件,爲 DSH 用戶提供了《蔚藍檔案》風格的視覺體驗。其豎排側欄入口和彈窗設置的設計,兼顧了易用性與界面整潔度。

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

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

小夜