DeepSeek Harness 插件

dsh-diff-approval

DeepSeek Harness plugin: pending-edit review with whole-file diff and Keep/Revert(英文原文)

跳到安装方式

来源信息

GitHub 仓库
9087/dsh-diff-approval
最近更新
2026年8月20日
分类
工具与能力
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/9087/dsh-diff-approval
插件名:dsh-diff-approval
作者:9087

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-diff-approval

English | 中文

![npm 版本](https://www.npmjs.com/package/dsh-diff-approval) ![CI](https://github.com/9087/dsh-diff-approval/actions)

一个 DeepSeek Harness(DSH)待处理改动审核插件:自动跟踪每次成功的 edit / write / 编辑器(str_replace_editor)改动,把一个文件的全部未处理改动合并为一条待处理条目,在侧边栏展示每个文件的完整差异,支持保留 / 回退——全程不依赖 git。

![待处理改动面板](docs/images/pending-panel.zh.png)

✨ 功能

  • 差异视图:语法高亮与 +/− 统计,按差异块跳转(上一处 / 下一处)。选中 diff 文本后,底部状态栏显示 文件:起-止 引用——点击(或按 Ctrl+L)即可复制。
  • 高亮语言:diff 底部状态栏可选高亮语言——默认按扩展名自动检测(显示为「自动:…」),也可手动从下拉切换。
  • 保留 / 回退:每个文件一次决定。保留即接受;回退把文件写回最早基准(新建文件则删除,已被删除的跟踪文件则恢复)。
  • 打开 / 定位:从 diff 头部即可在默认应用中打开文件,或在文件管理器中定位它。
  • 持久化:待处理状态按 workspace 落盘至 <dshHome>/diff-approval/workspaces/<workspaceId>.json,跨重启保留——回来时未处理的改动仍在,即便换了新会话。

📦 安装

dsh 已在 PATH 中:

dsh plugin --profile web add dsh-diff-approval

若通过 npx 启动 harness(如 npx @deepseek-ai/dsh web):

npx @deepseek-ai/dsh plugin --profile web add dsh-diff-approval

或手动:把本包加入 profile 的 package.json 依赖,并在该 profile 的 cordis.patch.yml 中加入:

- insert:
    - id: diff-approval
      name: dsh-diff-approval
      # 可选:把落盘位置迁到别处(默认是
      # <dshHome>/diff-approval/workspaces)。
      # config:
      #   storageDir: ~/dsh-pending

然后重启 dsh web

🚀 用法

1. 照常和 agent 对话——成功的 edit / write 调用会自动记录。 2. 点击侧边栏底部的 待处理改动 入口(角标显示数量)。 3. 点击文件行展开该文件的完整差异,用 上一处差异 / 下一处差异 在差异块间跳转。选中文本后点击底部状态栏的引用(或按 Ctrl+L)即可复制行引用。 4. 保留 接受该文件的改动;回退 恢复其最早基准。处理后该行离开列表。

📝 注意事项

  • 只记录被跟踪的改动(editwrite 与编辑器 str_replace_editor 调用)。通过以上工具以外的删除(如 shell rm)只能对已跟踪的文件感知:条目显示"文件已不存在",回退即恢复。
  • 回退新建文件会删除该文件(文件系统接缝没有删除 API)。
  • 没有 workspace 的会话条目仅存内存;损坏的落盘文件会被拒绝,删除即可重置。

🛠 开发

corepack pnpm install
pnpm run typecheck   # 两个编译面的 tsc
pnpm run build       # 产出 lib/index.js 与 lib/client.js
pnpm test