Cross-session archive: overview workbench, folded timeline, subagent lineage, full-text search, rule+LLM summaries, ZIP export, live tracking. Native session-page embeds: turn rail, docked right panel (live mode, pinned to original session on switch), rename (official-synced), conclusion digest, health monitoring + persistent header chip (idle / active / tool-wait / stalled). dsh v0.1.2+: fuses with the official TurnNavigatorRail — vector-icon info chips (duration, tool calls, errors, thinking) plus lazy tool distribution inside the official preview card, right-click opens the workbench; the classic piano-key strip is on by default and delegates unloaded-turn jumps to the official auto-load engine; the official rail can be hidden entirely. Settings dialog section with 10 tunable behavior params.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-session-flow
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:YeqingTang/dsh-session-flow
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
English | 中文
Restructures DSH session message streams into a foldable information flow with session-level summaries: every session becomes an archive card for cross-workspace review, search, and export. The built-in session views (Trajectory / Chat) excel at the microscopic inspection of what is happening right now; this plugin fills the missing layer of post-hoc review / archival / insight.
Interface tour
| Overview workbench | Session Flow tab |
|---|---|
![]() |
![]() |
| Session cards with status, conclusion line, first task; hover ✎ to rename inline | "Session Flow" tab embedded in the native conversation page |
| Turn rail | Cross-session full-text search |
|---|---|
![]() |
![]() |
| Turn navigation on the left of the Chat tab: collapsed dashes ⇄ expanded cards, one-click jump | Free text in the overview triggers full-text mode: recall across workspaces, hits jump & locate |
| Dock details right | Folded detail view |
|---|---|
![]() |
![]() |
| Dock the detail into the official right panel: conversation + flow side by side, drag to resize | Turns folded by default; expand in true chronological order; four-tab navigation |
Features
| Capability | Description |
|---|---|
| Overview workbench | Session cards (status / errors / duration) + conclusion line; sort, filter, workspace tabs |
| Structured search | tool: file: err: prefixes + free text |
| Folded detail view | Turns collapse to "user message + conclusion"; expand in true chronological order; on-demand loading |
| Four-tab navigation | User messages / tools / errors / search, click to locate & highlight |
| Lineage tree | Subagent derivation tree (offline archive + live runtime channels) |
| Dual-mode summary | Rule summary (zero cost, assembled live) + LLM summary (cached, prompts regeneration) |
| Live tracking | 3s polling for running sessions, breathing highlight + generating indicator |
| ZIP export | Overview + chunked timeline as a Markdown report |
| Session rename | Same data source as the official title (log-backed), synced both ways in real time |
| Health monitor | Four-level classification: active / tool-running / quiet / likely stalled; overview badges + detail live bar |
| Header health chip | Next to the mode label in the session header; a vertical bar that expands into a status card on hover, click to open detail |
| Session Flow tab | Embedded tab on the native conversation page, cross-navigates with the workbench |
| Turn rail | Turn jumps on the left of the Chat tab (Chat tab only) |
| Cross-session full-text search | Content-level recall, hits jump into the Session Flow tab and locate |
| Dock details right | Side-by-side with the main conversation |
| Cache management | View & clean index/timeline caches (never touches DSH data) |
Install
# From the plugin market (search dsh-session-flow), or:
dsh plugin add dsh-session-flow
dsh plugin add github:YeqingTang/dsh-session-flow
After installing: restart the DSH Web service and hard-refresh the browser (Ctrl+Shift+R). Success shows the "Session Flow" entry in the sidebar.
Requirements: DSH Web GUI (latest stable); Node.js ≥ 22.19 (built-in zstd decoding, zero third-party dependencies).
Usage
- Overview: sidebar "Session Flow" → all session cards. Search supports
tool:/file:/err:prefixes; free text of ≥2 characters additionally triggers cross-session full-text search. - Detail: click a card. Turns are folded by default — click a turn header to expand; the four-tab navigation locates entries; the header offers LLM summary, ZIP export, dock right, and lineage.
- Native conversation page: the "Session Flow" tab reviews the current session in place; the turn rail on the Chat tab jumps to any turn; hover the title for ✎ rename (synced with the official title in real time).
- Health status: the health chip right of the mode label in the header (vertical bar: green = active / amber = tool running / red = likely stalled) expands on hover; click to open the Session Flow detail. Overview cards and the live bar show the same badges.
- Live: click "Live" on a running session, auto-refresh every 3 seconds.
Acknowledgements
- DeepSeek Harness (dsh) — the runtime this plugin builds on.
- @deepseek-ai/dsh-session-persistence-jsonl — the zstd multi-frame scanning algorithm (
lib/archive.jsadapted, MIT licensed). - dsh-web-ui (@linxin666 family) — reference for the sidebar-entry / panel mounting pattern; no code copied.
- dsh-webui-market-plugin — plugin-market mechanism and distribution channel.
Apache-2.0 licensed; original license notices for third-party code are retained.
License
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2160
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
liangmianya/dsh-synapse★ 454
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
ranxianglei/billion-context★ 384
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
Nwflower/dsh-chat-import★ 207
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 122
Rewind conversation and workspace state, powered by a persistent Change Ledger.






Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.