# debug-bit-gpt **Repository Path**: xuxinglei/debug-bit-gpt ## Basic Information - **Project Name**: debug-bit-gpt - **Description**: 用gpt创建的问题二分仓库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-17 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # debug-bit 当你有“成功/失败”的天数与 commit 边界,但每天只产出归档包、且包不一定对应每个 commit 时,`debug-bit` 提供**先按天二分,再按 commit 二分**的流程化工具。 核心理念: - 用归档包验证天数范围,快速定位“引入问题的那一天”。 - 再在该天内的 commit 列表上二分,缩小到具体 commit。 ## 安装 ```bash pip install -e . ``` ## 快速开始 ### 方案 C:全交互(只输入 good/bad + 记录日志) 你只进行一次二分时,可以用交互模式: ```bash debug-bit wizard --log /tmp/debug-bit-history.jsonl ``` 交互过程会让你: 1) 输入成功/失败日期(连续范围) 2) 每次验证后只输入 `good` 或 `bad` 3) 找到日期后输入有序 commit 列表(支持文件或直接粘贴)+ 成功/失败 commit 4) 最终输出“已找到 commit” ### 方案 A:有归档索引(推荐) 1) 扫描归档包,生成索引: ```bash debug-bit scan-archives --root /path/to/archives --pattern '(?P\d{4}-\d{2}-\d{2})' --out /tmp/archive_index.json ``` 2) 初始化“按天二分”会话: ```bash debug-bit init-day \ --index /tmp/archive_index.json \ --good-date 2024-01-01 \ --bad-date 2024-01-15 \ --out /tmp/day_session.json ``` ### 方案 B:天数连续(无需归档索引) 如果你的日期是连续的、只想用 good/bad 日期做二分: ```bash debug-bit init-day-range \ --good-date 2024-01-01 \ --bad-date 2024-01-15 ``` ### 继续按天二分 3) 迭代二分(人工或脚本调用你的检测命令): ```bash debug-bit next # 输出要验证的日期 # 你验证后标记结果: debug-bit good # 或 bad ``` 当 `remaining` 变成 0 时,`bad` 即“最早出问题的日期”。 ### 进入按 commit 二分 4) 生成当日 commit 列表: ```bash debug-bit commits-for-day \ --repo /path/to/repo \ --day 2024-01-06 \ --out /tmp/commits.json ``` 5) 初始化“按 commit 二分”会话: ```bash debug-bit init-commit \ --commits /tmp/commits.json \ --good-commit \ --bad-commit ``` 如果你已经手工准备好了“按顺序排列的 commit 列表”(每行一个 commit): ```bash debug-bit init-commit-list \ --list /tmp/commit_list.txt \ --good-commit \ --bad-commit ``` 6) 重复 `next` / `good` / `bad`,直到定位具体 commit。 ## 设计说明 - `debug-bit` 不强制执行你的构建或测试命令,只提供候选项并记录状态。 - 你可以用 CI/脚本在外部驱动实际构建与验证,然后用 `mark` 回填结果。 - 默认会话路径是 `~/.debug-bit/session.json`,可用 `--session` 或环境变量 `DEBUG_BIT_SESSION` 覆盖。 - 每次 `mark/good/bad` 会自动把记录追加到 `*.history.jsonl`,可用 `--log` 指定路径。 - 按 commit 二分时,列表顺序会被保留,支持 `good` 在 `bad` 之前或之后。 ## 目录结构 - `src/debug_bit/`: 核心库和 CLI - `tests/`: 关键逻辑的单元测试 - `configs/`: 示例配置 - `examples/`: 典型工作流说明