返回目录

dsh-change-review

精选清单收录维护状态: 活跃

cirelir/dsh-change-review

DeepSeek Harness 会话修改审查插件:追踪会话内 write/edit,diff 对比展示,会话隔离/子代理聚合/SSE 实时推送/颜色自定义

前往 GitHub
$ dsh plugin --profile web add dsh-change-review

14

星标

5

Fork

JavaScript

语言

MIT

许可证

2026-08-15

创建于

2026-08-17

最近推送

MIT 开源的 DSH web 插件:把会话里的 write/edit 调用变成可审查的行级 diff,按会话与轮次隔离,并支持直接写盘的定点撤回。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-11-13

许可证

MIT

01它能帮你完成什么?

  • 在 DSH 会话里以行级 diff 看清 agent 改过哪些文件

    一个「审查」页签:左侧文件列表(write/edit 次数、~added/~removed),右侧选中文件的 LCS diff,两侧都带行号

    想在信任 agent 之前先核对其改动的开发者

  • 不离开 DSH 就能撤回某一处改动或整个文件

    确认后直接落盘的撤回——单条改动走 3-way 合并、保留后续不重叠的修改;整个文件则恢复到本会话首次改动之前

    需要定点撤销、而不是跑 git checkout 的使用者

  • 按会话、按轮次审查,并且改动还在进行时就能看到

    每轮末尾的「本轮变更审查」卡片,加上按会话隔离的审查页签,通过 SSE 实时刷新

    跑多轮 agent 任务、需要逐轮可追溯的人

02如何接入 DeepSeek Harness?

前置条件

  • 装好 DSH 并带 web profile——插件只针对 `dsh --profile web`

安装步骤

  1. 01

    方式 A:`dsh plugin --profile web add dsh-change-review`(README 给该方式标注的前提是「after npm publish」)

    $ dsh plugin --profile web add dsh-change-review

  2. 02

    方式 B(手工部署):让包能被 harness 解析(例如放进 `node_modules`),再在 profile 的 `cordis.patch.yml` 里用 `insert` 注册 `diff-review` / `ui-diff-review` 两行

  3. 03

    重启 dsh web

验证接入成功

作者未说明

03DSH 适配与能力边界

DSH 适配原生运行时

DSH web 插件 bundle:一个包同时带 Host 半区(工具调用监听、LCS diff、HTTP + SSE 路由)与浏览器半区(「审查」页签、角标、设置页)

  • 自动跟踪 write / edit

    当前进程里的 `write` / `edit` 工具调用→改动前后的内容快照与时间戳,按会话分桶,并把子代理的改动聚合到根会话

    把审查记录持久化到 `~/.dsh/profiles/web/diff-review-state.json`
  • LCS 行级 diff

    新增 / 删除 / 上下文行,两侧都带行号;文件列表与 diff 预览两栏独立滚动

  • 定点撤回

    单条改动,或整个文件→确认后把文件写回磁盘——保留后续不重叠的改动、重叠则拒绝,本会话内新建的文件直接删除

    直接写入磁盘撤回成功后该条改动及其之后的改动都会离开待处理列表
  • 逐轮审查卡片

    每轮末尾的「本轮变更审查」卡片,列出该轮改动文件、可展开的 diff 与单条撤回;页签另有「最新一轮」范围切换

  • 实时推送与配色

    `/diff-review/events` 的 SSE 流让角标与列表即时刷新;12 项配色,带亮/暗预设与透明度滑杆

    配色选择存在 localStorage 的 `dsh.diff-review.colors` 下

04适合谁?何时不该用?

适合

  • 想在信任 agent 之前先核对其改动的开发者
  • 需要定点撤销、而不是跑 git checkout 的使用者
  • 跑多轮 agent 任务、需要逐轮可追溯的人

不适合

  • 撤回是直接写盘,不是 git 操作:撤回中间某条改动会做 3-way 行合并,保留后续不重叠的修改、遇到重叠直接拒绝;整个文件撤回则恢复到本会话首次改动前的快照,本会话新建的文件会被删除。撤回还有上限——每文件 100 次操作、单次内容 120KB、diff 每侧 1500 行、合并每侧 2000 行——超出的改动既不进 diff 也无法撤回。
  • README 给一行命令安装标注了「after npm publish」;如果这样装不上,就走手工路线——放进 `node_modules` 并在 profile 的 `cordis.patch.yml` 里加 `insert` 行——然后重启 dsh web。插件只针对 Web profile。
  • 插件与 harness 进程同权限运行,右键菜单还会在 Host 侧派发命令(打开编辑器、`open -R` / `explorer` / `xdg-open`);README 明确要求安装前先读源码,并声明上架市场不等于安全背书。

05兼容性、维护与安全提示

  • 撤回是直接写盘,不是 git 操作:撤回中间某条改动会做 3-way 行合并,保留后续不重叠的修改、遇到重叠直接拒绝;整个文件撤回则恢复到本会话首次改动前的快照,本会话新建的文件会被删除。撤回还有上限——每文件 100 次操作、单次内容 120KB、diff 每侧 1500 行、合并每侧 2000 行——超出的改动既不进 diff 也无法撤回。
  • README 给一行命令安装标注了「after npm publish」;如果这样装不上,就走手工路线——放进 `node_modules` 并在 profile 的 `cordis.patch.yml` 里加 `insert` 行——然后重启 dsh web。插件只针对 Web profile。
  • 审查记录落在工作区之外的 `~/.dsh/profiles/web/diff-review-state.json`,重启后自动恢复;快照升级之前产生的记录没有内容快照与轮次标记,只能看不能撤回,也不会出现在逐轮卡片里。
  • 插件与 harness 进程同权限运行,右键菜单还会在 Host 侧派发命令(打开编辑器、`open -R` / `explorer` / `xdg-open`);README 明确要求安装前先读源码,并声明上架市场不等于安全背书。
2026-08-152026-08-17v0.3.0

MIT · 最新版本 v0.3.0(2026-08-17 发布)· 仅 README 证据,未做安全审计

06常见问题

怎么把 dsh-change-review 装进 DeepSeek Harness?

两条路:`dsh plugin --profile web add dsh-change-review`(README 给这个方式标注的前提是「after npm publish」);或者手工部署——让包能被解析(例如放进 `node_modules`),在 profile 的 `cordis.patch.yml` 里加指向 `dsh-change-review` 的 `diff-review` / `ui-diff-review` insert 行,然后重启 dsh web。插件只针对 Web profile。

它会往我的 DSH 安装里写什么?

审查记录持久化在工作区之外的 `~/.dsh/profiles/web/diff-review-state.json`(防抖自动保存,退出时同步刷盘),重启后自动恢复;删掉这个文件就清空历史。配色选择存在 localStorage 的 `dsh.diff-review.colors` 下。撤回动作本身会把受影响的文件写回磁盘。

撤回单条改动和撤回整个文件有什么区别?

撤回单条改动会用 3-way 行合并把它改回上一次的内容,因此后续不重叠的改动会保留,重叠的直接拒绝并给出提示;成功后该条及其之后的改动都会离开待处理列表。撤回整个文件则恢复到本会话首次记录改动之前的状态,本会话内新建的文件会被删除。两者都会先确认,然后直接写盘。

子代理和多轮会话怎么归属?

子代理的改动会沿 owner 链聚合到根父会话,所以每个会话只审自己的改动。每条操作还会扫描会话日志里的 `turn/start` / `turn/end`,记录它发生在根会话的哪一轮——因此续跑的会话和多轮会话也能正确归属,子代理的改动计入父轮次,逐轮卡片与「最新一轮」视图都只显示该轮的改动。

跟踪和撤回有什么上限?

有:每个文件最多 100 次操作,单次操作内容截断到 120KB,diff 每侧最多 1500 行,单条撤回用的 3-way 合并每侧最多 2000 行。内容快照升级之前产生的记录没有快照与轮次标记——它们仍会显示在「审查」页签里,但不能撤回,也不会出现在逐轮卡片中。

08数据与来源

  • 作者声明github.com1f2de55b3f95…

    A **session change-review plugin** for DeepSeek Harness (DSH): automatically tracks file `write`/`edit` operations insid…

  • 作者声明github.com1f2de55b3f95…

    > One package carries both the Host logic and the browser UI (`dsh.bundle` + `dsh.client` manifests).

  • 作者声明github.com1f2de55b3f95…

    dsh plugin --profile web add dsh-change-review

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-13。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。