Repository navigation
Releases
v0.3.10
Fix: installer default source was pinned to v0.3.7 (default entry installed the old version); now generated from the package version with an identity guard test. Installer verified matrix now includes dsh 0.1.7-alpha.1 (web/base 0.1.7-alpha.1). Users of v0.3.8/v0.3.9: reinstall with the default entry to get v0.3.10.
v0.3.9
Visualization plugin: render vega-lite/mermaid/diagram fenced blocks.
dsh-visualization 0.3.6
json-table hardening
- Concrete failure causes: an invalid json-table body no longer fails with a generic message. The error card now shows a localized cause line (zh: 失败原因:… / en: Cause: …) with the JSON parser's own message (e.g.
Expected ':' after property name in JSON at position 13), or an accurate shape description (e.g.found number at index 0). - New accepted shape — row arrays with a leading header row:
[["Column"],["Value"]](first row = header, the same convention ascsv); ragged rows are padded or truncated to the header width. Arrays of flat objects and the explicit{columns, rows}object remain accepted. - Model guidance updated: the
ui:data-table-fencessystem-prompt section documents the three shapes and bans brace-comma pseudo-objects at the source. - Installer default source and README pinned tags move to
v0.3.6.
Verified against dsh 0.1.2-alpha.3 / 0.1.5-rc.1 / 0.1.5-rc.2 (installer matrix; host web/base 0.1.2-rc.1 and 0.1.5-rc.2). Isolated acceptance: official CLI install on a reserved lab slot, byte-identity between the installed bundle and the packed candidate, factory-execution + react-dom render behavioral evidence (7/7), snapshot/verify drift check unchanged, and an independent final review that re-ran the parser tests (17/17).
Tag commit: 1cefc898dcb469b57e56966f3342c7d510189466
0.3.5 — fix every visualization fence on DSH 0.1.5 Hosts
Root cause
The published 0.1.5 frontends wrap the fence <pre> in a [data-code-block-content] seat inside md-code-block, so the language banner is the seat's previous sibling instead of the <pre>'s. The legacy DOM adapter — the only renderer seam on Hosts that lack the conversation.chat.assistant.codeBlock slot — resolved the banner with pre.previousElementSibling, which is null in that markup, so it returned no target for every code block and kept the raw source visible. Data tables (csv, tsv, json-table), Mermaid, Vega-Lite, and dsh-svg were all affected, and because the adapter fails open nothing was logged.
Fix
- Resolve the claim anchor from the
md-code-blockshell, prefer the[data-code-block-banner]seat for the fence language, and accept both Host generations: the pre-0.1.5 markup (banner and<pre>as siblings) and the 0.1.5 markup (banner plus a[data-code-block-content]seat wrapping the<pre>). - Regression coverage: a real code-block DOM fixture captured from a running 0.1.5-rc.2 Web GUI, plus a nested-seat case and a fail-open case. 81 tests pass.
- The verified installer matrix now includes
0.1.5-rc.2(exact versions only:0.1.2-alpha.3,0.1.5-rc.1,0.1.5-rc.2). lib/is rebuilt fromsrc/(bundled CSS-module class hashes are regenerated by the build).
Verified
- 0.1.5-rc.2 Host (legacy DOM adapter, candidate build):
csvrenders the data table and Mermaid renders its preview; the Host block is hidden only after a valid preview exists. - 0.1.2-rc.1 Host: the pre-0.1.5 sibling markup still claims and renders — no regression on the previous generation.
Install or upgrade
npx --yes github:shaomingbo/dsh-visualization#v0.3.5Restart DSH and hard-refresh the Web GUI afterwards.
dsh-visualization 0.3.4
Installer matrix includes exact dsh 0.1.5-rc.1 (and 0.1.2-alpha.3). Prefer this over v0.3.3. Does not claim 0.1.5-*.
npx --yes --ignore-scripts github:shaomingbo/dsh-visualization#v0.3.4
v0.3.2 — uninstall compatibility with pnpm 11
Fixed
Live verification of the v0.3.1 uninstall loop found that pnpm 11 rejects remove --ignore-scripts (unknown option), so the idempotent uninstall could not complete on the verified matrix.
The installer now passes the config-form flag --config.ignore-scripts=true to both dsh plugin add and dsh plugin remove — accepted by pnpm add and remove alike, keeping lifecycle scripts disabled either way.
Verified live against dsh 0.1.2-alpha.3 + pnpm 11.9.0 in an isolated DSH_HOME: fresh install, idempotent install, read-only status, uninstall, and idempotent uninstall. Bundle code unchanged.
Install
npx --yes github:shaomingbo/dsh-visualization#v0.3.2v0.3.1 — installer fix-forward (official dsh plugin path)
Fixed
Post-release verification of v0.3.0 in a clean environment surfaced an installer defect: on a machine without an existing DSH profile it crashed with a raw ENOENT, and it edited the profile manifest directly instead of using the host's public management command.
The v0.3.1 installer:
- delegates install/uninstall to the official
dsh plugin --profile <name> add/remove <source> --ignore-scripts(profile initialization and bundle-list reconciliation stay with the host CLI); - gates on the verified
dshCLI version (0.1.2-alpha.3, with DSH web/base0.1.2-rc.1) and fails with guidance — changing nothing — whendshis missing or unverified; - judges outcomes by exit status plus the profile-manifest postcondition;
statusstays read-only and clean on missing or malformed profiles.
Verified in an isolated DSH_HOME: fresh-profile install, idempotent re-install, read-only status, idempotent uninstall, and guidance failures (missing / unverified / failing CLI).
The bundle code is unchanged from v0.3.0; only bin/install.js, tests, and docs changed.
Install
npx --yes github:shaomingbo/dsh-visualization#v0.3.1
⚠️ Known issue (fixed in v0.3.2): on the verified matrix (pnpm 11), the v0.3.1 uninstall path fails because pnpm 11 rejectsremove --ignore-scripts. Use v0.3.2 — the bundle code is identical.
v0.3.0 — dsh-svg static channel + dsh-diagram-design skill
Highlights
- New
dsh-svgstatic SVG channel: single SVG root protocol, independent security policy (size limits enforced before any XML parsing, structural validation, allowlist-driven ID rewriting with marker/IDREF integrity, full-coverage numeric grammar with coordinate and percent bounds, output re-validation), preview claim gated on decoded images and mount liveness. dsh-diagram-designskill (bundled provider): adapted for DSH over pinned upstream cathrynlavery/diagram-design @562dbdf(MIT), with engineering-fidelity rules, system font stacks, and unitless line-wrap guidance. Seeskill/dsh-diagram-design/PROVENANCE.md.- Rebuilt
lib/artifacts from source via rolldown; installer pinned togithub:shaomingbo/dsh-visualization#v0.3.0.
Install
npx --yes github:shaomingbo/dsh-visualization#v0.3.0Restart DSH and hard-refresh the GUI afterwards. dsh-svg renders through the existing visualization plugin (Mermaid stays the default for ordinary diagrams; vega-lite for numeric charts).
Verification
- 69/69 tests,
npm run check,git diff --check,npm pack --dry-run(34 files) — all green on release commit03ab68b. - Candidate sha256
e6adc624bbb36bb4ee3763e9697bdd75e857e2a7a3dd9dc7d5ac19b3bda12f6finstalled and browser-verified in an isolated lab environment (host web/base 0.1.2-rc.1, CLI 0.1.2-alpha.3).
⚠️ Installer known issue (fixed in v0.3.1): the v0.3.0 installer crashes on machines without an existing DSH profile and bypasses the officialdsh pluginmanagement command. Use v0.3.1 instead — the bundle code is identical.
dsh-visualization v0.2.7
Release metadata alignment for Plugin Center Catalog v2. Pins the no-argument installer, bilingual documentation, manifest assertions, and help contract to v0.2.7. Runtime rendering behavior is unchanged from v0.2.6; all 35 tests pass.
dsh-visualization v0.2.6
- Show a neutral "rendering…" status for offscreen lazy previews instead of the failure label, so unscrolled diagrams no longer read as "无法安全渲染此 Mermaid 图表" before their first render attempt.
- Reserve the failure label for post-attempt errors; real Mermaid parse failures keep their detailed message.
- Apply to both Mermaid and Vega-Lite frames.
- All existing Mermaid, table, and Vega-Lite behavior unchanged.