# DevFlow 待办 ## 灵感模块功能完善(合并推进) > 诊断发现的 P0-P2 问题合并为单次任务,逐项推进。 > 排除项:#3 status 无状态机(暂保留状态可跳跃迁移,不处理)。 ### P2 — 前端 / UX - [~] **#12 前端 filter 改后端查询**:`hot`(score≥80)和 `pending`(多状态 OR)仍保留前端 filter(团队决策:扩多值属性过度设计),keyword/order_by 已下沉后端。 ## AI 对话目标丢失(诊断待办) > 诊断报告:`docs/02-架构设计/专项设计/AI对话目标丢失诊断-2026-06-26.md` > 实测会话 `54c8b5bd`:480 万 token,原始目标消息被压缩出局,LLM 尾部盲搜死循环。 - [x] **G1 目标钉扎** ✅ 代码已落地(`GOAL_PIN_ENABLED=true`),pinned_goals 入口拼入 system_prompt。`PerConvState.pinned_goals: Vec` + chat.rs 三处提取(追加去重,支持累积多目标)。 - [x] **G2 探索熔断** ✅ 代码已落地(`STALL_BREAKER_ENABLED=true`,`STALL_BREAKER_THRESHOLD=3`),stall_count + is_empty_tool_result 完整实现。 - [x] **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 批量评估命令**:`evaluate_ideas_batch`,遍历多个 idea 调同一 engine 实例(复用 provider 连接)。**⏳ 待定** ## 最新对话分析-2026-06-28:死锁与审批卡死 > 分析来源:`devflow-trace.log` + `devflow-dev.db` 最新对话 `d9aef24f`(语音输入应用需求)。 > 核心表现:7 次工具连续失败后 L1 断路器熔断,1 条 pending 审批导致全链路死锁。 ### P0 — 审批 pending 死锁 - [x] **审批超时自动取消** ✅ 已实现(15min 默认,可配置): - 后端 `agentic/approval_timeout.rs::cleanup_expired_approvals` 在 `try_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),前端定时器负责运行期会话内超时,后端负责重启恢复场景兼底。 - [x] **`create_project` 自动创建目录** ✅ 已实现(`project.rs:137`):有 path 且目录不存在时自动 `create_dir_all`,死锁链已消除(非参数控制,直接自动创建)。 ### P1 — Windows 平台兼容 - [x] **`run_command` 失败追加 shell 适配提示** ✅ 已实现(`tool_registry.rs:2351-2358`):Windows 下 tool result 尾部追加 PowerShell 适配提示(路径引用、`&&`→`;`)。 - [x] **PowerShell 反斜杠自动转义** ✅ 已修复(`tool_registry.rs:2306-2328` 注释说明根因):serde_json 已正确还原反斜杠,不做额外转义,PowerShell 正确接受裸反斜杠路径。 ### P2 — 标题 LLM 失败 - [x] **标题摘要合并连续同 role** ✅ 已实现(`title.rs:79-83`):`merge_consecutive_roles` 发 LLM 前合并相邻 user/assistant,已覆盖 Anthropic/GLM 1214。 ### P3 — 其他 - [x] **migration V33** ✅ 已实现(`migrations.rs` migrate_v33):`workflow_executions` 加 `updated_at` 列 + `ai_conversations` 加 `pending_approvals`(审批重启恢复)。 - [x] **L0-handshake 防抖** ✅ 已实现(`lib.rs:73-82`):3s 内重复 `ai-client-ready` 跳过。