用二分法逐轮砍半,快速锁定 bug 根因
26.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add PangYiMing/dsh-bisect-debug该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 82 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 二分法定位根因
- 代码二分排查
- 提交二分排查
DSH 插件:二分定位 bug 根因,覆盖代码、边界、提交三个维度
README
由 DeepSeek 最新模型翻译生成dsh-bisect-debug
DeepSeek Harness 插件 · 二分定位 / DSH plugin for bisecting bugs
"bug 在当前代码里,但不知道具体在哪"——用二分法把搜索范围每轮砍一半,快速锁定到具体函数/边界/commit。
"Bugs live somewhere in this code, but where?" — halve the search space every round with bisection, down to the exact function, boundary, or commit.
三种二分法 Three modes
| 模式 | 切什么 | 适用场景 | 需要什么 |
| ① 代码二分 | 注释/disable 一半代码 | "bug 在当前代码里,缩小到具体函数/组件" | 当前代码 + 可复现的 bug |
| ② 边界二分 | curl/log 沿数据流逐层验证 | "不知道是前端还是后端的锅" | 数据流节点图(≥3 层) |
| ③ commit 二分 | git bisect 切提交历史 | "之前还好好的,不知道哪次改坏的" | git 历史 + 好/坏 commit |
展开完整文档(README 剩余 1 节)
dsh-bisect-debug
DeepSeek Harness 插件 · 二分定位 / DSH plugin for bisecting bugs
"bug 在当前代码里,但不知道具体在哪"——用二分法把搜索范围每轮砍一半,快速锁定到具体函数/边界/commit。
"Bugs live somewhere in this code, but where?" — halve the search space every round with bisection, down to the exact function, boundary, or commit.
三种二分法 Three modes
| 模式 | 切什么 | 适用场景 | 需要什么 |
| ① 代码二分 | 注释/disable 一半代码 | "bug 在当前代码里,缩小到具体函数/组件" | 当前代码 + 可复现的 bug |
| ② 边界二分 | curl/log 沿数据流逐层验证 | "不知道是前端还是后端的锅" | 数据流节点图(≥3 层) |
| ③ commit 二分 | git bisect 切提交历史 | "之前还好好的,不知道哪次改坏的" | git 历史 + 好/坏 commit |
先判断用哪种:有明确好/坏时间点 → ③;跨层问题不确定哪层 → ②;确定在当前代码里 → ①(最常用)。
① 代码二分(注释/disable,最常用)
范围里有 N 个候选(函数/组件/中间件/import) → 注释掉后半 N/2 个 → bug 消失 → 根因在被注释的后半里,继续二分后半 → bug 还在 → 根因在前半里,继续二分前半 → 反复直到缩小到具体函数/具体行
标记法(方便恢复,不丢原代码):
// [bisect-disabled]
//
注意:有依赖关系的模块不能乱注释(会引入新报错);注释后验证的是"bug 还在不在"而不是"有没有新报错";每轮只注释一半。
② 边界二分(curl/log 沿数据流)
任何 bug 都是"数据在某个环节不再正确"。沿数据流逐跳验证,找到数据正确到达的最后一站:
上游 ──→ 节点A ──→ 节点B ──→ 节点C ──→ 下游(用户看到的现象)
从中间节点验证——midpoint 正确则 bug 在下游,错误则 bug 在上游。不同架构的验证方式:
| 架构 | 验证方式 |
| HTTP 前后端 | curl 直连后端 API,绕过前端 |
| 微服务链 | 逐服务 curl 或查日志 |
| 数据库 | DB 客户端直接查 |
| 浏览器渲染 | DevTools Network + Console |
| 函数调用链 | 调用方/被调用方各加 log |
真实案例:点击授权报 405 → 3 个 curl(MCP 登录 200 ✅ / 网关 POST 405 / 下游 API 422 ✅)→ 结论:网关 nginx 拦截 POST。全程 3 个 curl,0 行代码改动。
先用边界二分定层,再在该层内用代码二分定函数。
③ commit 二分(git bisect run)
把"好/坏判定"固化成退出码脚本(exit 0=好,exit 1=坏,exit 125=跳过),交给 git bisect run 全自动收敛:
1. 确认好/坏 commit(good 从 tag/log 推断,不问用户)
git merge-base --is-ancestor # 校验 good 在 bad 祖先链上
2. 写判定脚本 .temp/bisect-judge.sh
npm run build >/dev/null 2>&1 || exit 125
code=$(curl -s -o /dev/null -w "%{http_code}" --max-time 30 "http://localhost:8080/")
[ "$code" = "200" ] && exit 0 || exit 1
3. 全自动跑
git bisect start
git bisect bad
git bisect good
git bisect run bash .temp/bisect-judge.sh
4. 收尾(必做)
git bisect reset
注意:base 过期要校验(upstream 合入新文件会误导二分);启动前工作区必须干净;git bisect reset 必做。
执行纪律 Discipline
1. 连续改了 ≥2 处还没解决 → 停下,回到二分(最强反偷懒规则)。
2. 每轮只切一半,测完再切下一半——禁止一次改多处再测。
3. 现象优先,代码最后——先用 curl/log/ping 确认现象和边界,不要一上来就读代码。
4. bug 不可复现时调整策略:总是复现 → 直接二分;间歇复现 → 加诊断日志等下一次;只发生一次 → 最大日志注入 + 部署监控。
5. 不好结果也有参考价值——宁可跑完次优解留数据,不中途停下等拍板。
跳过二分的情况 When to skip
从现象到根因 ≤ 2 步,不进二分:编译器已指出文件+行号 / 用户明确说了根因 / 改一行就能验证 / 已知版本依赖问题。
安装 Install
发布到 npm 后
dsh plugin --profile demo add dsh-bisect-debug
或从 GitHub 安装
dsh plugin --profile demo add github:PangYiMing/dsh-bisect-debug
许可证 License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
PangYiMing/dsh-bisect-debug
用二分法逐轮砍半,快速锁定 bug 根因
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,288已汉化MCP
71.7
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9
原生编程智能体paean-ai/deeptide
由 DeepSeek 打造,为 DeepSeek 而生。
★ 1,107已汉化DSH
67.7
多引擎接力台emo-xiaoyu/harness-mix
macOS/Linux 已加入源码构建与启动适配;目标系统的完整桌面验收仍需在对应机器执行。安装方式、Linux…
★ 419已汉化DSH
66.8
这是你的仓库?认领条目