跳到主要内容

dsh-elden

已验证

dsh-elden · v0.1.0 · MIT · Web 界面

Souls-style event overlays for the DeepSeek Harness web UI

安装

dsh plugin add dsh-elden

用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

作者

说明文档

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

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().