dsh-ba-click-fx
September 1, 2026 Β· View on GitHub
π¨π³ δΈζη
Blue Archive (θθζ‘£ζ‘) style click effect + cursor trail as a DeepSeek Harness web client plugin.
This package vendors ba-click-fx v1.3.1 verbatim
(vendor/ba-click-fx.js, a zero-dependency ESM bundle) and mounts it into the DSH web GUI via
the standard client-module system. Clicking, dragging or moving the pointer draws the game-style
dissolved ring, center disk, click shards and cursor trail.
Everything runs in the browser: the browser half (src/client/index.js β lib/client.js)
owns the visuals, while the Host half (src/index.js β lib/index.js) is a no-op entry that
lets the Host Loader activate the row and serve the client bundle.
Layout
dsh-ba-click-fx/
βββ package.json # dsh.bundle + dsh.client (web) declarations
βββ cordis.patch.yml # inserts the plugin row
βββ vendor/ba-click-fx.js # vendored ba-click-fx v1.3.1 dist bundle
βββ src/
β βββ index.js # Host half (no-op)
β βββ client/index.js # browser half: effect + config window + i18n/theme
βββ scripts/build.mjs # assembles lib/ from src/ + vendor/
βββ lib/ # prebuilt artifacts (install-ready)
βββ index.js
βββ client.js # lazy-CJS factory: window.__ModuleLoader__.load({id, factory})
How it works
- The Host Loader imports the node half and activates a fiber for
{ id: ba-click-fx, name: dsh-ba-click-fx }. - The client-modules host scans enabled
dsh.cliententries, resolvesexports["./client"]βlib/client.js, hashes it into the boot graph and serves it under/plugins. - In the browser,
apply(ctx, config)mountsnew BAClickFX(...)(a full-screen overlay canvas). ctx.effect(...)tears everything down on HMR reload / profile teardown.
Install
dsh plugin --profile web add ./dsh-ba-click-fx
# restart the web profile so the new client bundle loads:
dsh --profile web
Remove with dsh plugin --profile web remove dsh-ba-click-fx.
No dsh CLI? Copy this package (or a pnpm pack tarball) into the profile, add
"dsh-ba-click-fx": "link:./dsh-ba-click-fx" to dependencies and "dsh-ba-click-fx" to
dsh.profile.bundles, run pnpm install, then restart.
Configuration window
A β gear button appears in the bottom-right corner:
- left-click toggles the panel; right-button-drag moves it anywhere (position is persisted in
localStorage); - edits apply live via
fx.setThemeColor()/fx.updateConfig()and persist inlocalStorage(dsh-ba-click-fx-config); - theme-aware (uses DSH
--dsw-alias-*tokens) and i18n-aware (detects DSH's locale from<html lang>and auto-switches δΈζ / English).
| Control | Range | Default |
|---|---|---|
| Theme color | picker | #4ca7ff |
| Scale | 0.50 β 3.00 | 1.00 |
| Opacity | 0.00 β 1.00 | 1.00 |
| Click effect | on / off | on |
| Cursor trail | on / off | on |
| Trail always | on / off | off |
| Max DPR | 1.0 β 2.0 | 1.0 |
| Click speed | 0.50 β 2.00Γ | 1.00Γ |
| Trail speed | 0.50 β 2.00Γ | 1.00Γ |
| Glow (click + trail bloom) | 0.00 β 4.00 | 1.00 |
Build-time defaults
Defaults: Blue Archive blue (#4ca7ff), full WebGL2, click + trail on. To change the shipped
defaults (backend, theme-color mode, touch action, β¦), edit DEFAULT_CONFIG in
src/client/index.js and run npm run build (rewrites lib/client.js + map), then restart.
Notes
- The effect is an overlay; it never touches page layout.
- Zero external runtime dependencies.
vendor/ba-click-fx.jsis Β© the ba-click-fx authors (MIT); see upstreamLICENSE/THIRD_PARTY_NOTICES.md.