diff --git a/src/costrict/agents/designAgent.ts b/src/costrict/agents/designAgent.ts index c19c48c75..78c44cae8 100644 --- a/src/costrict/agents/designAgent.ts +++ b/src/costrict/agents/designAgent.ts @@ -1,5 +1,5 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import type { BuiltInAgentDefinition } from '../../loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getDesignAgentSystemPrompt(): string { return `你是 DesignAgent,一名专业软件开发团队中的资深软件架构师。 @@ -8,7 +8,7 @@ function getDesignAgentSystemPrompt(): string { 1. 根据需求文档内容,按 C4 Model 四个层次逐步完成架构建模 2. 输出系统上下文图、容器图、组件图等架构图(Mermaid / PlantUML 格式) 3. 记录关键架构决策(ADR) -4. 输出总体设计文档 \`!tool{spec-manage}(mode=techpath,path=./)\`,目录已经创建,只需要在该目录下写入tech.md +4. 输出总体设计文档,目录已经创建,只需要在该目录下写入tech.md ## 工作原则 @@ -160,19 +160,7 @@ C4Component ### 阶段5:关键决策记录(ADR) - 输出架构决策记录(Architecture Decision Record) - 格式:决策背景 → 可选方案 → 选择方案 → 原因与权衡 - -### 需求文档内容 - -\`\`\`markdown -!tool{spec-manage}(mode=readspec,path=./) -\`\`\` - -### 设计文档存放位置 -\`!tool{spec-manage}(mode=techpath,path=./)\`,目录已经创建,只需要在该目录下写入tech.md - -### 当前工程.cospec/spec目录下文件状态 - -!tool{spec-manage}(mode=spec,path=./)` +` } export const DESIGN_AGENT: BuiltInAgentDefinition = { diff --git a/src/costrict/agents/planApply.ts b/src/costrict/agents/planApply.ts index d5d0a44f1..1aee9679f 100644 --- a/src/costrict/agents/planApply.ts +++ b/src/costrict/agents/planApply.ts @@ -1,8 +1,6 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import { FILE_EDIT_TOOL_NAME } from 'src/tools/FileEditTool/constants.js' -import { FILE_WRITE_TOOL_NAME } from 'src/tools/FileWriteTool/prompt.js' import { NOTEBOOK_EDIT_TOOL_NAME } from 'src/tools/NotebookEditTool/constants.js' -import type { BuiltInAgentDefinition } from '../../tools/AgentTool/loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getPlanApplySystemPrompt(): string { return `你是 CodingAgent,软件开发团队的项目管理者和技术架构师。 diff --git a/src/costrict/agents/planManager.ts b/src/costrict/agents/planManager.ts index 369380786..e24e2e44b 100644 --- a/src/costrict/agents/planManager.ts +++ b/src/costrict/agents/planManager.ts @@ -1,5 +1,5 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import type { BuiltInAgentDefinition } from '../../loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getPlanManagerSystemPrompt(): string { return `# PlanManager - 开发任务管理与协调 diff --git a/src/costrict/agents/requirement.ts b/src/costrict/agents/requirement.ts index 3d3c23b03..e5816eea3 100644 --- a/src/costrict/agents/requirement.ts +++ b/src/costrict/agents/requirement.ts @@ -1,5 +1,5 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import type { BuiltInAgentDefinition } from '../../loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getRequirementSystemPrompt(): string { return `# 角色 diff --git a/src/costrict/agents/reviewAndFix.ts b/src/costrict/agents/reviewAndFix.ts index d4ada5ef0..4953120f2 100644 --- a/src/costrict/agents/reviewAndFix.ts +++ b/src/costrict/agents/reviewAndFix.ts @@ -1,9 +1,6 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import { FILE_EDIT_TOOL_NAME } from 'src/tools/FileEditTool/constants.js' -import { FILE_WRITE_TOOL_NAME } from 'src/tools/FileWriteTool/prompt.js' import { NOTEBOOK_EDIT_TOOL_NAME } from 'src/tools/NotebookEditTool/constants.js' -import { AGENT_TOOL_NAME } from '../../tools/AgentTool/constants.js' -import type { BuiltInAgentDefinition } from '../../tools/AgentTool/loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getReviewAndFixSystemPrompt(): string { return `你是ReviewAndFix Agent,一名专业软件开发团队中的代码审查与修复专家。 @@ -102,7 +99,6 @@ export const REVIEW_AND_FIX_AGENT: BuiltInAgentDefinition = { whenToUse: '专门用于审查和修复代码问题的代理。能够发现问题、理解问题、实施修复,并管理修复过程。Use this when you need to review and fix code issues based on user feedback or code review findings.', disallowedTools: [ - AGENT_TOOL_NAME, EXIT_PLAN_MODE_TOOL_NAME, NOTEBOOK_EDIT_TOOL_NAME, ], diff --git a/src/costrict/agents/specPlan.ts b/src/costrict/agents/specPlan.ts index c85f25ef6..276680159 100644 --- a/src/costrict/agents/specPlan.ts +++ b/src/costrict/agents/specPlan.ts @@ -1,23 +1,7 @@ -import { BASH_TOOL_NAME } from 'src/tools/BashTool/toolName.js' import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import { FILE_EDIT_TOOL_NAME } from 'src/tools/FileEditTool/constants.js' -import { FILE_READ_TOOL_NAME } from 'src/tools/FileReadTool/prompt.js' -import { FILE_WRITE_TOOL_NAME } from 'src/tools/FileWriteTool/prompt.js' -import { GLOB_TOOL_NAME } from 'src/tools/GlobTool/prompt.js' -import { GREP_TOOL_NAME } from 'src/tools/GrepTool/prompt.js' -import { hasEmbeddedSearchTools } from 'src/utils/embeddedTools.js' -import type { BuiltInAgentDefinition } from '../../loadAgentsDir.js' +import type { BuiltInAgentDefinition } from 'src/tools/AgentTool/loadAgentsDir.js' function getSpecPlanSystemPrompt(): string { - // Ant-native builds alias find/grep to embedded bfs/ugrep and remove the - // dedicated Glob/Grep tools, so point at find/grep via Bash instead. - const embedded = hasEmbeddedSearchTools() - const globGuidance = embedded - ? `- Use \`find\` via ${BASH_TOOL_NAME} for broad file pattern matching` - : `- Use ${GLOB_TOOL_NAME} for broad file pattern matching` - const grepGuidance = embedded - ? `- Use \`grep\` via ${BASH_TOOL_NAME} for searching file contents with regex` - : `- Use ${GREP_TOOL_NAME} for searching file contents with regex` return `你是一个专门为软件项目创建结构化需求提案的 PlanAgent。 你的核心职责是:遵循"**理解用户需求→探索项目→需求澄清→创建提案→实施提案**"的严格工作流。 @@ -179,14 +163,7 @@ c. 查看\`TaskCheck\`返回的总结报告,了解修复情况 - 优先使用动词引导前缀:\`add-\`, \`update-\`, \`remove-\`, \`refactor-\` - 确保唯一性;如果已被占用,附加 \`-2\`, \`-3\` 等 -工具使用指南: -${globGuidance} -${grepGuidance} -- Use ${FILE_READ_TOOL_NAME} when you know the specific file path you need to read -- Use ${BASH_TOOL_NAME} ONLY for read-only operations (ls, git status, git log, git diff, find${embedded ? ', grep' : ''}, cat, head, tail) -- NEVER use ${BASH_TOOL_NAME} for: mkdir, touch, rm, cp, mv, git add, git commit, npm install, pip install, or any file creation/modification -- Use ${FILE_WRITE_TOOL_NAME} to create new files -- Use ${FILE_EDIT_TOOL_NAME} to modify existing files` +` } export const SPEC_PLAN_AGENT: BuiltInAgentDefinition = { diff --git a/src/costrict/agents/strictPlan.ts b/src/costrict/agents/strictPlan.ts index 257b7bbd0..65b747c41 100644 --- a/src/costrict/agents/strictPlan.ts +++ b/src/costrict/agents/strictPlan.ts @@ -175,7 +175,6 @@ export const STRICT_PLAN_AGENT: BuiltInAgentDefinition = { "Read", "Write", "Edit", - "TaskCreate", ], source: 'built-in', baseDir: 'built-in', diff --git a/src/costrict/agents/taskCheck.ts b/src/costrict/agents/taskCheck.ts index c42eba016..7c14dcbd7 100644 --- a/src/costrict/agents/taskCheck.ts +++ b/src/costrict/agents/taskCheck.ts @@ -1,6 +1,4 @@ import { EXIT_PLAN_MODE_TOOL_NAME } from 'src/tools/ExitPlanModeTool/constants.js' -import { FILE_EDIT_TOOL_NAME } from 'src/tools/FileEditTool/constants.js' -import { FILE_WRITE_TOOL_NAME } from 'src/tools/FileWriteTool/prompt.js' import { NOTEBOOK_EDIT_TOOL_NAME } from 'src/tools/NotebookEditTool/constants.js' import { AGENT_TOOL_NAME } from '../../tools/AgentTool/constants.js' import type { BuiltInAgentDefinition } from '../../tools/AgentTool/loadAgentsDir.js' diff --git a/src/costrict/agents/taskPlan.ts b/src/costrict/agents/taskPlan.ts index fc9e67549..43d7a42a0 100644 --- a/src/costrict/agents/taskPlan.ts +++ b/src/costrict/agents/taskPlan.ts @@ -165,26 +165,7 @@ function getTaskPlanSystemPrompt(): string { - ❌ 在plan.md中添加说明性文字、模板提示等非执行内容 - ❌ 忽略前置检查直接开始任务规划,导致输入文档缺失 - ❌ 需求引用格式不正确 - -### 需求文档内容 - -\`\`\`markdown -!tool{spec-manage}(mode=readspec,path=./) -\`\`\` - -### 技术设计文档内容 - -\`\`\`markdown -!tool{spec-manage}(mode=readtech,path=./) -\`\`\` - -### 任务计划文档存放位置 -\`!tool{spec-manage}(mode=planpath,path=./)\`,目录已经创建,注意该目录为当前路径隐藏目录,只需要在该目录下写入plan.md -注意:使用write工具适合传入相对路径,如.cospec/spec,而不是/.cospec/spec - -### 当前工程.cospec/spec目录下文件状态 - -!tool{spec-manage}(mode=spec,path=./)` +` } export const TASK_PLAN_AGENT: BuiltInAgentDefinition = {