DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Code Review — DSH Plugin for DeepSeek Harness
← Plugins
C

@feng0531/dsh-code-review

Code Review

Read-only Git/SVN code review for DSH

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:f-e-n-g-0531/dsh-code-review#27b7d6363d29d6f06900306350980454f35ccff0
READMECompatibilityVersions

Compatibility and provenance

Code Review is published as @feng0531/dsh-code-review and currently resolves to version 0.83.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
10/16/2026

Versions

0.83.0stable
10/16/2026
0.82.1stable
10/16/2026
0.81.1stable
10/16/2026
Show 30 more versionsCollapse versions
0.80.2stable
10/16/2026
0.80.1stable
10/15/2026
0.79.0stable
10/15/2026
0.76.1stable
10/15/2026
0.71.0stable
10/15/2026
0.70.0stable
10/14/2026
0.66.1stable
10/14/2026
0.62.0stable
10/14/2026
0.58.0stable
10/13/2026
0.57.0stable
10/12/2026
0.54.0stable
10/12/2026
0.52.0stable
10/12/2026
0.51.0stable
10/12/2026
0.46.0stable
10/10/2026
0.45.0stable
10/10/2026
0.39.1stable
10/10/2026
0.39.0stable
10/9/2026
0.37.0stable
10/9/2026
0.35.0stable
10/9/2026
0.34.1stable
10/9/2026
0.33.4stable
10/9/2026
0.29.1stable
10/9/2026
0.28.0stable
10/8/2026
0.26.3stable
10/8/2026
0.22.0stable
10/8/2026
0.17.0stable
10/8/2026
0.16.0stable
10/8/2026
0.13.0stable
10/8/2026
0.6.1stable
9/30/2026
0.6.0stable
9/30/2026

Related plugins

Loading related plugins…

Latest
0.83.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
SEE LICENSE IN LICENSE
Source
github
GitHub
★ 5
Weekly downloads
0
Last push
10/16/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in developer-tools.

Cc Safety Netcc-safety-netA coding agent CLI hook - block destructive commands and secret file accessRemotedsh-remoteRemote-work assistant for DeepSeek Harness: connect SSH (password/key/agent/keyboard-interactive/proxy jump), pick a remote workspace, operate on it with 22 rw_* tools (incl. rw_edit/rw_stat/rw_mkdir/rw_remove/rw_move/rw_forward), conflict-aware mirror syFind Plugindsh-find-pluginFind DeepSeek Harness plugins inside the agent — live GitHub dsh-plugin topic search, ranked by stars.Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)

README

DSH Code Review

在 DeepSeek Harness(DSH)的 Agent 对话里审查 Git / SVN 代码变更。插件会先列出审查范围,得到确认后,再用当前 Agent 选择的模型生成中文问题报告。

只读:不修改代码,不自动修复,不提交、回滚或更新你的业务工作副本。

快速开始:第一次怎么用

1. 安装并启用插件

在 DSH 插件管理器中安装并启用本项目,或在终端执行:

dsh plugin add https://github.com/f-e-n-g-0531/dsh-code-review.git

需要 Node.js 22+,以及已安装的 Git 或 SVN 命令行工具。插件依赖 DSH,不是独立命令行审查程序,不能用 npm test 或直接运行源码来发起审查。

安装或升级后,确认当前 DSH 已加载插件。仓库发布新版本不会自动升级正在运行的插件;如当前会话仍未获得新工具,按 DSH 的插件加载提示重新加载或新建会话。

2. 在目标代码仓库创建 Agent 会话

将会话的工作目录设为要审查的 Git 仓库根目录或 SVN 工作副本根目录,并在 DSH 中选好模型。不需要另给本插件配置 API Key。

例如,你的 SVN 工作副本是 D:/work/my-project,就以该目录作为会话工作目录。不要把网页地址或仓库远端 URL 当作本地工作目录。

如果会话工作区中有多个子仓库,见下方“多个仓库”示例。

3. 把这段话发给 Agent

使用 code_review_preview 预览当前仓库所有已跟踪文件的改动。
先告诉我:审查哪个仓库、哪些文件、额外读取哪些上下文、发送给哪个模型,以及哪些文件不能审查。
先不要调用 code_review_execute,等我确认。全程不要修改代码。

这是发在 DSH 对话输入框里的请求,不是终端命令。Git 默认比较 HEAD 与当前工作区的净变化;SVN 默认比较本地 BASE(工作副本记录的基础版本)与当前文件。

预览不调用审查模型,但 Agent 对话本身仍可能使用模型。工作副本模式默认不读 SVN 远端;SVN 历史模式会读取仓库版本,必须另行明确允许远端访问。

4. 检查预览,再确认执行

检查 Agent 展示的:

  • 仓库和文件是否选对,有没有遗漏或意外包含的文件。
  • 额外上下文是什么;上下文是辅助理解的文件,也可能随执行发送给模型。
  • 模型提供方和模型名称是否符合你的数据使用要求。
  • 阻断、排除和预算限制;不能审查的文件不能当作已通过。

确认无误后,在同一会话回复:

确认刚才展示的预览范围和模型,使用该 previewId 执行只读审查。

插件使用预览返回的 ID 执行。默认预览有效期约 5 分钟;文件、模型或会话目录变化后,需要重新预览和确认。宿主权限不允许时,确认也不能绕过限制。

5. 查看结果

执行工具会在对话中返回 中文 Markdown 报告,同时返回结构化 JSON。先看“覆盖情况和限制”,再看问题列表,不要只看“发现了几个问题”。

如需保存报告,可以另行告诉 Agent:“将本次报告保存到我指定的位置”。插件本身不会自动在业务仓库创建报告文件。

按场景直接使用

下面的自然语言可以直接发给 Agent。每个场景都应先预览、展示范围,再确认执行。

只审查几个文件(Git / SVN 工作副本)

使用代码审查插件,只预览 src/api.ts 和 src/client.ts 的当前改动。
自动补充理解它们所需的依赖文件。先展示范围和模型,等我确认再执行,不修改代码。

对应 code_review_preview 参数(工具参数,不是 shell 命令):

{"selectedPaths":["src/api.ts","src/client.ts"],"autoContext":true}

文件名要替换成仓库中实际存在的变更路径。未跟踪文件不会默认纳入,必须用 selectedPaths 显式选择。省略该参数时,范围是整个仓库的变更,不限于当前子目录。

审查 Git 单个提交

使用代码审查插件预览 Git 提交 abc1234,先展示范围,等我确认后再执行。
{"commit":"abc1234"}

将 abc1234 换成实际提交号。与该提交的唯一父提交比较;根提交与空旧版本比较。合并提交请改用两个版本比较,明确选择旧、新端点。

审查 Git 两个版本之间的变化

预览 Git 的 v1.0.0 到 v1.1.0 之间的代码变化,自动读取必要依赖。先展示范围,不直接执行。
{"baseRevision":"v1.0.0","targetRevision":"v1.1.0","autoContext":true}

比较两个版本的文件树,不自动计算合并基点,也不会把工作区中的未提交正文当作历史正文。commit 不能与这两个参数混用。

审查 SVN 单个 revision

例如审查 r7315 引入的净变化,即 r7314 → r7315:

使用代码审查插件预览 SVN r7315(与 r7314 比较)。
允许为这次预览读取当前工作副本对应的远端仓库固定版本。
先展示来源、范围和模型,不发送源码给审查模型,等我确认再执行。不要更新工作副本。
{"svnRevision":"7315","svnAllowNetwork":true}

必须在 SVN 工作副本根目录运行。插件从该工作副本对应的仓库 URL 读取固定版本,不要求先把工作副本更新到 r7315,也不会执行 update。远端认证不可用时会明确报错,不会改用本地文件冒充历史版本。

审查 SVN revision 区间

预览 SVN r7300 到 r7315 两个版本端点的净变化。
允许读取当前工作副本对应远端仓库的固定版本,自动补充同版本依赖。
先展示范围和来源,等我确认后执行,不修改或更新工作副本。
{"svnBaseRevision":"7300","svnTargetRevision":"7315","svnAllowNetwork":true,"autoContext":true}

这是两个版本端点的比较,不是逐一审查区间内的每个提交。revision 使用带引号的十进制数字,不写 r7315、HEAD 或日期;同一路径比较要求旧版本小于新版本;不同分支可使用相同 revision(见下一节)。svnRevision 与区间参数不能同时使用,也不能混用 Git 版本参数。

svnAllowNetwork:true 只允许读取本次工作副本对应仓库的固定版本,不授权更新、合并或任意远端 URL。本地 file: 仓库通常无需此参数。

比较 SVN 两个分支

跨分支、有效继承属性和独立基线替换从正式版 v0.80.1 提供。请先确认当前 DSH 加载的版本;仅更新仓库不会升级宿主插件。

{"svnBaseRevision":"7315","svnTargetRevision":"7315","svnBasePath":"branches/release","svnTargetPath":"trunk","svnAllowNetwork":true,"autoContext":true}

分支路径相对于当前SVN仓库根,不是本地目录或任意URL。旧、新两侧分别固定URL、peg与operative revision;同revision可以比较不同分支。只能在同仓库UUID内比较;嵌套重叠根和不明确来源拒绝,不能推断merge提交归属。

查看有效继承 mergeinfo

{"svnRevision":"7315","svnAllowNetwork":true,"svnEffectiveMergeinfo":true}

显式允许读取选中节点及最近祖先的合并属性,额外读取受共享预算限制;工作副本模式也可使用该开关并保持离线。空属性屏蔽继承,祖先证据不完整、混合BASE或不安全来源显示unknown;结果仅为属性导航,不证明相关revision已经审核。

审查未提交替换

{"selectedPaths":["src/module","src/module/old.cpp","src/module/new.cpp"],"svnReplacementBaseRevision":"7314","svnReplacementAllowNetwork":true}

替换比较的旧侧是你显式选择的目标URL固定历史节点,不是本地BASE,也不证明它就是被删除节点的原始revision。目录后代必须独立选入;只选父目录不能算后代均已批准。远端读取使用独立许可,默认不访问。没有可确认旧来源时明确拒绝,不读取复制源冒充旧节点。

加入业务要求、规则和调用方

只预览 src/api.ts 的改动;业务要求是“请求失败时必须释放连接”。
把 src/types.ts 作为辅助上下文,使用 review-rules.md 的项目规则,
并在 src/clients 目录中寻找引用该变更文件的代码。先展示读取范围,等我确认。
{
  "selectedPaths": ["src/api.ts"],
  "contextPaths": ["src/types.ts"],
  "rulePaths": ["review-rules.md"],
  "callerScopePaths": ["src/clients"],
  "businessRequirement": "请求失败时必须释放连接"
}

这些文件和目录需要实际存在,路径相对于所选仓库:

  • contextPaths:手动加入辅助文件,不代表该文件本身完成了主审。SVN工作副本的未变更文件须通过离线正常节点/属性及来源检查;标准、固定宽度及受支持的复合自定义关键字经过 BASE 核验后可用于上下文;关键字名可由空格、制表符或换行分隔,格式内空格使用 %_。引号配置、未知格式及特殊或不可确认来源仍明确拒绝,已选择的可审查变更复用快照。
  • autoContext:true:自动补充最多三层文本依赖,不是全仓扫描或编译器分析。
  • callerScopePaths:在明确指定的非根目录中寻找字面引用。预览可能扫描该目录内不匹配的候选正文;只有捕获的匹配上下文随执行发送模型。SVN受支持的关键字候选经 BASE 核验后支持,扫描及核验正文共同计费;不支持配置明确失败,不保证找到全部调用方。
  • rulePaths:最多四个 UTF-8 Markdown 或文本规则文件,不能同时列为上下文。
  • businessRequirement:帮助确定审查目标,本身不是缺陷证据。

Git / SVN 历史审查也能使用这些参数;依赖和调用方按对应版本读取,不回退到当前工作区。只想提供旧版辅助文件时,用 oldContextPaths,例如 {"svnRevision":"7315","svnAllowNetwork":true,"oldContextPaths":["src/old-helper.ts"]}。它不能用于工作副本模式。

一个工作区中有多个仓库

假设会话工作目录下有 project-a、project-b 两个仓库:

只预览工作区中 project-a 仓库的 src/api.ts 改动,不读取 project-b。先展示范围再等我确认。
{"repositoryPath":"project-a","selectedPaths":["src/api.ts"]}

repositoryPath 相对于会话工作目录,必须指向一个实际仓库根目录;其余文件路径再相对于该仓库。每个仓库分别预览和执行,不使用绝对路径、.. 或链接目录。

长任务:后台预览、审查与取回结果

全项目或慢仓库建议使用后台工具,不让一次外层调用等待整个项目。仍先预览,再由你确认外发;启动返回jobId不等于审核完成。

  1. 调用code_review_start,phase设为preview,previewArgs填原预览参数(例如reviewMode=project)。
  2. 用code_review_status和jobId查询;完成后读取resultSummary中的预览范围、模型和previewId。
  3. 展示预览,确认后调用code_review_start,phase设为execute,传previewId与confirmed=true。
  4. 持续调用code_review_wait等待进度变化或终态,不因启动返回任务ID就结束用户请求。可展示阶段与“处理数/总数”,不分批汇报问题;抓取阶段分母未知则不显示虚假百分比。等待返回仍running就继续等待,不重新启动。任务结束后取回并统一交付一份最终报告。查询审查任务;offset/limit分页取回检查点、文件状态和发现;单个检查点内的大清单用checkpointIndex指定其零基索引,再用offset/limit取回内部全部条目。可调用code_review_cancel取消。

报告保存在宿主profile的data/dsh-code-review/jobs目录;没有profile环境时使用用户主目录.dsh下的数据目录,不写入业务仓库。内容可能含源码片段,应按源码敏感级别保护。本次启动调用结束不自动取消后台任务;明确取消、停用插件或宿主退出会停止它。

重启后可按原jobId读回保存记录,原运行标记interrupted,不自动继续外发。recovery给出已观察文件/窗口与未完成路径;它不是完整分母或新授权,补审必须重新预览确认。新预览的runtime包含实际加载版本和模块位置,排查不同工作区时分别核对,不根据另一台机器推断。

大文件超出单次输入时按原行号分段。精确差异算不出时使用明确标注的包络,可能包含未变行,不声称精确归因。模型JSON错误会按当前阶段schema请求一次明确纠正,记录额外调用;检索请求非法时整批不执行并明确纠正,回填采用可追溯的滚动工作集、必要时延后重复窗口正文,不虚构证据。默认不按检索轮数中断;不会给错误输出补括号、猜字段或当成无缺陷。

多个会话同时审查

可以同时打开多个DSH Agent会话:会话A审项目A,会话B审项目B,也可以分别审查同一项目。各会话的预览、执行锁、模型路由、取消和预算独立;A正在执行不会让B收到全局busy。一个会话内部仍串行,不能拿另一个会话的previewId执行。宿主停用插件会结束全部服务,单次取消只影响当前请求。

审查整个项目当前代码

在项目仓库根目录创建会话,发送:

使用code_review_preview,全项目模式审查当前已跟踪代码,包括没有改动的文件。
先列出全部文件、排除项和分批范围,告诉我模型和预算;等我确认再执行。不要修改代码。
{"reviewMode":"project"}

这不是HEAD到工作区的差异:模型检查当前已有缺陷,不要求问题由最近提交引入。默认仍是 reviewMode:"changes" 的变更审查。

项目模式只接受reviewMode、repositoryPath和可选selectedPaths,不与历史revision、autoContext、规则或调用方参数混用。默认全部跟踪节点;不读取未跟踪/忽略文件、子模块、外部仓库及链接目标。目录只作清单记录,源码按批次审查;跨批次不宣称完整调用图或全程序语义分析。

清单上限10000节点,单次选择最多1000节点/16MiB,12节点一批,单文件256KiB;超限明确拒绝,缩小选择后必须重新预览。单次采集共享8MiB元数据内存保护,不按命令条数、插件秒表或模型调用次数中断;耗时受宿主/模型提供方限制,用户可随时取消。SVN为本地已观察清单,稀疏/外部/链接及不支持属性显示限制;不证明仓库远端完整覆盖。

对外只交付一份统一最终报告,给出总数、completed、excluded、blocked、pending、去重后的发现及未完成综合阶段;内部批次快照仅供证据追溯,不需要用户拼接报告。completed只表示所选捕获文件已处理,不代表代码正确;排除与阻断从不算完成。代码或清单变化会拒绝旧预览,运行后无法复核则标记outdated。

工具调用流程(给需要精确指定参数的人)

普通使用者只需上面的对话请求,不必手工构造 ID。需要精确控制时,让 Agent 按下列顺序调用:

  1. 调用 code_review_preview,参数可以是 {} 或上面的 JSON 示例。
  2. 展示返回的仓库、模型、文件与限制,保留返回的 previewId。此时还没有完成审查。
  3. 用户确认后,调用 code_review_execute:
{"previewId":"替换为本次预览真实返回的ID","confirmed":true}

不要把示例 ID 原样执行,也不要在 execute 中重新传文件和版本参数。要改范围,重新 preview。reviewRounds 可在预览时指定为 1~3(默认 1),表示独立审查次数,会增加模型调用量,不是模型的思考强度设置。

如何判断报告是否完成

状态含义你应该做什么
completed相应阶段完成,不表示代码绝对正确阅读问题、复核结果和限制
partial只完成部分工作检查未完成文件、证据不足或预算限制
failed执行失败,不是审核通过根据诊断处理后重新预览
cancelled审查被取消需要时重新发起

每个候选问题会保留位置、触发条件、影响和复核结果。复核可能支持、反驳、无法确定或未完成;引用原文匹配也不等于缺陷一定成立。没有发现问题不证明没有缺陷,读取过上下文也不等于审查了整个项目。

常见问题

遇到的问题处理方法
Agent 没有调用代码审查工具,只给了普通文字分析明确要求调用 code_review_preview;若工具不可用,检查插件是否启用并已加载到当前会话
找不到仓库 / 选错仓库检查会话工作目录;多仓库时用 repositoryPath 指定子仓库根目录
新文件没有出现用 selectedPaths 显式选择未跟踪文件;路径相对于仓库
预览过期、文件已变化、模型已变化重新预览,核对新范围后再确认,不复用旧 ID
SVN 历史提示需要网络许可确认可以访问仓库后,预览参数增加 svnAllowNetwork:true
SVN 登录、权限或版本不存在检查 SVN 本身的访问权限和版本号;不要把密码写进对话或仓库 URL
文件被阻断或报告 partial阅读具体原因;缩小变更批次、补充允许的上下文,或处理真实冲突后重新预览。不能把排除文件视为通过
想审查 Git 暂存区,排除未暂存改动当前没有单独 staged / unstaged 模式;默认是 HEAD 到工作区的净变化

支持范围与安全边界

  • 执行会把批准范围内的代码、上下文、所选规则及业务要求发送给当前模型提供方;敏感项目请先检查预览和模型。常见凭据路径过滤不能保证源码没有秘密。
  • 插件遵循 DSH 工具权限;确认预览不等于绕过宿主权限。不执行项目代码、构建脚本或模型生成的 shell 命令。
  • Git 支持工作区、单提交、两版本比较。SVN 支持工作副本和固定历史端点;尚未完整支持所有 SVN 状态。
  • SVN 根目录属性可预览;同仓库复制新增以空目标旧侧审查,复制来源只作信息;移动的新增/删除分别覆盖。目录后代须逐项纳入,选择父目录不自动批准所有后代。
  • SVN 标准、固定宽度和受支持的复合关键字展开,以及工作副本变更/自动依赖/命中调用方、固定历史变更及上下文的换行元数据保留原文证据;不以规范化结果证明行为等价。自定义/固定宽度关键字、未提交替换、冲突、特殊节点、切换/外部工作副本及跨仓库比较等仍有限制。同仓库跨分支与独立基线替换需要下文列出的显式参数。已提交固定历史替换与未提交替换的支持不同,详见 SVN 支持矩阵。
  • 二进制、不能解码的文件、普通源码路径中的链接和超限内容会明确阻断;已跟踪的 SVN 链接只审查 link 目标 记录,不读取目标正文,不静默截断后声称完成。文本导航不证明语义绑定、执行可达或完整调用覆盖。

规模限制

项目默认上限
变更文件200 个
单文件256 KiB
全部快照4 MiB
额外上下文手动与自动来源共 20 个文件
单次模型输入约 96 KiB
内部时间/总调用次数不设默认截止;遵循宿主与用户取消

大变更可按保留原行号的差异窗口分批分析;无法容纳的部分会明确标为未完成。建议先按功能或模块选择一小批文件。详细读取和时间预算见 开发与发布指南。

版本、许可与其他文档

最新安装包见 npm 和 GitHub Releases。发布或安装成功不代表真实模型的误报率、漏报率已得到证明。

许可:非商业源码公开许可证。公司内部商业项目、收费服务和商业交付需要另行取得书面授权。 详见 LICENSE。

  • 版本变化:各版本带来的变化。
  • 本次发布说明:本版功能与限制。
  • SVN 支持矩阵:SVN 具体状态、限制和验证证据。
  • 开发与发布指南:维护者使用的测试、打包与发布流程。
  • 核心能力对照 / 参考源码对照:维护计划与参考来源。
  • 评测说明:样本、试跑观察及其限制。