Skip to content
dsh.fish
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

  • 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.
Source