dsh-diff-approval

DSH PLUGIN开发与运行时

仓库 9087/dsh-diff-approval · npm dsh-diff-approval

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH plugin 让每次 agent 编辑都可审批:侧边栏集中展示 diff,支持逐文件/逐块保留或回退,并可导入 Git/SVN/Perforce 本地改动。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 9 复刻 1 · 未关闭 issue 1
最近更新 2026-10-08 创建于 2026-08-16
README 9.4 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 12 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/cordis@>=4.0.1、react@^18.2.0需要同时安装的同级依赖
npm 包名dsh-diff-approval可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-diff-approval:DeepSeek Harness 的待审变更管理插件

  • 全文件 diff 高亮
  • 逐块保留/回退
  • 撤销/重做
  • 导入 VCS 改动
  • 状态持久化

适用场景

文件读写代码评审

上游标签

ai-codingapprovaldeepseek-harnessdiffdsh-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方9087仓库 dsh-diff-approval · 默认分支 main
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言TypeScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue9 / 1 / 1收录时的数值,非实时
创建 / 更新2026-08-16 · 2026-10-08最后推送 2026-10-11
本站收录2026-08-19首次进入本站目录的时间

README 全文

9.4 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-diff-approval

English | 中文



)
)

一个 DeepSeek Harness(DSH)待处理改动审核插件:自动跟踪每次成功的 edit / write / 编辑器(str_replace_editor)改动,在侧边栏整合为一个待处理列表,可逐个文件查看完整差异并保留 / 回退,也可以把工作区里版本控制仓库的本地改动一键导入(Git / SVN / Perforce)。

面板还可把文件列表折叠成浮动卡片;浮窗形态下可以逐边选择覆盖左侧边栏、上方标题栏、右侧边栏与下方输入框(四边全开就是原来的全屏,全关则是一张普通浮窗卡片),也可以停靠到右侧边栏、成为其中一个标签页:

打开它的入口有两个:左侧边栏底部那一行,以及会话标题行右侧的按钮簇——也就是 App 放自己会话级操作的地方(「下载 Session 日志」就在那里),所以左侧边栏折叠或隐藏时也能一键叫出审核面板。

折叠的文件列表 覆盖全部

对 Markdown 文件,还可把源码行差异切换为渲染后的「改前 / 改后」预览:

✨ 功能

  • 差异视图:语法高亮整文件差异与 +/− 统计,滚动条上有概览标尺标示改动位置,支持文件内搜索(Ctrl+F,用 F3 / Shift+F3 步进,并高亮匹配词)。列表按视口虚拟化渲染,大文件也能保持流畅。
  • 差异块导航与操作:用 Ctrl+↑/↓(或上一处 / 下一处按钮)在差异块间跳转,当前块会高亮闪烁,导航以当前滚动位置为锚点并在首尾循环。悬停某一块可从小操作框单独保留 / 回退该块,并显示其位置(如「2/5」);处理完一块后会自动跳到下一块。跳转目标上方保留的行数可在设置中配置。
  • 选区操作框:拖动选中一段行,会浮现保留 / 回退该段行的操作框。
  • 整文件与批量操作:文件列表里的文件可逐个保留 / 回退,也可在列表底部全部保留 / 全部回退。
  • 已处理文件保留在列表:某文件的改动全部处理完后,条目仍保留在列表中,面板会询问是移除还是继续保留。
  • 撤销 / 重做:每次保留、回退、导入与评论都可以用 Ctrl+Z / Ctrl+Shift+Z 撤销 / 重做(可在「快捷键」中重绑,Ctrl+Y 仍作为别名),面板打开期间全局生效,输入框保留各自的编辑行为。
  • 快速呼出与文件切换:Ctrl+D(可在设置中修改)在任意位置开关面板,Esc 关闭;左侧栏底部那行、以及会话标题行里 App 自身操作旁的按钮,也都是一键入口;Ctrl+Tab / Ctrl+Shift+Tab 在待处理文件间切换。
  • 行引用:选中 diff 文本后,底部状态栏显示其 (文件:行号) / (文件:起-止) 引用——点击(或按 Ctrl+L)即可复制,开启设置后还会自动粘贴到消息输入框并获得焦点。消息输入框和排队消息里的引用会随文件改动自动对齐:存活的行映射到新行号,整段被删的行变成 (文件:LINE_MISSING)。
  • 高亮语言:默认按扩展名自动检测,也可通过下拉列表手动切换。
  • 自动换行:语言下拉旁有个「Wrap lines / 自动换行」开关,按语言记住;CJK 逐字断行、拉丁词保持完整。
  • 双栏对比:可选的双栏视图(左「改前」|右「当前」),逐行对齐,两侧各自横向滚动、共享纵向滚动条。可在工具栏或设置中切换,默认是单栏(合并)视图。双栏视图按内容相似度对齐改动块,并对改动行做词级差异高亮——拉丁文字按整词、CJK 逐字。
  • Markdown 预览:对 Markdown 文件可在「源码」行差异与渲染后的「改前 / 改后」预览之间切换。预览内容最大宽度可配置。
  • 外观自定义:在「差异视图」设置组里可调整差异代码字号(%)、行高(px)、新增 / 删除行颜色,以及 Tab 宽度(2 / 4 / 8 空格),并带实时预览。
  • 评论与批注:在任意行上选中一段并写下评论,评论卡片锚定在选中行下方,可以在卡片中与智能体直接探讨相关内容。评论模式默认开启,可以在设置中关闭。智能体可以主动评论(标注):利用该功能可以要求智能体对相关代码进行标注,提高代码阅读效率。例如说一句「请帮我标注下这个项目的启动流程」,它会把入口、初始化顺序与关键分支的说明逐条标注到对应代码行上,顺着卡片读下来即可。双栏视图里评论会把这次改动的两侧都引用进去(删除行与新增行),智能体看到的是完整的替换。
  • 文件菜单:默认开启(在「差异视图」组里的「文件菜单」一行可关)。它接管了如下一些文件链接的点击操作:外壳「已编辑 / 产出文件」列表里的文件行、消息里的 @文件 引用与文件链接、以及本插件 Markdown 预览里的相对链接,并提供:默认方式打开(重放外壳自己的行为)、在审批面板中查看、复制文件路径。
  • 内置 CJK 代码字体:面板内置 JetBrains Maple Mono,按 unicode-range 子集化并切片,默认开启,设置中可以关闭。
  • 外部改动:已纳入列表的文件若之后被外部修改(其它工具 / 编辑器),面板会跟进最新内容并标记分歧。
  • 打开 / 定位:查看某个文件的差异时,可一键在默认应用中打开它,或在系统文件管理器中定位它。
  • 导入版本控制的改动:列表为空时,点击按钮即可导入工作区里 Git / SVN / Perforce 的本地改动——凡是没有提交的都算,add 过与否一样(Git 以最后一次提交为基准,即 git diff HEAD 的口径),以及已删除文件,和(可选开启的)VCS 从未见过的文件(未跟踪 / 未版本化)。通过从工作区目录逐级向上查找 VCS 根目录,工作区在子目录里也能识别。
  • 持久化:待处理状态按 workspace 落盘至 /diff-approval/workspaces/.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
# 可选:把落盘位置迁到别处(默认是
# /diff-approval/workspaces)。
# config:
#   storageDir: ~/dsh-pending

然后重启 dsh web。

🚀 用法

  1. 照常和智能体对话——成功的 edit / write / 编辑器(str_replace_editor)调用会自动记录。
  2. 点击侧边栏底部的 待处理改动 入口,逐文件查看差异并 保留 / 回退。
  3. 列表为空时,点 导入版本控制的改动,把尚未提交的 Git / SVN / Perforce 改动拉入。

📝 注意事项

  • 只自动记录被跟踪的改动(edit、write 与编辑器 str_replace_editor 调用)。通过以上工具以外的删除(如 shell rm)只能对已跟踪的文件感知:条目显示"文件已不存在",回退即恢复。
  • VCS 导入通过部署环境的 shell 执行器运行只读的 Git / SVN / Perforce 命令,需要对应 CLI 在 PATH 中。包含版本控制未跟踪文件(默认关闭)会扫描整个工作区,目录很大时可能较慢。
  • 新建文件的整文件回退操作显示为删除并移除该文件。
  • 回退文件时会保留其当前换行符(LF / CRLF)。
  • 没有 workspace 的会话条目仅存内存;损坏的落盘文件会被拒绝,删除即可重置。
  • 侧边栏底部入口会与其他插件的入口纵向排列,并在存在专门的 dsh-footer-order 插件时交由它统一管理。

🛠 开发

开发环境、命令清单、两个半边各自的生效方式与字体流水线见 DEVELOP.md。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-diff-approval 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-diff-approval`。

dsh-diff-approval 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-diff-approval 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-diff-approval 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2。版本较多,只列出前 8 个。

dsh-diff-approval 需要什么运行环境?

需要同时安装 @deepseek-ai/cordis@>=4.0.1、react@^18.2.0。环境不满足时安装会失败,建议先确认本机版本。

dsh-diff-approval 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-diff-approval 有哪些功能?

全文件 diff 高亮、逐块保留/回退、撤销/重做、导入 VCS 改动、状态持久化。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。