Files
DevFlow/todo.md
绝尘 696e34407c 更新: 关闭已完成的若干待办项
经代码核验,五项候选待办实际上都已实现或已满足决策,本次仅
同步文档关闭:

- 工具卡片分组标题:已实现文件路径摘要展示(跨轮自动收起保留
  作为低优先增量)
- 重试持锁问题:多会话并发改造后全局锁已移除,重试仅持单会话锁
  (同循环内合理),原说法已过时
- 对抗式评估批量命令:单项评估接口已接入,批量评估无前端消费方
  暂不做(避免过度设计)
- 残留诊断代码:聊天命令已无硬编码绝对路径,调试输出已降级为
  普通日志
- 工程内路径授权政策:用户决策确认为白名单制(工程外走三档授权
  + 系统目录黑名单兜底),已落地
2026-06-28 19:06:02 +08:00

4.1 KiB
Raw Blame History

DevFlow 待办

灵感模块功能完善(合并推进)

诊断发现的 P0-P2 问题合并为单次任务,逐项推进。
排除项:#3 status 无状态机(暂保留状态可跳跃迁移,不处理)。

P2 — 前端 / UX

  • #12 前端 filter 改后端查询 团队决策已落地:hot/pending 保留前端 filter(keyword/order_by 已下沉后端)。

AI 对话目标丢失(诊断待办)

诊断报告:docs/02-架构设计/专项设计/AI对话目标丢失诊断-2026-06-26.md 实测会话 54c8b5bd480 万 token原始目标消息被压缩出局LLM 尾部盲搜死循环。

  • G1 目标钉扎 代码已落地(GOAL_PIN_ENABLED=true)pinned_goals 入口拼入 system_prompt。PerConvState.pinned_goals: Vec<String> + chat.rs 三处提取(追加去重,支持累积多目标)。
  • G2 探索熔断 代码已落地(STALL_BREAKER_ENABLED=trueSTALL_BREAKER_THRESHOLD=3)stall_count + is_empty_tool_result 完整实现。
  • G4 话题标记修正 代码已落地(TOPIC_MARKER_GOAL_AWARE=true)pinned_goals 非空时 take 后丢弃跳过 insert。

落地开关(均可单点回退):GOAL_PIN_ENABLED/GOAL_INJECT_BANNER/GOAL_MAX_CHARS=500/MAX_GOALS=5/STALL_BREAKER_ENABLED/STALL_BREAKER_THRESHOLD=3/STALL_BREAKER_WARN_FIRST/STALL_BREAKER_GOAL_REMIND/TOPIC_MARKER_GOAL_AWARE。全置 false 等价改动前。 方案源:设计 workflow wf_09a0385f-2ee 综合裁决(system_prompt 字符串注入 > insert_at(0))。

对抗式评估接入(引擎已实现 → IPC + 前端打通)

引擎代码已就绪(df-ideas/src/adversarial.rs + adversarial_helpers.rs 但 IPC 层和前端零引用,用户无法使用。需补接入层。

后端 — IPC 接入

  • A2 批量评估命令 ⏸️ 暂不做:单 idea 评估 evaluate_idea IPC 已接入(AdversarialEngine),批量评估当前无前端消费方,属过度设计。

最新对话分析-2026-06-28死锁与审批卡死

分析来源:devflow-trace.log + devflow-dev.db 最新对话 d9aef24f(语音输入应用需求)。 核心表现7 次工具连续失败后 L1 断路器熔断1 条 pending 审批导致全链路死锁。

P0 — 审批 pending 死锁

  • 审批超时自动取消 已实现(15min 默认,可配置):
    • 后端 agentic/approval_timeout.rs::cleanup_expired_approvalstry_continue_agent_loop 入口检测超时,超时审批自动取消 + emit AiApprovalResult + audit_finalize 记入审计。
    • PendingApproval.created_at 记录创建时刻(SystemTime,重启恢复的按重启时刻计)。
    • AppState.approval_timeout_minutes + reload_approval_timeout() 从 Settings KV df-approval-timeout 启动恢复(与前端 AdvancedSection.vue 同 key,值为毫秒)。
    • IPC ai_get_approval_timeout / ai_set_approval_timeout(0=禁用,范围 0-1440 分钟)。
    • 前端已有 Settings UI(0/5/15/30/60 分钟 select),前端定时器负责运行期会话内超时,后端负责重启恢复场景兼底。
  • create_project 自动创建目录 已实现(project.rs:137):有 path 且目录不存在时自动 create_dir_all,死锁链已消除(非参数控制,直接自动创建)。

P1 — Windows 平台兼容

  • run_command 失败追加 shell 适配提示 已实现(tool_registry.rs:2351-2358)Windows 下 tool result 尾部追加 PowerShell 适配提示(路径引用、&&;)。
  • PowerShell 反斜杠自动转义 已修复(tool_registry.rs:2306-2328 注释说明根因)serde_json 已正确还原反斜杠不做额外转义PowerShell 正确接受裸反斜杠路径。

P2 — 标题 LLM 失败

  • 标题摘要合并连续同 role 已实现(title.rs:79-83)merge_consecutive_roles 发 LLM 前合并相邻 user/assistant已覆盖 Anthropic/GLM 1214。

P3 — 其他

  • migration V33 已实现(migrations.rs migrate_v33)workflow_executionsupdated_at 列 + ai_conversationspending_approvals(审批重启恢复)。
  • L0-handshake 防抖 已实现(lib.rs:73-82)3s 内重复 ai-client-ready 跳过。