跳过主要内容
返回插件列表
L

dsh-task-dag

leemancheung/dsh-task-dag

将会话子代理与持久工作流运行展示为实时 DAG,支持状态展示、节点导航与重启后历史恢复。

安装

dsh plugin --profile web add github:leemancheung/dsh-task-dag

README

dsh-task-dag

A persistent, live task topology for DeepSeek Harness Web.
See Sessions, delegated subagents, and durable workflows as one navigable DAG.

Awesome Awesome DSH Plugin CI Release License

English · 中文

dsh-task-dag visual overview

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.

CapabilityBehavior
Live topologyReacts to Session and subagent catalog snapshots without Host polling.
Durable workflowsReconstructs workflow phases and members from workflow-run Conversation Nodes after restart.
Clear ownershipGroups workflow members under workflow nodes instead of drawing duplicate root-to-child edges.
Direct navigationOpens healthy, list-visible subagent Sessions from their graph nodes.
Native presentationUses DSH theme semantics, restrained status colors, and custom SVG icons in light and dark modes.
Lifecycle safeRegisters 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.

dsh-task-dag running in DSH Web

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

ActionResult
Select Task DAGOpens the Session-scoped graph panel.
Select a subagent nodeOpens that Session when it is available in the Session list.
Toggle fit modeSwitches between a whole-graph overview and the original scrollable canvas.
RefreshRefreshes observed subagent catalogs; workflow nodes remain projection-driven.
Drag the title barRepositions the panel without capturing toolbar controls.
Press Escape or select closeCloses 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

dsh-task-dag projection architecture

The browser plugin combines three durable Client-facing sources:

  • SessionListState.byId and parentId provide subagent lineage.
  • SessionListState.subagentsByParent provides labels, modes, activity, and catalog health.
  • workflow-run Conversation 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:

  1. validates source syntax;
  2. rebuilds the precompiled browser module;
  3. validates the generated bundle syntax;
  4. runs jsdom interaction smoke tests for workflow grouping, fit mode, close controls, and node navigation;
  5. verifies in CI that committed lib/client.js is reproducible from source.

Remove

dsh plugin --profile web remove dsh-task-dag

License

MIT © LeemanCheung

相关插件