Repository navigation
Releases: 111222cjyq/dsh-curate
Release list
dsh-curate v0.7.6
dsh-curate v0.7.6
这是一个以真实对话可读性和发布文档为主的版本。
亮点
- 真实 Chat 显示写入后的文本:顶部「修改后 / 原文」切换;「已修改 · N 处」标记。
- 逐处高亮:新增/改写词句直接高亮;纯删除显示「原文删除 N 字」;详情层新增「改动」视图(新文本高亮 + 旧文本删除线)。
- 编辑器前后双操作:顶部和底部都有「取消编辑 / 保存修改」,长文本不用再找按钮。
- 可恢复草稿:无待应用修改时明确提示;旧草稿无法恢复时可清除重来。
- 投影对象缓存:插件热重载后复用同一 projection 对象,避免旧会话报
session message projection ... was removed or replaced;已经失效的旧会话仍需完整重启一次。 - 0.7.6 修复:Chat 标记不再遮挡正文;编辑器标题不再重复。
案例截图
安装 / 升级
dsh plugin --profile web add github:111222cjyq/dsh-curate安装后完整重启 dsh web 并硬刷新页面。不要在会话打开时反复 disable/enable。
模型支持
当前只验证 DeepSeek V4.1 系列。其他模型可能因推理签名、不可变历史、服务端会话状态或消息格式约束而不适用;在非 DeepSeek 模型上请先做小规模验证。
成本提醒
修改历史会降低 prompt cache 命中率,越靠前的修改成本越高;批量应用优于逐条应用。压缩同样会改变前缀,请同时权衡 token 节省和缓存命中。
人的局限
dsh-curate 适合长文本互动中的有限、精确、可审计上下文控制:去除冗余、过期草稿和工具噪音,保留需求、决策、标识符和错误信息。它不适合替代自动上下文管理,也不适合无人值守的长时编码任务。
验证
- 137 项自动化测试通过;只读实机回归
verify-live.mjs94 passed / 0 failed; - 实机案例覆盖编辑、应用、真实 Chat 高亮、改动详情、编辑器双端按钮、压缩预览;
- 架构图:docs/screenshots/06-architecture.png
- 使用手册:docs/USAGE.md
dsh-curate 0.5.2 — repair a reply stopped before producing text
dsh-curate 0.5.2
Repair an assistant reply that was stopped before it produced visible text.
Added
- When a reply has only a reasoning block (an aborted turn), the editor now
opens on “Add the missing reply text” and appends a text block through the
message projection — the model sees the repaired answer. The block picker can
still switch to the reasoning block.
Fixed
- Editing a text-less reply no longer silently edits the reasoning block under a
“Edit the reply” title; the target is named and the reasoning-only case is
explained. - Saving an empty editor is no longer a silent no-op (the button stays
clickable and explains why nothing was saved). - Removed a native “Rendered” tooltip that covered the editable area.
Upgrade: restart dsh web (host half) and hard-refresh the page (client half).
Full notes: CHANGELOG.md
dsh-curate 0.5.1 — compression sheet visibility fix
dsh-curate 0.5.1
Bugfix release for the workbench.
Fixed
- “Compress context” looked dead after scrolling. The compression sheet is
rendered at the top of the workbench's scrollable body; when the body was
scrolled down, browsers kept the scroll anchor, so the sheet opened far above
the viewport and clicking the button appeared to do nothing. Opening the
sheet now scrolls it into view and focuses its first control. - Busy sessions no longer have a silent disabled button. The footer compress
button explains the busy state (title + toast) and the footer note shows the
reason even when the body is scrolled. - Added regression tests for both behaviours (108 tests total).
Requires DSH 0.2.1-rc.x and Node.js ≥ 22. After upgrading: restart dsh web
(host half) and hard-refresh the page (client half).
Full notes: CHANGELOG.md
dsh-curate 0.5.0 — publish-ready context curation
dsh-curate 0.5.0
Human-in-the-loop context curation for DeepSeek Harness: triage turns, rewrite
messages in place, then compress the marked ranges with model-written summaries
or the official /compact.
Highlights
- Drafts can no longer be lost: a saved draft survives a session that grew;
tones/edits are restored by message seq with an in-panel notice, and a failed
localStorage write is reported instead of claiming success. Closing the panel
flushes the pending draft. - Safer writes: request bodies are decoded as UTF-8 across chunk boundaries
(no more U+FFFD in edited messages), byte-accurate limits, required and
earlier-checkedexpectedLastSeq, and cold sessions are never silently
resumed. - Better official compaction: stable error codes, a focusable replacement
node, no useless multi-MB backup when there is nothing to compact. - Backups: 0600 files in 0700 directories, unique names, at most 20 per
session (DSH_CURATE_BACKUP_KEEP). - Accessible workbench: named dialog with Escape/focus trap, labelled icon
buttons,aria-pressedtoggles, host-locale-aware copy, visible refresh. - Robust long sessions: large full-text expansions render in pages; huge
/statepayloads shrink their previews. - Single-sourced version:
package.jsonfeeds both halves; the client build
injects it and fails loudly if it cannot.
Requires DSH 0.2.1-rc.x and Node.js ≥ 22.
Install:
dsh plugin --profile web add github:111222cjyq/dsh-curateThen restart dsh web and hard-refresh the page (the host half loads at boot).
Full notes: CHANGELOG.md


