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

  1. The Host Loader imports the node half and activates a fiber for { id: ba-click-fx, name: dsh-ba-click-fx }.
  2. The client-modules host scans enabled dsh.client entries, resolves exports["./client"] β†’ lib/client.js, hashes it into the boot graph and serves it under /plugins.
  3. In the browser, apply(ctx, config) mounts new BAClickFX(...) (a full-screen overlay canvas).
  4. 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 in localStorage (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).
ControlRangeDefault
Theme colorpicker#4ca7ff
Scale0.50 – 3.001.00
Opacity0.00 – 1.001.00
Click effecton / offon
Cursor trailon / offon
Trail alwayson / offoff
Max DPR1.0 – 2.01.0
Click speed0.50 – 2.00Γ—1.00Γ—
Trail speed0.50 – 2.00Γ—1.00Γ—
Glow (click + trail bloom)0.00 – 4.001.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.js is Β© the ba-click-fx authors (MIT); see upstream LICENSE / THIRD_PARTY_NOTICES.md.