DeepSeek Harness (DSH) core design philosophy is “Everything is a plugin”. For developers accustomed to highly customized interfaces and interactions, standard click feedback often lacks distinctiveness. dsh-bafx aims to solve this by providing DSH with a Blue Archive style set of mouse interaction effects. Through a sidebar entry and modal settings, it allows visual feedback to be adjusted without disrupting the main workspace.
Plugin Overview¶
dsh-bafx is a community plugin maintained by AzusaKe, categorized under the fun reskin category. It registers an entry via sidebar.panellist and provides a complete set of click effects and cursor trail options. The plugin does not depend on build tools, has zero runtime dependencies, and shares the same implementation logic between Web and desktop clients.
Core Features¶
The plugin mainly includes the following features:
- Vertical sidebar entry: Registered in
sidebar.panellist, alongside the official Plugins entry. In expanded view it shows an icon and label; in narrow view it shows only the icon. - Modal-style settings: After clicking the entry, the main area stays in or returns to the conversation, and a centered dialog appears in the middle of the screen (overlay + card). Closing the dialog does not switch the workspace away.
- Ten real-time settings:
- Enable effects / click effect / trail / trail always visible (no need to hold)
- Click size (0.50 – 2.00×)
- Trail length (50 – 2000 ms)
- Scale (0.50 – 2.00×)
- Opacity (0.00 – 1.00)
- Blend mode (screen / plus-lighter / scene)
- Theme color (color picker)
- One-click reset: Provides a “Reset to Default Settings” button, restoring all defaults and applying them immediately.
- Zero build and zero dependencies: The 25 ES modules from upstream
ba-click-fxare shipped in their original form, and the Host provides them directly as ESM. React is not bundled; runtime dependencies are provided by the DSH client module loader.
Installation and Activation¶
dsh-bafx is published to npm and can be installed through the DSH plugin CLI.
Web profile (Node edition)¶
dsh plugin --profile web add dsh-bafx
Desktop (desktop profile)¶
The desktop desktop profile is exclusively managed by the client, and the Node CLI will refuse the operation. Please use the CLI bundled with the desktop client:
& "<DeepSeek Harness 安装目录>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-bafx
Other methods¶
# 从 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
Note: Client module scanning and the index injection table are completed when the host starts. You must restart the client after installation for changes to take effect.
Typical Usage¶
- Open the entry: After installation and restart, a vertical entry ✦ Click Effects appears in the left sidebar (after the official Plugins entry).
- Enter settings: Click the entry, and a settings dialog appears in the center of the screen.
- Adjust parameters: Adjust any control in the dialog. Settings take effect immediately and are written to
localStorage(key:dsh-bafx-settings). - Close the dialog: Click ✕ in the top-right corner, click the overlay, or press Esc to close. The main area then returns to the conversation view.
Control Item Description¶
| Control Item | Range | Default |
|---|---|---|
| Enable Effects | On / Off | On |
| Click Effect | On / Off | On |
| Trail | On / Off | On |
| Trail Always Visible (no need to hold) | On / Off | On |
| Click Size | 0.50 – 2.00× |
1.00× |
| Trail Length | 50 – 2000 ms |
300 ms |
| Scale | 0.50 – 2.00× |
1.00× |
| Opacity | 0.00 – 1.00 |
1.00 |
| Blend Mode | screen / plus-lighter / scene |
screen |
| Theme Color | Color picker | #4ca7ff |
| Reset to Default Settings | Button | — |
Blend mode notes:
screen(default) is safe on both light and dark backgrounds;plus-lighteris brighter on dark backgrounds;scenehas strict scene additive semantics.
How It Works¶
The plugin uses the Bundle plugin architecture:
- Host side (
lib/index.js): Only provides routing, mapping/dsh-bafx/src/<name>.jsto the 25 ESM source module copies ofba-click-fx. - Client side (
client/client.js):- Imports the effects library and renders a full-screen overlay (
pointer-events:none, no impact on interaction). - Registers an entry at
sidebar.panellist#bafx. - Renders the settings dialog at
main#bafx; when selected, callslayout.selectPanel(null)to return to the conversation. - Renders the overlay and card at
shell.overlay#bafx-dialog.
- Imports the effects library and renders a full-screen overlay (
Design decisions:
1. Client module rather than injected script: The desktop shell’s index.html is statically output and does not support function transformations such as webServer.tapIndex(). Using a client module ensures consistent behavior between Web and desktop.
2. Sidebar entry position: sidebar.panellist (vertical global panel) was chosen instead of sidebar.footer.action (horizontal bottom action bar), avoiding crowding from multiple full-width entries, and leveraging its semantics (selecting it occupies the main area) to deliver a non-intrusive modal experience.
Notes¶
- Environment requirements: Node.js version must be >= 18.
- Disclaimer: This project is an unofficial community plugin and is not associated with NEXON Games, Yostar, or the official Blue Archive. The effects library is distributed based on the upstream MIT license; the code itself may be used freely.
Summary¶
dsh-bafx encapsulates a complex effects library into a dependency-free, zero-build plugin, providing DSH users with a Blue Archive style visual experience. Its vertical sidebar entry and modal settings design balance ease of use with interface cleanliness.
- Project directory: SkillHub directory page
- Source repository: GitHub - AzusaKe/dsh-bafx