dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在编辑/写入工具行内联 +N −M 徽标,每轮末尾给出可折叠的文件变更汇总卡:对齐差异、逐文件审查与撤销;覆盖原生 edit/write、str_replace_editor 与 Code Dispatch 子调用,不依赖 git。
[!IMPORTANT] Retired — do not install. DeepSeek Harness now ships inline
+N −Mdiff badges, a per-turn changed-files card and a per-file review tab natively (since0.1.6-alpha.2), so this plugin's main line is redundant; its turn summary card stopped working on0.1.6-alpha.2+becauseconversation.chat.turnTailchanged from achainslot to alistslot. Last published version:0.1.9(supports harness up to0.1.6-alpha.1; older kernels need0.1.8or earlier). Read docs/retirement.md for the feature-by-feature mapping, the uninstall steps, and the one capability the harness never shipped (undo a turn's file changes).已停止维护,请勿安装。 官方 harness 自
0.1.6-alpha.2起自带行内+N −M徽标、 轮末文件变更卡与逐文件 review tab;本插件主线因此冗余,且conversation.chat.turnTail由chain槽改为list槽后,轮末汇总卡在0.1.6-alpha.2+上已无法工作。 详见 docs/retirement.zh.md。
A DeepSeek Harness Web plugin that visualizes agent file changes: inline +N −M badges on mutation tool rows, a per-turn file-change summary card, and full aligned diffs on click. Covers native edit/write calls, the opt-in str_replace_editor, and PTC dispatch sub-calls end to end. No git dependency, no third-party plugin dependencies.
uiConversation event registry, tool.call.toolview keyed slot and conversation.chat.turnTail chain carry their 0.1.5-rc.1 shapes, and diff hunks are read from the tools' persisted wire meta. PTC dispatch arrives as tool/ptc-dispatch(-start); the retired tool/code-dispatch(-start) spelling is still matched so a session recorded before that rename keeps its card. Older kernels are NOT supported by this version — install dsh-diff-stat@0.1.8 (or an older release that covers them) on those kernelsedit, write and str_replace_editor (str_replace_editor is opt-in, off by default; keyed lower-priority shadow; uninstall restores stock). Counts are the real changed lines — the same LCS walk the diff renders — estimated from the arguments while running, exact once the result settlescallId dedup keeps replays from double-counting| Turn summary card | Taken-over row & aligned diff |
|---|---|
Per-turn card with review / open / undo per file (left); an inline badge with its aligned diff window (right), both under the optional background glass.
edit/write/str_replace_editor keys of the tool.call.toolview keyed slot at priority −1 (shadows the shipped rows; str_replace_editor is opt-in). Row diffs follow the applied wire meta (oldText/newText with ±3 file context) with the call-time argument fallback for PTC sub-calls, so a truncated window that dropped the call head still renders from the result meta. The turn accumulator counts the same way, including meta-only settlementsConversationNodeDefinition accumulator (turn/start, tool/call, tool/result(append), tool/ptc-dispatch — and the retired tool/code-dispatch spelling — plus -start evidence) publishes Turn data; the conversation.chat.turnTail chain claims rendering — modeled on the official ui-deliverables plugin. Dispatch files join from the stock chat tool tree, whose tool-call nodes already fold every dispatch into its root call's subCalls. A pure-compute run_code turn with no file mutations still claims (first-wins) and renders null — accepted, the select cannot see the join result. Cold-opened pure-PTC turns may miss the card (dispatch records carry no turn coordinate; best-effort)sessionController remote (action: 'reveal'), while VS Code — which the harness exposes no equivalent for — stays a local spawn. When the host half is absent the dependent actions hide themselveswindow.__DSH_BACKGROUND_GLASS__ registry — subscribing to its ready event (both arrival orders + hot reload); the bridge never appearing leaves the ordinary UI untouched# from npm
dsh plugin --profile web add dsh-diff-stat
# or from GitHub
dsh plugin --profile web add github:HaoyueQin/dsh-diff-stat
# restart dsh web to take effect
dsh web
Uninstall:
dsh plugin --profile web remove dsh-diff-stat
pnpm install # devDependencies; prepare builds lib/ automatically (runtime needs Node >= 22.18)
pnpm build # host half → lib/index.js + browser half → lib/client.js (one tsdown run)
pnpm typecheck # both halves via tsc
pnpm check:align # diff aligner & data-model assertions (needs Node >= 23.6)
pnpm check:join # tool-tree join fingerprint assertions (needs Node >= 23.6)
Kernel compatibility: this build targets harness
>= 0.1.5-rc.1only. Older kernels need an older plugin release — installdsh-diff-stat@0.1.8there.
MIT