Files
DevFlow/docs/05-代码审查/本次修复摘要-2026-08-02.md
lxy a28c00b1e5 文档: docs 整理收尾(INDEX 走查条目 + todo 待办梳理 + 待审查登记 + 修复摘要)
- INDEX: 加 claude 走查 5 + 本次修复摘要条目(05-代码审查)
- todo: P2/P3/专项/技能注入 待办登记(B-260801-01 实证不存在关闭)
- 待审查: CR-2026-08-01 13 agent 改动登记
- 修复摘要: 5 根因 + 13 agent + 提交链 + 专项 + 推翻假设 + 教训
2026-08-02 10:51:57 +08:00

3.2 KiB

本次修复摘要(2026-08-02)

5 根因诊断 + 35 维度走查 + 13 agent 根本修 + 架构专项登记 原则:机制 > 说教 / 根本 > 补丁 / 实证 > 声明 / 简洁+可靠平衡

5 根因(对话停止/工具失败,诊断 + 根治)

根因 修复 提交
G2 熔断误停(结果空当漂移) 签名重复判定 重组 57d6a2d
handshake 越权强杀活 loop generating 归 guard 单源 bdc51c1→57d6a2d
空 tool_call id(SenseNova 结果路由错位) 全局 AtomicU64 兜底 7b4e6b7→dffc4e4
多模态图片 URL(模型看不到图) image part 前端扫描 03614b6
download 引导(AI 用错工具) fetch_url 错误引导 + prompt 职责 1ec844f

13 agent 根本修(真 bug + 架构 + P1/P2 + UX)

真 bug 3:

  • ai_node/ai_self_review schema required 对齐
  • docker_node POSIX 单引号注入防御(所有元字符失效)
  • parse_review_json(verdict 规范化/score clamp/正则兜底)
  • conditions 单引号 P0 误报(三层验证无 bug)

架构 3(memory 专项):

  • run_agentic_loop 抽 finish_round_exit + emit_ai_completed_once(6 退出点收敛,AiCompleted 11→2)
  • AI router(estimated_context 接真实估值 + weight tier tieback + 意图 DataReadOnly 兜底 + provider_pool 亲和 enabled)
  • sanitize step4(显式 skipped_head_ids 跟踪,不制造 orphan,自洽不依赖出口断言)

P1 3:HumanNode timeout 1800 / df-mcp 实体校验(改进错误信息,B-260801-01 实证不存在)/ keyring 明文达阈值清除

P2 3 + UX:status union(字面量+删 cast)/ parse_review / ApprovalPopup(_placeholder hack 消除 + dispatchApprovalIPC 共享 + always 按钮 + closeWithFallback + 拖动 JS API startDragging + Esc)

提交链(本次会话)

befc51b sanitize → e2c6891 G2+read_file → 77b9b8c obscura → c9f6345 工具增强 → bdc51c1 handshake → 1ec844f download 引导 → 03614b6 多模态 → db5997c provider → 3f37f0f defaultModel → 7b4e6b7 空 id → e64de23 搜索 → 41f514e defaultModel UI → 74e8cdd /技能 → 9ea4fed get_app_config → (重组 6:57d6a2d/023377a/e4f7b43/b999f79/50c2326/953a3fb) → dffc4e4 走查空id/generate_image → fc249ad P0+P1 → f719546 MessageList → ea309c6 后端 crate → 3f2cf5f agentic → f1773dd 前端 → 8eb689a docs

专项登记(memory,后续分步)

  • AI router + sanitize step4ai-router-sanitize-refactor-debt(核心,改风险大)
  • run_agentic_loop 1217 行重构agentic-loop-refactor-debt(finish_round_exit 第一步已做,剩 build_runtime_prompt/入口解析)
  • 技能注入 — 待 trace(SkillResolver 日志 dffc4e4)定位 read/AI 忽略

推翻假设(走查否定,更新认知)

  • AiChat.vue 798 行(非 3000+ God,已抽 5 批)— memory fe-arch-tech-debt 过时
  • human_node 36KB 是测试 76%(实现 200 行内聚,无技术债)
  • conditions 单引号 P0 误报(三层验证无 bug)
  • B-260801-01 跨实体污染不存在(Repo 表级,detect_entity_owner 改进错误信息保留)

教训(code-review-anti-contamination)

走查必须源码佐证,不信假设。B-260801-01 走查误判(假设跨实体污染),DevFlow AI 实证 Repo 表级已隔离。conditions P0 走查误报(纸面推演),三层验证无 bug。假设性"可能存在"必须实证