Displays a Session's subagents and durable workflow runs as a live DAG with status, navigation, and restart-safe history.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:LeemanCheung/dsh-task-dag
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
At a glance
dsh-task-dag turns DSH's existing Client projections into a top-to-bottom dependency graph. It keeps no parallel workflow database and sends no polling requests: when Session state changes, the graph changes with it.
| Capability | Behavior |
|---|---|
| Live topology | Reacts to Session and subagent catalog snapshots without Host polling. |
| Durable workflows | Reconstructs workflow phases and members from workflow-run Conversation Nodes after restart. |
| Clear ownership | Groups workflow members under workflow nodes instead of drawing duplicate root-to-child edges. |
| Direct navigation | Opens healthy, list-visible subagent Sessions from their graph nodes. |
| Native presentation | Uses DSH theme semantics, restrained status colors, and custom SVG icons in light and dark modes. |
| Lifecycle safe | Registers UI and styles through Cordis lifecycle ownership and removes them on unload. |
Live screenshot
Captured from a running DSH Web Session with task labels anonymized. The panel, layout, edges, controls, and status presentation are the actual plugin UI.

Install
dsh plugin --profile web add github:LeemanCheung/dsh-task-dag
Restart the current DSH Web process once after the first installation, then refresh the page. The Task DAG action appears in the Session header.
For a version-pinned installation:
dsh plugin --profile web add github:LeemanCheung/dsh-task-dag#v1.1.0
Using the graph
| Action | Result |
|---|---|
| Select Task DAG | Opens the Session-scoped graph panel. |
| Select a subagent node | Opens that Session when it is available in the Session list. |
| Toggle fit mode | Switches between a whole-graph overview and the original scrollable canvas. |
| Refresh | Refreshes observed subagent catalogs; workflow nodes remain projection-driven. |
| Drag the title bar | Repositions the panel without capturing toolbar controls. |
Press Escape or select close |
Closes the panel and restores focus to the trigger. |
Status colors are deliberately limited to business blue, success green, error red, and warning amber. All other hierarchy is expressed through spacing, typography, borders, and line styles.
Architecture
The browser plugin combines three durable Client-facing sources:
SessionListState.byIdandparentIdprovide subagent lineage.SessionListState.subagentsByParentprovides labels, modes, activity, and catalog health.workflow-runConversation Nodes provide workflow phases, members, and outcomes.
The owned graph model then normalizes lineage, inserts workflow grouping nodes, derives navigation capability, lays out stable vertical layers, and renders into conversation.session.header.actions.
There is no process-local workflow cache, model prompt contribution, model tool, Host RPC endpoint, or polling loop.
Security and permissions
This is a browser-only, read-only visualization plugin. It does not read workspace files, execute commands, open network connections, register model tools, or persist Session content and credentials.
See SECURITY.md for the reporting policy and complete trust boundaries. Private vulnerability reporting is enabled for the repository.
Development
Requirements: Node.js 20 or newer.
npm install
npm run check
The check pipeline:
- validates source syntax;
- rebuilds the precompiled browser module;
- validates the generated bundle syntax;
- runs jsdom interaction smoke tests for workflow grouping, fit mode, close controls, and node navigation;
- verifies in CI that committed
lib/client.jsis reproducible from source.
Remove
dsh plugin --profile web remove dsh-task-dag
License
MIT © LeemanCheung
Links
More in this category
zhu1090093659/dsh-web-ui★ 1766
Plugin and skin collection for the DSH Web UI: task board, Git graph, right-side panel, remote mobile UI, pet, live token stats, and a skin center.
ccch1mneyyy/dsh-TUI★ 829
Claude Code-style full-screen terminal UI: pixel-whale header, live status line, and streaming thought expansion.
omdsh-dev/DSH-better-sidebar★ 705
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
huiliyi37/dsh-tianshu-tui★ 131
A terminal UI (TUI) for DeepSeek Harness.
omdsh-dev/dsh-at-file★ 117
Codex-style `@file` mentions: search workspace files in the composer and attach their contents to prompts.
Nagi-ovo/dsh-visualize★ 79
In-conversation generative UI: the model renders interactive HTML cards into the chat stream, with streaming preview and sandboxed rendering.