alonelypigeon/dsh-plugin-session-outline
DeepSeek Harness cordis plugin: session outline navigator in the right-side overlay
dsh-plugin-session-outline adds a floating session-outline navigator to the right side of a DeepSeek Harness conversation. A round button (☰) expands a draggable panel that lists every user turn (user and steering rows, numbered); clicking an entry smoothly scrolls to that turn and briefly flashes the target. The header shows 'Session outline · N', the topmost visible user turn is highlighted as the current position, and Previous/Next turn buttons (or the ↑/↓ arrow keys while the panel has focus) step through turns. When reopening DSH and older turns are not yet rendered, clicking such an entry shows '⏳ Loading…', scrolls to trigger loading and polls until the target appears (up to ~10s). Scans are debounced (150 ms coalescing plus a 2 s safety interval) and only re-run when user rows structurally change, so assistant streaming does not cause repeated full scans; the entry button hides entirely when a conversation has no user turns. Trailing timestamps (HH:mm, relative times, zh/en dates) are stripped from entry text.
Source repository unavailable. The repository alonelypigeon/dsh-plugin-session-outline no longer exists on GitHub (HTTP 404 when checked on 2026-10-15), so the install command and any further commands on this page cannot currently be run. They are kept below as a record of what the plugin documented while it was available.
Install
npm install -g dsh-plugin-session-outlineThe README's npm line is 'npm install -g dsh-plugin-session-outline # or install into the profile's node_modules' and is labelled '(after publishing)'. Registry check 2026-10-03: the name dsh-plugin-session-outline returns HTTP 404 on npmjs.org, so no published package exists yet — the README's documented Manual route is the working one: build the plugin, copy its directory into the profile's node_modules ('cp -r dsh-plugin-session-outline ~/.dsh/profiles/node_modules/'), then append to cordis.patch.yml an insert row with id 'session-outline' and name 'dsh-plugin-session-outline', and restart DSH. The one devDependency is esbuild (the client half is bundled by scripts/bundle.mjs into the window.ModuleLoader.load({id, factory}) form the web frontend loads).
Compatibility
DeepSeek Harness Web. Registers into the shell.overlay slot with order 100 and reads the conversation's own DOM anchors (data-chat-anchor-key / data-chat-flow-kind, values 'user' / 'steering'), so it does not depend on private conversation internals. Styling uses DSH design tokens (--dsw-alias-*) with a data-plugin dedupe guard, so dark/light themes and HMR reloads are handled. Bilingual copy comes from the DSH locale system (session.outline namespace) and follows the UI language.
Details
- Repo:
alonelypigeon/dsh-plugin-session-outline(source unavailable) - Category: Coding & Development
- Stars: 0
- Version: GitHub repo alonelypigeon/dsh-plugin-session-outline — the npm name dsh-plugin-session-outline is not published (registry 404 on 2026-10-03); MIT
- Last push: 2026-08-14
- First seen: 2026-08-14
FAQ
- How do I install dsh-plugin-session-outline?
- The README documents an npm line, 'npm install -g dsh-plugin-session-outline', but that package is not published yet (registry 404 on 2026-10-03). Use the manual route instead: build it, copy the plugin directory into the profile's node_modules, add an insert row (id 'session-outline', name 'dsh-plugin-session-outline') to cordis.patch.yml, and restart DSH.
- Where does the outline button appear?
- As a round ☰ button at the middle-right of the conversation area, rendered in the shell.overlay slot; it is draggable and its position is remembered in localStorage. It is hidden when the conversation has no user messages yet.
- Does it scan the conversation constantly?
- No — re-scans are debounced (150 ms plus a 2 s safety interval) and only triggered by structural changes or text changes inside user rows, so assistant streaming output does not cause repeated full scans.
Alternatives
gjj-star/dsh-conversation-navigato · licat2023/dsh-session-tabs · omdsh-dev/dsh-genui