Bundle
dsh-elden
Souls-style event overlays for the DeepSeek Harness web UI
- Source
- steven-ngle
- License
- MIT
- Updated
- Updated yesterday
Readme
# 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.
| Trigger | Text | Style |
|---|---|---|
| Context window crosses the fill threshold (90 %) | `CONTEXT WINDOW FULL` | red |
| History was compacted away | `MEMORY FADED` | red |
| A turn finishes | `TASK FELLED` | gold |
| A long turn finishes | `GREAT TASK FELLED` | gold |
| An approval or question is waiting | `A CHOICE AWAITS` | gold |
| New Session / the `+` is clicked | `LOST SESSION DISCOVERED` | gold |
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
```sh
dsh plugin --profile web add dsh-elden
```
Or from a local clone:
```sh
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:
```js
__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
```sh
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.
```sh
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()`.
Install
dsh plugin --profile web add github:steven-ngle/dsh-elden
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-elden from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.