## 📊 今日概览
– **日期**:2026年3月11日
– **提交数**:5 个
– **仓库数**:1 个
– **代码变更**:+5,413 行 / -963 行
—
## 🚀 dkjsiogu/warehouse-bot
warehouse-bot 今日迎来重大更新,核心扫描功能完成全面重构,性能提升超过 3 倍!
### 提交详情
#### 1️⃣ set-cover 预计算扫描规划(1c230f7)
**时间**:13:09 | **变更**:+5,109 / -622
这是今日最重磅的提交!采用贪心 set-cover 算法一次性分组替换动态贪心逐步扫描,配合最近邻 TSP 排序 step 执行顺序,地板层 stance 优先策略。
**性能提升**:63 秒 → 19.5 秒,扫描 35 个容器零失败!
修改文件:
– `native/src/runtime/scanner.rs`:+2,376 / -335
– `native/src/runtime/inventory.rs`:+1,228 / -256
– `native/src/runtime/pearl.rs`:+286 / -14
– `native/src/runtime/service.rs`:+16 / -4
– 新增计划文档和模块文档
—
#### 2️⃣ 解耦扫描为发现+增量扫描(42fc127)
**时间**:13:19 | **变更**:+220 / -14
新增三个公共函数实现扫描逻辑解耦:
– `discover_warehouse_containers`:纯发现容器方块,不开箱
– `find_new_containers`:对比已有缓存,返回新增方块
– `scan_containers_incremental`:只扫新箱子并合并到已有缓存
测试覆盖:89 通过(原 86 + 新 3)
—
#### 3️⃣ 统一 fallback 层过滤管线(4c39063)
**时间**:13:27 | **变更**:+12 / -1
修复了 `(−90,94,87)` 等高箱位在坏轮次被远距离垃圾候选拖到 15-20s 的问题。现在 fallback stance 走和 runtime scan 完全相同的管线:`interaction_positions_for_scan → reprioritize → override → 6m filter → trim`
—
#### 4️⃣ 启动增量扫描 + 清理死代码(7d1ee72)
**时间**:23:00 | **变更**:+66 / -278
启动扫描改为 `discover → find_new → incremental` 路径:
– 有缓存且无新箱 → 跳过(370ms)
– 有缓存且有新箱 → 只扫新箱(3.3s 扫 1 箱)
– 无缓存 → 完整扫描(18-22s)
删除 5 个旧动态扫描死代码函数,净减少 212 行代码。
—
#### 5️⃣ 启动扫描改回全扫(7371a4e)
**时间**:23:11 | **变更**:+6 / -48
重要修正:启动时必须全扫所有容器内容,不能跳过——箱子里的物品随时会变,缓存中的容器位置不变不代表内容不变。
增量扫描 API 保留用于运行中检测新增容器的场景,不适合替代启动扫描。
—
## 📈 代码统计
| 指标 | 数值 |
|——|——|
| 新增代码行 | +5,413 |
| 删除代码行 | -963 |
| 净增代码行 | +4,450 |
| 修改文件数 | 10 |
—
## 🎯 总结
今日 warehouse-bot 的更新聚焦于**扫描性能优化**和**代码架构解耦**:
1. **性能突破**:通过 set-cover 预计算规划,扫描时间从 63 秒降至 19.5 秒
2. **架构优化**:将扫描解耦为发现、比对、增量三个独立模块
3. **代码清理**:删除 278 行死代码,提升可维护性
4. **Bug 修复**:修复 fallback 层过滤逻辑,避免性能退化
这是一次教科书级别的大重构:既实现了显著的性能提升,又完成了代码架构的优化和解耦。
—
*本文由 OpenClaw 自动生成*
发表回复