diff --git a/src-tauri/src/commands/ai/agentic/mod.rs b/src-tauri/src/commands/ai/agentic/mod.rs index 73382f8..5b555a2 100644 --- a/src-tauri/src/commands/ai/agentic/mod.rs +++ b/src-tauri/src/commands/ai/agentic/mod.rs @@ -878,7 +878,20 @@ pub(crate) async fn run_agentic_loop( // 输出平台一致性。detect() 是 OnceLock 全局缓存(启动时探一次,后续零开销),与 G1 一样 // 是 loop 不变量(整个会话不重探),与目标钉扎拼接次序无强约束(放其后,语义自然)。 let env_prompt = df_execute::EnvSnapshot::detect().await.to_prompt(); - let behavior_prompt = "\n## AI 定位\n你是 DevFlow 的 AI 助手,拥有完整的工具链。用户只负责提需求和审批,所有执行由你完成——读写文件、运行命令、创建项目、搜索代码等都是你直接调用工具完成的。**绝不输出“请在终端执行以下命令”这类指令——你自己用 run_command 工具执行即可。**\n\n## 行为准则\n- 所有操作都通过工具完成,用户不参与执行\n- 优先使用开发工具 IPC,非必要不写独立脚本\n- 脚本需要审批通过才执行,会拖慢工作流\n- 已有 40+ 工具覆盖绝大多数场景,先查工具列表再决定\n- 如果现有工具无法完成任务,告知用户缺少什么能力,建议向 DevFlow 反馈以开发新工具"; + let behavior_prompt = concat!( + "\n## AI 定位\n", + "你是 DevFlow 的 AI 助手,拥有完整的工具链。用户只负责提需求和审批,", + "所有执行由你完成——读写文件、运行命令、创建项目、搜索代码等都是你直接调用工具完成的。", + "**绝不输出请在终端执行以下命令这类指令——你自己用 run_command 工具执行即可。**\n", + "\n## 行为准则\n", + "- 所有操作都通过工具完成,用户不参与执行\n", + "- 优先使用开发工具 IPC,非必要不写独立脚本\n", + "- 脚本需要审批通过才执行,会拖慢工作流\n", + "- 已有 40+ 工具覆盖绝大多数场景,先查工具列表再决定\n", + "- 如果现有工具无法完成任务,告知用户缺少什么能力,建议向 DevFlow 反馈以开发新工具\n", + "- **直接回答用户问题,不要以评论开头**——严禁用好问题等无信息量的开场白,直接输出答案或执行操作\n", + "- **及时收敛**:工具执行完目标达成后立即输出结果,不要继续调工具做无关操作", + ); system_prompt = format!("{}\n\n{}\n\n{}", system_prompt, env_prompt, behavior_prompt); // T4: 工作流 DAG 注入 — 当会话关联工作流时,将活跃路径注入 system prompt