Back to home@steven-ngle

dsh-elden

Elden Ring style event overlays for the DeepSeek Harness web UI

Stars
0
Language
TypeScript
Created
Aug 30, 2026
Updated
Aug 30, 2026
GitHub repo

Introduction

dsh-elden

Elden Ring style overlays for the DeepSeek Harness web UI. When something happens in a session, a dark bar crosses the screen and a line fades in over it — like the "YOU DIED" screen, but for your agent.

TriggerTextStyle
Context window crosses the fill threshold (90 %)CONTEXT WINDOW FULLred
History was compacted awayMEMORY FADEDred
A turn finishesTASK FELLEDgold
A long turn finishesGREAT TASK FELLEDgold
An approval or question is waitingA CHOICE AWAITSgold
New Session / the + is clickedLOST SESSION DISCOVEREDgold

Only one overlay is shown at a time and each trigger has a cooldown, so it stays a nice surprise instead of getting annoying. TASK FELLED fires the most; there is a rare-only mode if it gets too much.

Nothing from the games ships in this package — the look is rebuilt in CSS with a free font, and there is no audio.

Install

dsh plugin --profile web add dsh-elden

Or from a local clone:

npm install
npm run build
dsh plugin --profile web add /absolute/path/to/dsh-elden

Then start dsh web and it is active. dsh web --dump-config should show an elden entry if the install worked.

Trying it out

Overlays are rare by design, so the plugin adds a console helper. Open the browser devtools on the dsh web UI and run:

__dshElden.previewAll()            // plays all overlays back to back
__dshElden.preview('contextFull')  // shows a single one
__dshElden.ids()                   // lists all ids
__dshElden.level('rare-only')      // 'all' | 'rare-only' | 'off'
__dshElden.options({ contextThreshold: 0.01, longTurnMs: 0 })  // make rare triggers easy to hit

options() and level() reset on reload; nothing is persisted.

Development

npm run build          # rebuild lib/
pkill -f 'dsh web'     # the host reads the bundle at boot
dsh web

…then reload the page — an open tab keeps the old bundle until you do.

npm test

runs the trigger tests against a hand-fed session list (no server or API key needed).

How it works

The plugin is client-only: everything it needs is already in the browser's session list. It watches the list for edges — running turning false is a finished turn, the selection landing on a blank session is the New Session click, a sharp drop in prompt size is a compaction — and shows the matching overlay in the shell.overlay slot.

The visuals follow the game per screen type: YOU DIED-style screens are dark red with no glow, the gold ones carry a faint scaled-up ghost copy of the same line behind the text (that is why the first and last letters look doubled). Both sit on a narrow dark bar instead of dimming the whole screen.

Font

The text is set in Cormorant Garamond (the closest free match to the game's Agmena Pro), embedded in the bundle as a small uppercase-only subset. It is licensed under the SIL Open Font License 1.1 — assets/OFL.txt has to stay in any redistribution.

Known limitations

  • A failed turn still shows TASK FELLED; the session list has no failure flag.
  • Thresholds and texts are not configurable through settings yet, only via __dshElden.options().