Back to home

yq04

dsh-turn-review

No description

Stars
0
Language
TypeScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-turn-review

English · 简体中文

DeepSeek Harness Web 插件:在 dsh-better-sidebar(omdsh-dev/DSH-better-sidebar)里增加一个 本轮审查 Tab——对「刚刚这一回合」的 diff 做 Approve / Request changes 的人闸门。

不是 /rewind。 别人做时光机;我们做审查门。

五条特色(v1 缺一条都不算做成)

#特色别人通常怎样我们怎样
1只审上一回合检查点时间线、fork 回任意一步只保留「刚结束的这一轮」;新回合开始,上一张审查过期
2同一条会话/rewind 后 fork 子会话不 fork、不剪对话;评语 inject 进当前 log,不 wake
3代理归属一堆路径,不知道谁写的主会话 / 子代理 / 未归因(shell 或会话外) 分组
4按文件点名 + 人话评语整段 restore勾选路径 请求修改;可选一句评语;inject 里只有路径 + 评语,没有文件正文、没有 token
5能看 diff 再决定命令行确认就回滚点文件先看 回合开始快照 vs 现在 的 unified diff(内嵌本 Tab),再勾选

两条质量底线:回合开始打工作区快照(shell 改的也进清单);禁止 git reset --hard / git clean / 会话 fork / /rewind 命令 / 模型工具。

只读历史

Tab 底部可回看最近 20 轮审查:每轮标记 已通过 / 请求修改(含打回路径与评语)/ 已过期,展开可见路径清单。历史永远只读——不能从第 N-3 轮恢复磁盘,时间线 rewind 不在产品里。

和 /rewind / diff 怎么共存

本轮审查 = 对刚刚这一回合的 diff 做 Approve / Request changes。
需要回到更早的消息或 fork 会话,请用 /rewind 类插件或 Claude 式检查点。
提交和推送请用 better-sidebar Git Tab 和 Git 远程。

安装

先装 better-sidebar,再装本插件(官方 web profile):

dsh plugin --profile web add dsh-better-sidebar
dsh plugin --profile web add git+https://github.com/yq04/dsh-turn-review.git

没有 better-sidebar 时,host 路由仍会挂上,客户端 inject = ['betterSidebar'],Tab 不会出现。卸载:

dsh plugin --profile web remove dsh-turn-review
dsh plugin --profile web --dump-config

需要系统 git。插件不存 token,inject 文本会把常见 token 形状打成 ***

行为边界

不做
回合开始快照 + 结束 diff(含子代理与 shell 改动)检查点时间线、退到任意 step
按路径恢复(unlink / checkout 回合开始 HEAD / 写回快照字节),恢复后再读盘验证git reset --hardgit clean、force-push
agent.inject notice(不 wake)sessions.prompt / followup 自动再跑一轮
POST + application/json + Host 信任围栏注册模型工具
二进制 / 超大 / 符号链接路径明确拒绝静默跳过、跟随符号链接

请求修改必须 confirm: true——和 Git 远程的 push 一样,由人点

Model Experience

仅当用户 请求修改 且 inject 成功时,模型在下一轮请求里看到一条 user 消息(source.kind === 'plugin')。文案锁定中文,只含路径 + 归属 + 可选评语;文件正文不进、token 脱敏、路径列表截断时注明省略数。通过不 inject(避免每轮污染上下文)。磁盘恢复后若模型不可达(agent-unavailable),UI 会明示「文件已恢复,但未能写入会话」。

限制

  • 不是时光机:不 fork、无 /rewind、无检查点时间线;新回合开始旧审查过期。
  • 恢复基准是回合开始的工作区状态(含回合前已有的脏改动);回合内已被 commit 的新增文件只会删除工作区文件,index/HEAD 请到 Git Tab 处理。
  • 非 git 工作区:只列工具归因,不能恢复(UI 明示)。
  • 上限常量(src/config.ts):单文件快照 1 MiB、共 200 个文件;v1 不支持配置,后续可改为 schemastery Config。

开发

pnpm install
pnpm typecheck
pnpm test
pnpm build
node scripts/verify-self-contained.mjs

dsh.bundle.patchcordis.patch.yml。发布前 pnpm build(npm prepare 会跑 tsdown)。

许可

BSD-3-Clause(与官方 plugin-template 相同)。