apherchin/dsh-wonder-tools ↗★ 0
dsh-wonder-tools
DSH 工具箱(装配包):一个插件装好五个功能 —— 删除对话 / 重新生成(从这里重来)/ 队友命令(/teammate)/ 跨会话提醒 / 首轮结束自动命名;插件页呈现为 1 张卡 + 5 行组件,每行独立开关。 | DSH toolbox (assembly bundle): one card, five independently switchable features — delete conversation, rewind from here, teammate commands, cross-session attention, auto-title after the first turn. Renders as one card with five toggleable rows on the Plugins page. 适合需要一站式管理会话删除、重新生成、跨会话提醒等功能的用户。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:apherchin/dsh-wonder-toolsdsh-wonder-tools
English | 中文
One plugin card in DSH, five features, each with its own toggle.
dsh-wonder-tools is an assembly bundle for DeepSeek Harness (DSH):
its patch declares five component rows, so the Plugins page renders one card with five
independently switchable rows — no more hunting through five separate plugin entries.
| Row (component) | Provided by | What it does |
|---|---|---|
| Delete conversation | @apherchin/dsh-session-delete | Session context menu: Delete conversation / Copy session ID. Really deletes disk data, cascades into spawned subagent sessions, refuses live sessions. |
| Rewind from here | @apherchin/dsh-session-rewind | Assistant action row: erases that turn and everything after it from the model's view, puts the original prompt back in the composer, with a "branch recovery" option. |
| Teammate commands | dsh-sidefork-a-teammate | /teammate in two modes — a fresh teammate (inherits nothing) or a fork teammate (parallel branch, inherits completed turns). Needs the Agent Teams bundle. |
| Cross-session attention | dsh-windows-session-notification | Windows toast + tiered sound + taskbar badge when a session finished / needs approval / asks you something and you are not watching it. Windows only. |
| Auto-title after first turn | dsh-rename-title-after-first-turn | Names the main session once from its first Q+A. Host-only (no UI). Also disables the official first-prompt provider, whose 64-token budget is eaten by reasoning on pi-ai routes. |
Install
# one command: the assembly declares the five feature packages as dependencies
dsh plugin --profile
add dsh-wonder-tools
Then restart DSH (the packaged desktop app has no "reload page").
Per-feature switches: use each row's toggle on the card, or flip them in the profile patch
(~/.dsh/profiles/ /cordis.patch.yml).
How it works
This package contains no feature logic. Its cordis.patch.yml declares five rows, each naming
a package; DSH loads each package as a loader row, so the panel shows one card + five rows.
Host-only packages (auto-title) stay out of the renderer's all-or-nothing boot gate.
Invariants (violating these bricks the whole app)
- A row's package name must equal the
idits client bundle registers (window.__ModuleLoader__.load({ id })). The 2026-10-04 boot crashes were exactly this mismatch. - The five feature packages are dependencies, never entries in
dsh.profile.bundles(otherwise each becomes its own card). That is why they no longer declaredsh.bundle.patch. - A row's client bundle must activate, or the renderer boot gate fails the whole page.
Offline preflight (asserts all of the above):
node work/merge-plugins-20261004/a2-staging/verify-a2-composition.mjs
License
MIT