Repository navigation
Releases
plain-slides v0.1.1 — 修复:插件此前完全无法加载
If you are on v0.1.0, upgrade. v0.1.0 never loaded at all.
The bug / 这个 bug
Every conversation.chat.node registration went in at the default slot priority,
while the harness's own renderers already occupied those exact keys at that same
priority. Two permanent registrations competing for one cell at one priority is
not a tie the slot system can resolve, so the row failed to load and the plugin
contributed nothing — the deck never appeared and startup reported a load error.
插件注册进 conversation.chat.node 时用的是默认优先级,而 harness 自带的渲染器早就占了同样的
key、同样的优先级。同一个格子里的两个永久注册无法判定胜负,整个插件因此加载失败 —— 卡片从来
没出现过,启动时还会报一个插件加载错误。
It was never a config, packaging or profile problem: the bundle row, the profile
bundles entry and both halves were correct the whole time.
The fix / 修复
Every registration now carries priority: -10. A lower number wins the cell, so
the plugin deterministically shadows the built-in renderer. Two regression checks
were added to test/client.test.mjs.
dsh plugin --profile web add github:dangxinxing090-svg/dsh-plugin-plain-slidesAlso in this release / 本版还包含
- A class-wide regression check: every
conversation.chat.noderegistration
must declare a shadowing priority, so a new key without one fails the test
suite before release instead of silently shipping a plugin that cannot load. - A Troubleshooting section and a "Shadowing a built-in slot" development
note, in English and Chinese. 中英文都补了「排错」和「覆盖自带槽位必须给优先级」两节。 package.jsonversion aligned with this tag.
Verified / 已验证
Live slot inspection on a running harness shows all three registrations active:
assistant-step plus the seven hidden process kinds at priority −10,
dshdeck-stage in conversation.chat.assistant-actions, and
dshdeck-stage-overlay in shell.overlay. tool-call, turn-error and
turn-max-tokens are deliberately left to the shipped renderers.
npm test → 28/28 host + 36/36 client checks.
plain-slides v0.1.0 — 让每一轮回答变成大白话幻灯片
⚠️ Do not use this version. v0.1.0 never loaded — a slot-priority collision made the plugin fail entirely. Use v0.1.1.
Turn each agent reply into a plain-language slide deck instead of a wall of technical markdown.
把 agent 的每一轮回答,变成一叠说人话的幻灯片,而不是一整面技术文档。
What you get / 你会得到
- A deck per reply — one conclusion, a few process steps, and a questions slide when the agent needs a decision. 每轮回答一叠卡片:一句结论、若干步过程,需要你拍板时最后一页就是问题。
- Plain language — one extra model call rewrites the technical wording. 一次额外模型调用把术语翻译成大白话。
- A tidy transcript — reasoning folds, tool folds, injected context, compaction markers, retries and the system prompt are not rendered at all. While a turn runs you get one calm line instead of streaming narration. 对话里只剩你的消息和幻灯片;运行中只有一行提示。
- Nothing is lost — failures and truncation stay visible, interactive cards (approvals, plan review, questions) keep working, and everything hidden is still in the Trajectory view. 失败信息保留,交互卡片照常,隐藏内容都在轨迹里。
- Always readable — a local markdown → HTML fallback runs whenever the rewrite call fails. 改写失败自动退回本地渲染。
Install / 安装
dsh plugin --profile web add github:dangxinxing090-svg/dsh-plugin-plain-slidesThen restart dsh web and refresh the page. 然后重启 dsh web 并刷新页面。
In this release / 本次内容
- Slide card replacing the raw assistant markdown, with a table-aware markdown renderer and an HTML allow-list sanitizer.
- The transcript takeover: 7 process-only message kinds render as nothing.
- Tool cards deliberately left alone —
tool-callowns thetool.call.toolviewslot, which is the only client surface for the plan-review UI. - Rewrite budget raised to 8000 tokens with one retry at 2× — a reasoning model was previously spending the whole budget on reasoning and returning nothing.
- 62 checks across two test files (
npm test).