dsh-simplify:在改动范围内审查和简化代码的 DSH 插件

前言

在 DSH(DeepSeek Harness)里做本地编码辅助时,一个常见诉求是:改完代码后,只希望 agent 清理刚改过的部分,而不是顺手重写无关文件。

dsh-simplify 就是围绕这个场景做的插件。它先通过 git diff 定位最近改动的文件和行号范围,再让 agent 在这个范围内就清晰度、一致性与可维护性提出改进。

DSH 的插件生态强调「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。下面介绍 dsh-simplify 的定位、安装和用法。

这是什么

dsh-simplify 是一个 DeepSeek Harness 插件,由 GongYuanCaiJi 维护,许可证为 MIT。

它移植自 pi-simplify。上游的提示词与 git diff 解析逻辑逐字保留,只适配 DeepSeek Harness 的 API 差异。

它解决的核心问题是:改完代码后,让 agent 只审查最近改动的代码,并在改动行范围内做简化或清理,不扩展到无关代码。

核心功能

下面几个能力决定了它的使用边界。

1、只审查改动行。通过 git diff 定位改动的文件与行号范围;agent 可以读周围代码当背景,但编辑严格限制在改动行内。

2、支持四种范围。未提交改动、已 staged、与任意 ref 比较、指定文件。

3、改后验证。审查结束前会运行既有测试,确认没有改坏。

4、遵循项目约定。自动遵循项目里的 CLAUDE.md / AGENTS.md

5、路径参数安全。参数逐个 POSIX 单引号转义,空白与引号文件名安全。

安装与启用

先确认你要安装到的 DSH profile。安装命令如下:

dsh plugin --profile <你的 profile> add github:GongYuanCaiJi/dsh-simplify

安装时会通过 prepare 脚本自动构建 dist/。如果你的环境里 pnpm 拦下构建步骤,需要在 profile 的 pnpm-workspace.yaml 里把本包加进 allowBuilds

运行环境要求:

  • engines 要求 node >=20
  • peerDependencies 要求 @deepseek-ai/cordis ^4.0.1
  • peerDependencies 要求 @deepseek-ai/dsh-llm ^0.1.0-rc.6

如果你从本地目录安装,需要先自行构建,再按 DSH 插件安装流程添加该目录。

典型用法

插件提供 /simplify 命令。下面按范围说明:

/simplify                      # 审查所有未提交的改动
/simplify --staged             # 只审查已 staged 的改动
/simplify --ref=<ref>          # 与指定 ref 比较,例如 --ref=main、--ref=HEAD~3
/simplify <file...>            # 只审查指定文件

例如,审查与 main 的差异时,可以使用:

/simplify --ref=main

适用场景与注意

它比较适合本地改完代码后做一轮受限审查:只看本次改动、只改本次改动行、审查结束前运行既有测试。

注意以下限制:

  • agent 收到的提示词是英文的,这是上游原文,逐字保留未做翻译。
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 审查结束前会运行既有测试,确认没有改坏。

上游 pi-simplify 的版权为 Copyright (c) 2026 Matt Devy,本移植的版权为 Copyright (c) 2026 GongYuanCaiJi

获取链接

  • GitHub:https://github.com/GongYuanCaiJi/dsh-simplify
  • 社区目录页:https://www.skillhub.cn/plugins/GongYuanCaiJi/dsh-simplify

经过上面的安装和配置,dsh-simplify 可以作为一个局部、可验证的改后审查入口,用在需要控制 agent 修改范围的日常开发流程里。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye