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 用户提供了《蔚蓝档案》风格的视觉体验。其竖排侧栏入口和弹窗设置的设计,兼顾了易用性与界面整洁度。

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

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

小夜