DSH Hub
dsh-planchart cover

SmileBuild/dsh-planchart

dsh-planchart

UIWeb UI0 GitHub stars· updated 2026-08-20

DeepSeek Harness plugin: the agent publishes a project plan as steps in a side panel and a framework diagram in a centre tab, downloadable as SVG or PNG.

Install

npx @deepseek-ai/dsh plugin --profile web add ./dsh-PlanChart

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-planchart DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-planchart.svg)](https://dshhub.dev/plugins/dsh-planchart)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from SmileBuild/dsh-planchart, cleaned of badges and images.

dsh-planchart

中文

A DeepSeek Harness (dsh) plugin that gives the agent a display surface for project planning. The model calls one tool with the whole plan; the browser renders it in two places:

  • the steps — a panel docked to the right edge of the frame, with phases, status marks and per-step detail;
  • the framework — a "PlanChart" tab beside Chat and Trajectory, holding an auto-laid-out architecture diagram that downloads as SVG or PNG.

Talking to the agent again updates both: every planchart_set call replaces the whole chart, so "mark step 3 done" or "add a cache layer" is an ordinary follow-up message.

Install

dsh plugin --profile web add ./dsh-PlanChart

Then restart the profile (dsh web) and hard-reload the browser tab. The plugin declares dsh.bundle.patch, so the installer adds it to the profile's bundle stack automatically; its browser half is discovered through dsh.client and served at /plugins/dsh-planchart/client.js.

The reload is not optional. The client plugin table arrives as window.__DSH_BOOT__, injected into index.html at page load. A tab that was already open when you restarted keeps its old manifest and will never fetch the new bundle — the tools run, the chart is stored, and the browser shows nothing. This is true of every dsh client plugin, not just this one.

To remove it: dsh plugin --profile web remove dsh-planchart.

Tools

ToolWhat it does
planchart_setPublish the whole chart: title, optional summary, steps[], and a framework graph. Replaces the previous chart wholesale.
planchart_getRead back the chart currently displayed, as text — for revising a chart the model no longer has in context.

There is also a /planchart slash command that prints the current chart.

Step shape

{ "id": "…",            // optional; derived from the title when omitted
  "title": "Build recipe CRUD",
  "status": "pending",  // pending | active | done | blocked
  "detail": "create, edit, publish",   // optional
  "phase": "Build" }                   // optional; consecutive steps group under it

Framework shape

{ "direction": "TB",                       // TB (default) or LR
  "groups": [{ "id": "…", "label": "Client" }],
  "nodes":  [{ "id": "…", "label": "Web app", "kind": "entry",
               "note": "React + Vite", "group": "client" }],
  "edges":  [{ "from": "web-app", "to": "api-gateway",
               "label": "HTTPS", "dashed": false }] }

kind chooses how a box is drawn, not what it means. Ids may be omitted everywhere — one is derived from the label (CJK labels keep their characters), which is what edges then reference.

Visual language

The diagram is monochrome structure with exactly one accent, so a nine-box graph does not turn into nine competing fills:

kindDrawn asWhy
coretinted fill, accent borderthe only colour on the canvas — the part that does the work, and where the eye should land first
entry, outputfirm border, no fillthe system's boundary
storefaint fill, hairlineholds something
externaldashed hairline, muted textnot yours
defaulthairlinesupporting cast

Related plugins