DSH Plugins
返回列表
⚙️

dsh-culprit

工作流 更新于 2026.10.10

在终端中运行以下命令:

dsh plugin install ca610/dsh-culprit

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install ca610/dsh-culprit 安装本插件(源码:https://github.com/ca610/dsh-culprit),安装后重启 profile 以加载插件。

插件介绍

「这段代码是哪次提交改挂的?」——单靠 blame 或历史归因往往答不上来:依赖装不上、测试超时、只有运行时才炸,读历史猜不到从哪一版开始行为坏了。dsh-culprit 面向另一类问题:你给出一条在 bug 存在时退出非零的判据命令,它在仓库历史里做二分,真的在那些提交上跑判据,把变红当成可追溯的事实,直接指向肇事提交。

核心能力很集中:自动或借助 goodRef、badRef 划定区间,按 git bisect 同款退出码语义探测(0 健康、非零有问题、125 与超时一律跳过以免误指),找到后附上该提交的 diff、改动文件与每一步的判定证据。工作树不干净、已有交互式 bisect 会拒绝;无论成败都会切回原来的分支与 HEAD,只做 checkout,不做 reset、clean、stash。预算用尽可断点续跑,没收敛则诚实返回 inconclusive 或 budget-exhausted,不把最像的提交硬说成结论。

适合在回归、CI 变红、本地以前还好现在坏了时做提交级归因的开发者与 Agent 工作流:需要可重复的判据(脚本、测试、构建命令均可),并接受工具会短暂 checkout 历史提交,因此最好在干净工作树上使用,并事先确认判据在当前 HEAD 上确实是红的。

使用场景

  • CI 或本地测试突然变红,需要定位从哪次提交开始坏掉
  • 只有运行时才暴露的问题,历史 blame 无法说明行为何时变坏
  • Agent 需要自动找出肇事提交并附带 diff 与逐步证据

适合人员

  • 维护主分支、经常处理回归的开发者
  • 编写可重复判据命令的测试与构建工程师
  • 在仓库里自动做提交级诊断的 Agent 工作流