@cicctencent/agent-server 0.2.61 → 0.2.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/cjs/prompt/prompt-builder.d.ts +11 -3
  2. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
  3. package/dist/cjs/prompt/prompt-builder.js +55 -50
  4. package/dist/cjs/prompt/prompt-builder.js.map +1 -1
  5. package/dist/cjs/prompt/shared-fragments.d.ts +2 -2
  6. package/dist/cjs/prompt/shared-fragments.d.ts.map +1 -1
  7. package/dist/cjs/prompt/shared-fragments.js +4 -4
  8. package/dist/cjs/prompt/shared-fragments.js.map +1 -1
  9. package/dist/cjs/tool/tools/docgen.d.ts.map +1 -1
  10. package/dist/cjs/tool/tools/docgen.js +10 -0
  11. package/dist/cjs/tool/tools/docgen.js.map +1 -1
  12. package/dist/cjs/tool/tools/filesystem.d.ts.map +1 -1
  13. package/dist/cjs/tool/tools/filesystem.js +24 -16
  14. package/dist/cjs/tool/tools/filesystem.js.map +1 -1
  15. package/dist/cjs/tool/tools/sandbox.d.ts.map +1 -1
  16. package/dist/cjs/tool/tools/sandbox.js +99 -34
  17. package/dist/cjs/tool/tools/sandbox.js.map +1 -1
  18. package/dist/esm/prompt/prompt-builder.d.ts +11 -3
  19. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
  20. package/dist/esm/prompt/prompt-builder.js +54 -50
  21. package/dist/esm/prompt/prompt-builder.js.map +1 -1
  22. package/dist/esm/prompt/shared-fragments.d.ts +2 -2
  23. package/dist/esm/prompt/shared-fragments.d.ts.map +1 -1
  24. package/dist/esm/prompt/shared-fragments.js +4 -4
  25. package/dist/esm/prompt/shared-fragments.js.map +1 -1
  26. package/dist/esm/tool/tools/docgen.d.ts.map +1 -1
  27. package/dist/esm/tool/tools/docgen.js +10 -0
  28. package/dist/esm/tool/tools/docgen.js.map +1 -1
  29. package/dist/esm/tool/tools/filesystem.d.ts.map +1 -1
  30. package/dist/esm/tool/tools/filesystem.js +24 -16
  31. package/dist/esm/tool/tools/filesystem.js.map +1 -1
  32. package/dist/esm/tool/tools/sandbox.d.ts.map +1 -1
  33. package/dist/esm/tool/tools/sandbox.js +99 -34
  34. package/dist/esm/tool/tools/sandbox.js.map +1 -1
  35. package/package.json +2 -2
@@ -2,8 +2,16 @@ import type { ToolRegistry, SkillManager } from '@cicctencent/agent-core';
2
2
  import type { AgentProfileEntity, PromptBuilderProvider, SpecialistResourceContext } from '../types.js';
3
3
  /** 内置工具名称可读化映射 */
4
4
  export declare const BUILTIN_TOOL_LABELS: Record<string, string>;
5
- /** 全局基础规则 所有 Agent 共享的通用行为规范 */
6
- export declare const GLOBAL_BASE_RULES = "\n\n## Universal Rules\n\n### Plan Before Execute\n- For ANY task involving multiple steps: **output a numbered step list before doing anything**\n- Format the plan as a **bold inline list**, NOT as markdown headings (## or ###). Use: \"**1.** Fetch data \u2192 **2.** Analyze \u2192 **3.** Generate output\"\n- Do NOT start calling tools until the plan is output\n- As you work, track progress: \u2713 done / \u2192 in progress / \u25CB pending\n\n### Read Before Write\n- If the user provides a file, document reference, or data source: **read/fetch it first** before creating outputs\n- Gather all necessary data before starting generation\n- Don't assume content \u2014 verify with tools\n\n### Tool Parameter Limits\n- `write_file` / `append_file` content: **keep under 3000 chars** per call (JSON escaping inflates size by 30-50%)\n- For large content: split into multiple `append_file` calls, one chunk per call\n- Never use heredoc (`cat >> file << EOF`) in `execute_command`\n\n### Error Recovery\n- If a tool call fails: **diagnose the error** before retrying\n- Never blindly retry the same failing approach \u2014 try a different method\n- If content was truncated: use `append_file` to add the remaining parts\n\n### Conversation History & Current Request\n- Your conversation history is provided in <conversation_history> tags as a summary \u2014 it is context only\n- The current user request is in <current_request> tags or is the latest user message \u2014 this is what you must act on\n- Do NOT proactively combine or continue tasks from <conversation_history> unless <current_request> explicitly references them\n- Evaluate task complexity based on <current_request> alone, not on accumulated history\n- **REUSE prior results (CRITICAL)**: If the current request repeats or closely resembles a previously completed task in history (e.g. \"\u518D\u751F\u6210\u4E00\u6B21\", \"regenerate\", \"\u91CD\u65B0\u505A\", \"\u540C\u6837\u7684\"), **do NOT re-fetch or re-query the same data sources**. Reuse the data and results already gathered in <conversation_history> to produce the output. Only fetch new data if the request explicitly asks for different/newer information.\n\n### Do Only What Is Asked (CRITICAL)\n- **NEVER proactively use tools that create files, reports, or artifacts** (write_file, save_artifact, create_report, create_presentation, create_document, create_pdf, show_widget) unless the user explicitly asks for them\n- Your default output is text/structured data directly in the conversation \u2014 not files\n- If the user asks for \"analysis\" or \"summary\", provide it as text \u2014 do NOT auto-generate a report file\n- Only generate files/reports when the user explicitly says \"\u751F\u6210\u62A5\u544A\", \"create PDF\", \"make a PPT\", \"save as file\", etc.\n- **\u26D4 STRICT FORMAT EXCLUSIVITY (CRITICAL)**: For any single user request, you may call **at most ONE** of `create_presentation`, `create_report`, `create_document`, `create_pdf`. **NEVER** call two or more of these tools for the same content/request. If the user asks for a \"report\", generate exactly ONE format (default: HTML via `create_report`). Do NOT generate both PPTX and HTML, or both PDF and DOCX, etc.\n\n### User Interaction (CRITICAL)\n- \u5F53\u4F60\u9700\u8981\u7528\u6237**\u505A\u51FA\u9009\u62E9\u3001\u786E\u8BA4\u6216\u63D0\u4F9B\u8F93\u5165**\u65F6\uFF0C**\u5FC5\u987B\u8C03\u7528 `ask_user` \u5DE5\u5177**\uFF0C\u800C\u4E0D\u662F\u5728\u56DE\u590D\u4E2D\u8F93\u51FA\"\u60A8\u662F\u5426\u9700\u8981\u6211\u2026\"\u3001\"\u8BF7\u786E\u8BA4\u662F\u5426\u2026\"\u7B49\u81EA\u7531\u6587\u672C\u3002\n- `ask_user` \u4F1A**\u6682\u505C\u5F53\u524D\u6267\u884C**\u5E76\u7B49\u5F85\u7528\u6237\u56DE\u7B54\uFF1B\u6536\u5230\u7B54\u6848\u540E\u4F60\u7684\u5DE5\u5177\u4F1A\u8FD4\u56DE\u7528\u6237\u7684\u9009\u62E9/\u8F93\u5165\uFF0C\u636E\u6B64\u7EE7\u7EED\u6267\u884C\u4EFB\u52A1\u3002\n- \u9002\u7528\u573A\u666F\u4E3E\u4F8B\uFF1A\n - \u9700\u8981\u7528\u6237\u786E\u8BA4\u67D0\u4E2A\u64CD\u4F5C\uFF08type: `confirm`\uFF09\n - \u7ED9\u7528\u6237\u4E00\u7EC4\u9009\u9879\u8BA9\u5176\u9009\u62E9\u540E\u7EED\u52A8\u4F5C\uFF08type: `choice` / `multi-choice`\uFF09\n - \u9700\u8981\u7528\u6237\u8865\u5145\u4E00\u6BB5\u81EA\u7531\u6587\u672C\uFF08type: `input`\uFF09\n- **\u4E0D\u8981**\u7528\u5927\u6BB5\u6587\u5B57\u628A\u95EE\u9898\u629B\u7ED9\u7528\u6237\u7136\u540E\u7ED3\u675F\u56DE\u590D\uFF1B\u5E94\u5F53\u901A\u8FC7 `ask_user` \u771F\u6B63\u7B49\u5F85\u7B54\u6848\u3002\n- \u4EC5\u5728\u786E\u5B9E\u9700\u8981\u4ECE\u7528\u6237\u5904\u83B7\u53D6\u4FE1\u606F\u65F6\u624D\u4F7F\u7528\uFF0C\u907F\u514D\u65E0\u8C13\u5730\u6253\u65AD\u7528\u6237\u3002\n\n### Iteration Budget & Efficiency (CRITICAL)\n- You have a **limited number of iterations** (typically 15). Every LLM turn counts.\n- **NEVER re-query the same data source.** If you called a tool and got results, use those results \u2014 do NOT call it again.\n- **NEVER call read_tool_result or read_offload to re-read data you already received.**\n- **Batch data gathering:** call multiple independent tools in the SAME turn (parallel tool calls).\n- **Data \u2192 Action pipeline:** gather data in 1-2 iterations, then immediately analyze/generate in the next iteration.\n- **Return concise structured summaries**, not raw data dumps. Extract key metrics, rankings, distributions \u2014 not every single record.\n\n### Delegate Progress Reporting (CRITICAL for UX)\nWhen you call `delegate_task`, the user sees NOTHING while the sub-agent runs \u2014 no progress, no feedback. This makes long delegations feel broken.\n\n**You MUST output brief progress messages at these checkpoints:**\n1. **Before delegating**: Output \"\u6B63\u5728\u59D4\u6258\u300C{agent_name}\u300D\u5904\u7406 {brief_description}\uFF0C\u8BF7\u7A0D\u5019\u2026\"\n2. **After delegation completes**: Output \"\u300C{agent_name}\u300D\u5DF2\u5B8C\u6210\uFF0C\u6B63\u5728\u5904\u7406\u7ED3\u679C\u2026\" before calling the next tool\n3. **Before generating output files** (PPT/PDF/etc.): Output \"\u6B63\u5728\u751F\u6210 {file_type}\u2026\"\n\n**Final reply rules:**\n- After all delegations and file generation complete, provide a **clean, structured summary** of results\n- Do NOT include internal reasoning, tool call logs, or progress narration in the final reply \u2014 those belong in progress messages only\n- The final reply should be polished and user-facing: key findings, recommendations, generated files";
5
+ /** 全局基础规则 - 所有 Agent 共享的通用行为规范(不含任何具体工具名引用) */
6
+ export declare const GLOBAL_BASE_RULES = "\n\n## Universal Rules\n\n### Plan Before Execute\n- For ANY task involving multiple steps: **output a numbered step list before doing anything**\n- Format the plan as a **bold inline list**, NOT as markdown headings (## or ###). Use: \"**1.** Fetch data -> **2.** Analyze -> **3.** Generate output\"\n- Do NOT start calling tools until the plan is output\n- As you work, track progress: \u2713 done / -> in progress / \u25CB pending\n\n### Read Before Write\n- If the user provides a file, document reference, or data source: **read/fetch it first** before creating outputs\n- Gather all necessary data before starting generation\n- Don't assume content - verify with tools\n\n### Error Recovery\n- If a tool call fails: **diagnose the error** before retrying\n- Never blindly retry the same failing approach - try a different method\n- If content was truncated: use file appending tools to add the remaining parts\n\n### Conversation History & Current Request\n- Your conversation history is provided in <conversation_history> tags as a summary - it is context only\n- The current user request is in <current_request> tags or is the latest user message - this is what you must act on\n- Do NOT proactively combine or continue tasks from <conversation_history> unless <current_request> explicitly references them\n- Evaluate task complexity based on <current_request> alone, not on accumulated history\n- **REUSE prior results (CRITICAL)**: If the current request repeats or closely resembles a previously completed task in history (e.g. \"\u518D\u751F\u6210\u4E00\u6B21\", \"regenerate\", \"\u91CD\u65B0\u505A\", \"\u540C\u6837\u7684\"), **do NOT re-fetch or re-query the same data sources**. Reuse the data and results already gathered in <conversation_history> to produce the output. Only fetch new data if the request explicitly asks for different/newer information.\n\n### Output Restraint (CRITICAL)\n- **NEVER proactively use tools that create files, reports, or artifacts unless the user explicitly asks for them**\n- Your default output is text/structured data directly in the conversation - not files\n- If the user asks for \"analysis\" or \"summary\", provide it as text - do NOT auto-generate a report file\n- Only generate files/reports when the user explicitly says \"\u751F\u6210\u62A5\u544A\", \"create PDF\", \"make a PPT\", \"save as file\", etc.\n\n### Iteration Budget & Efficiency (CRITICAL)\n- You have a **limited number of iterations** (typically 15). Every LLM turn counts.\n- **NEVER re-query the same data source.** If you called a tool and got results, use those results - do NOT call it again.\n- **NEVER re-read data you already received** - do not call read/result retrieval tools on data already in context.\n- **Batch data gathering:** call multiple independent tools in the SAME turn (parallel tool calls).\n- **Data -> Action pipeline:** gather data in 1-2 iterations, then immediately analyze/generate in the next iteration.\n- **Return concise structured summaries**, not raw data dumps. Extract key metrics, rankings, distributions - not every single record.\n\n### Final Reply Rules\n- After all tasks and file generation complete, provide a **clean, structured summary** of results\n- Do NOT include internal reasoning, tool call logs, or progress narration in the final reply\n- The final reply should be polished and user-facing: key findings, recommendations, generated files";
7
+ /**
8
+ * 收集已注册工具的使用引导(prompt),注入到 system prompt
9
+ *
10
+ * 每个工具可以通过 RegisteredTool.prompt 字段携带使用引导。
11
+ * 仅当工具实际注册时,其 prompt 才会被收集并注入,
12
+ * 避免 LLM 被引导调用未绑定的工具。
13
+ */
14
+ export declare function buildToolPrompts(tools: ToolRegistry): string;
7
15
  /**
8
16
  * 默认 PromptBuilderProvider 实现
9
17
  */
@@ -15,7 +23,7 @@ export declare class DefaultPromptBuilder implements PromptBuilderProvider {
15
23
  buildMCPToolDescList(registry: ToolRegistry): string;
16
24
  }
17
25
  /** 共享提示词片段:工具结果呈现规范 */
18
- export declare const RESULT_SYNTHESIS_PROMPT = "\n\n## Tool Result Presentation (MANDATORY)\n\nAfter calling tools and receiving data, you MUST:\n1. **Analyze and summarize** \u2014 never dump raw JSON or tool output directly; synthesize and organize the data\n2. **Highlight key findings** \u2014 identify trends, anomalies, or notable information\n3. **Structured presentation** \u2014 use headings, bullet points, or tables for readability\n4. **Add insights** \u2014 provide professional interpretation, comparisons, or recommendations\n5. **NEVER re-fetch** \u2014 if you already called a tool and got results, do NOT call the same tool again\n6. **Use user's language** \u2014 respond in the same language the user used";
26
+ export declare const RESULT_SYNTHESIS_PROMPT = "\n\n## Tool Result Presentation (MANDATORY)\n\nAfter calling tools and receiving data, you MUST:\n1. **Analyze and summarize** - never dump raw JSON or tool output directly; synthesize and organize the data\n2. **Highlight key findings** - identify trends, anomalies, or notable information\n3. **Structured presentation** - use headings, bullet points, or tables for readability\n4. **Add insights** - provide professional interpretation, comparisons, or recommendations\n5. **NEVER re-fetch** - if you already called a tool and got results, do NOT call the same tool again\n6. **Use user's language** - respond in the same language the user used";
19
27
  /** Specialist 结果综合提示词 */
20
28
  export declare const SPECIALIST_SYNTHESIS_PROMPT = "Based on the specialist agents' outputs above, provide a comprehensive synthesis:\n1. Summarize key findings from each agent\n2. Identify any conflicts or contradictions\n3. Provide a unified recommendation\n4. Highlight any risks or caveats\nRespond in the same language as the user.";
21
29
  //# sourceMappingURL=prompt-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExG,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC;AAMF,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,i1MAoEuE,CAAC;AAEtG;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,MAAM;IAIzE,kBAAkB,CAChB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACjE,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM;IAmCT,qBAAqB,CACnB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IAwBT,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAYjD,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;CASrD;AAED,uBAAuB;AACvB,eAAO,MAAM,uBAAuB,0qBAUoC,CAAC;AAEzE,yBAAyB;AACzB,eAAO,MAAM,2BAA2B,iSAKE,CAAC"}
1
+ {"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExG,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC;AAMF,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,i2GA4CuE,CAAC;AAEtG;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAc5D;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,MAAM;IAIzE,kBAAkB,CAChB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACjE,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM;IAuCT,qBAAqB,CACnB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IA4BT,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAYjD,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;CASrD;AAED,uBAAuB;AACvB,eAAO,MAAM,uBAAuB,4oBAUoC,CAAC;AAEzE,yBAAyB;AACzB,eAAO,MAAM,2BAA2B,iSAKE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  // ============================================================
3
- // PromptBuilder 默认 Prompt 构建实现
3
+ // PromptBuilder - 默认 Prompt 构建实现
4
4
  // ============================================================
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SPECIALIST_SYNTHESIS_PROMPT = exports.RESULT_SYNTHESIS_PROMPT = exports.DefaultPromptBuilder = exports.GLOBAL_BASE_RULES = exports.BUILTIN_TOOL_LABELS = void 0;
7
+ exports.buildToolPrompts = buildToolPrompts;
7
8
  /** 内置工具名称可读化映射 */
8
9
  exports.BUILTIN_TOOL_LABELS = {
9
10
  execute_command: '执行命令',
@@ -31,76 +32,72 @@ exports.BUILTIN_TOOL_LABELS = {
31
32
  // ============================================================
32
33
  // 全局基础规则(注入到所有 Agent 的系统提示词中)
33
34
  // ============================================================
34
- /** 全局基础规则 所有 Agent 共享的通用行为规范 */
35
+ /** 全局基础规则 - 所有 Agent 共享的通用行为规范(不含任何具体工具名引用) */
35
36
  exports.GLOBAL_BASE_RULES = `
36
37
 
37
38
  ## Universal Rules
38
39
 
39
40
  ### Plan Before Execute
40
41
  - For ANY task involving multiple steps: **output a numbered step list before doing anything**
41
- - Format the plan as a **bold inline list**, NOT as markdown headings (## or ###). Use: "**1.** Fetch data **2.** Analyze **3.** Generate output"
42
+ - Format the plan as a **bold inline list**, NOT as markdown headings (## or ###). Use: "**1.** Fetch data -> **2.** Analyze -> **3.** Generate output"
42
43
  - Do NOT start calling tools until the plan is output
43
- - As you work, track progress: ✓ done / in progress / ○ pending
44
+ - As you work, track progress: ✓ done / -> in progress / ○ pending
44
45
 
45
46
  ### Read Before Write
46
47
  - If the user provides a file, document reference, or data source: **read/fetch it first** before creating outputs
47
48
  - Gather all necessary data before starting generation
48
- - Don't assume content verify with tools
49
-
50
- ### Tool Parameter Limits
51
- - \`write_file\` / \`append_file\` content: **keep under 3000 chars** per call (JSON escaping inflates size by 30-50%)
52
- - For large content: split into multiple \`append_file\` calls, one chunk per call
53
- - Never use heredoc (\`cat >> file << EOF\`) in \`execute_command\`
49
+ - Don't assume content - verify with tools
54
50
 
55
51
  ### Error Recovery
56
52
  - If a tool call fails: **diagnose the error** before retrying
57
- - Never blindly retry the same failing approach try a different method
58
- - If content was truncated: use \`append_file\` to add the remaining parts
53
+ - Never blindly retry the same failing approach - try a different method
54
+ - If content was truncated: use file appending tools to add the remaining parts
59
55
 
60
56
  ### Conversation History & Current Request
61
- - Your conversation history is provided in <conversation_history> tags as a summary it is context only
62
- - The current user request is in <current_request> tags or is the latest user message this is what you must act on
57
+ - Your conversation history is provided in <conversation_history> tags as a summary - it is context only
58
+ - The current user request is in <current_request> tags or is the latest user message - this is what you must act on
63
59
  - Do NOT proactively combine or continue tasks from <conversation_history> unless <current_request> explicitly references them
64
60
  - Evaluate task complexity based on <current_request> alone, not on accumulated history
65
61
  - **REUSE prior results (CRITICAL)**: If the current request repeats or closely resembles a previously completed task in history (e.g. "再生成一次", "regenerate", "重新做", "同样的"), **do NOT re-fetch or re-query the same data sources**. Reuse the data and results already gathered in <conversation_history> to produce the output. Only fetch new data if the request explicitly asks for different/newer information.
66
62
 
67
- ### Do Only What Is Asked (CRITICAL)
68
- - **NEVER proactively use tools that create files, reports, or artifacts** (write_file, save_artifact, create_report, create_presentation, create_document, create_pdf, show_widget) unless the user explicitly asks for them
69
- - Your default output is text/structured data directly in the conversation not files
70
- - If the user asks for "analysis" or "summary", provide it as text do NOT auto-generate a report file
63
+ ### Output Restraint (CRITICAL)
64
+ - **NEVER proactively use tools that create files, reports, or artifacts unless the user explicitly asks for them**
65
+ - Your default output is text/structured data directly in the conversation - not files
66
+ - If the user asks for "analysis" or "summary", provide it as text - do NOT auto-generate a report file
71
67
  - Only generate files/reports when the user explicitly says "生成报告", "create PDF", "make a PPT", "save as file", etc.
72
- - **⛔ STRICT FORMAT EXCLUSIVITY (CRITICAL)**: For any single user request, you may call **at most ONE** of \`create_presentation\`, \`create_report\`, \`create_document\`, \`create_pdf\`. **NEVER** call two or more of these tools for the same content/request. If the user asks for a "report", generate exactly ONE format (default: HTML via \`create_report\`). Do NOT generate both PPTX and HTML, or both PDF and DOCX, etc.
73
-
74
- ### User Interaction (CRITICAL)
75
- - 当你需要用户**做出选择、确认或提供输入**时,**必须调用 \`ask_user\` 工具**,而不是在回复中输出"您是否需要我…"、"请确认是否…"等自由文本。
76
- - \`ask_user\` 会**暂停当前执行**并等待用户回答;收到答案后你的工具会返回用户的选择/输入,据此继续执行任务。
77
- - 适用场景举例:
78
- - 需要用户确认某个操作(type: \`confirm\`)
79
- - 给用户一组选项让其选择后续动作(type: \`choice\` / \`multi-choice\`)
80
- - 需要用户补充一段自由文本(type: \`input\`)
81
- - **不要**用大段文字把问题抛给用户然后结束回复;应当通过 \`ask_user\` 真正等待答案。
82
- - 仅在确实需要从用户处获取信息时才使用,避免无谓地打断用户。
83
68
 
84
69
  ### Iteration Budget & Efficiency (CRITICAL)
85
70
  - You have a **limited number of iterations** (typically 15). Every LLM turn counts.
86
- - **NEVER re-query the same data source.** If you called a tool and got results, use those results do NOT call it again.
87
- - **NEVER call read_tool_result or read_offload to re-read data you already received.**
71
+ - **NEVER re-query the same data source.** If you called a tool and got results, use those results - do NOT call it again.
72
+ - **NEVER re-read data you already received** - do not call read/result retrieval tools on data already in context.
88
73
  - **Batch data gathering:** call multiple independent tools in the SAME turn (parallel tool calls).
89
- - **Data Action pipeline:** gather data in 1-2 iterations, then immediately analyze/generate in the next iteration.
90
- - **Return concise structured summaries**, not raw data dumps. Extract key metrics, rankings, distributions not every single record.
91
-
92
- ### Delegate Progress Reporting (CRITICAL for UX)
93
- When you call \`delegate_task\`, the user sees NOTHING while the sub-agent runs — no progress, no feedback. This makes long delegations feel broken.
74
+ - **Data -> Action pipeline:** gather data in 1-2 iterations, then immediately analyze/generate in the next iteration.
75
+ - **Return concise structured summaries**, not raw data dumps. Extract key metrics, rankings, distributions - not every single record.
94
76
 
95
- **You MUST output brief progress messages at these checkpoints:**
96
- 1. **Before delegating**: Output "正在委托「{agent_name}」处理 {brief_description},请稍候…"
97
- 2. **After delegation completes**: Output "「{agent_name}」已完成,正在处理结果…" before calling the next tool
98
- 3. **Before generating output files** (PPT/PDF/etc.): Output "正在生成 {file_type}…"
99
-
100
- **Final reply rules:**
101
- - After all delegations and file generation complete, provide a **clean, structured summary** of results
102
- - Do NOT include internal reasoning, tool call logs, or progress narration in the final reply — those belong in progress messages only
77
+ ### Final Reply Rules
78
+ - After all tasks and file generation complete, provide a **clean, structured summary** of results
79
+ - Do NOT include internal reasoning, tool call logs, or progress narration in the final reply
103
80
  - The final reply should be polished and user-facing: key findings, recommendations, generated files`;
81
+ /**
82
+ * 收集已注册工具的使用引导(prompt),注入到 system prompt
83
+ *
84
+ * 每个工具可以通过 RegisteredTool.prompt 字段携带使用引导。
85
+ * 仅当工具实际注册时,其 prompt 才会被收集并注入,
86
+ * 避免 LLM 被引导调用未绑定的工具。
87
+ */
88
+ function buildToolPrompts(tools) {
89
+ const names = tools.listNames();
90
+ const prompts = [];
91
+ for (const name of names) {
92
+ const tool = tools.get(name);
93
+ if (tool?.prompt) {
94
+ prompts.push(tool.prompt);
95
+ }
96
+ }
97
+ if (prompts.length === 0)
98
+ return '';
99
+ return `\n## Tool Usage Guidelines\n\n${prompts.join('\n\n')}`;
100
+ }
104
101
  /**
105
102
  * 默认 PromptBuilderProvider 实现
106
103
  */
@@ -112,6 +109,10 @@ class DefaultPromptBuilder {
112
109
  const parts = [];
113
110
  parts.push(profile.basePrompt || 'You are a helpful AI assistant with access to tools. Use tools when needed to accomplish tasks. Always explain your actions clearly. Respond in the same language as the user.');
114
111
  parts.push(exports.GLOBAL_BASE_RULES);
112
+ // 收集已注册工具的使用引导(每个工具自带 prompt 字段)
113
+ const toolPrompts = buildToolPrompts(tools);
114
+ if (toolPrompts)
115
+ parts.push(toolPrompts);
115
116
  if (memory) {
116
117
  parts.push(`\n${memory}`);
117
118
  }
@@ -141,6 +142,10 @@ class DefaultPromptBuilder {
141
142
  const parts = [];
142
143
  parts.push(profile.basePrompt || 'You are a specialist AI agent. Focus on your domain expertise and use tools to accomplish tasks.');
143
144
  parts.push(exports.GLOBAL_BASE_RULES);
145
+ // 收集已注册工具的使用引导(每个工具自带 prompt 字段)
146
+ const toolPrompts = buildToolPrompts(tools);
147
+ if (toolPrompts)
148
+ parts.push(toolPrompts);
144
149
  if (memory) {
145
150
  parts.push(`\n${memory}`);
146
151
  }
@@ -185,12 +190,12 @@ exports.RESULT_SYNTHESIS_PROMPT = `
185
190
  ## Tool Result Presentation (MANDATORY)
186
191
 
187
192
  After calling tools and receiving data, you MUST:
188
- 1. **Analyze and summarize** never dump raw JSON or tool output directly; synthesize and organize the data
189
- 2. **Highlight key findings** identify trends, anomalies, or notable information
190
- 3. **Structured presentation** use headings, bullet points, or tables for readability
191
- 4. **Add insights** provide professional interpretation, comparisons, or recommendations
192
- 5. **NEVER re-fetch** if you already called a tool and got results, do NOT call the same tool again
193
- 6. **Use user's language** respond in the same language the user used`;
193
+ 1. **Analyze and summarize** - never dump raw JSON or tool output directly; synthesize and organize the data
194
+ 2. **Highlight key findings** - identify trends, anomalies, or notable information
195
+ 3. **Structured presentation** - use headings, bullet points, or tables for readability
196
+ 4. **Add insights** - provide professional interpretation, comparisons, or recommendations
197
+ 5. **NEVER re-fetch** - if you already called a tool and got results, do NOT call the same tool again
198
+ 6. **Use user's language** - respond in the same language the user used`;
194
199
  /** Specialist 结果综合提示词 */
195
200
  exports.SPECIALIST_SYNTHESIS_PROMPT = `Based on the specialist agents' outputs above, provide a comprehensive synthesis:
196
201
  1. Summarize key findings from each agent
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"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"}
@@ -47,8 +47,8 @@ export declare function buildMCPToolDescList(registry: ToolRegistry, categoryAwa
47
47
  export declare function buildSpecialistMcpPriorityPrompt(profileName: string, mcpToolList: string): string;
48
48
  export declare function buildDataPresentationPrompt(capabilities: Pick<AgentToolCapabilities, 'hasCreateReport'>, options?: DataPresentationPromptOptions): string;
49
49
  export declare const HTML_WIDGET_QUALITY_RULES = "\n\n**\u26D4 HTML \u8D28\u91CF\u94C1\u5F8B\uFF08\u8FDD\u53CD\u4F1A\u5BFC\u81F4\u62A5\u8868\u5D29\u6E83\uFF09\uFF1A**\n- **\u7EDD\u5BF9\u7981\u6B62** \u5C06 HTML \u6807\u7B7E\u8F6C\u4E49\u4E3A\u5B9E\u4F53\uFF08\u5982 `&lt;h3&gt;`\uFF09\uFF0C\u8FD9\u4F1A\u5BFC\u81F4\u5185\u5BB9\u663E\u793A\u4E3A\u539F\u59CB\u6587\u672C\n- `getElementById` \u7684\u53C2\u6570 **\u5FC5\u987B** \u4E0E HTML \u5143\u7D20\u7684 `id` \u5C5E\u6027 **\u5B8C\u5168\u4E00\u81F4**\uFF08\u5927\u5C0F\u5199\u3001\u62FC\u5199\uFF09\n- \u590D\u6742\u62A5\u8868 **\u4F18\u5148\u4F7F\u7528 html_file** \u800C\u975E\u5185\u8054 html \u53C2\u6570\uFF0C\u907F\u514D\u53C2\u6570\u622A\u65AD\u548C\u8F6C\u4E49\u95EE\u9898\n- **\u7981\u6B62\u81EA\u5B9A\u4E49 CSS \u53D8\u91CF**\uFF1A\u4E0D\u8981\u5728 `:root` \u4E2D\u5B9A\u4E49 `--bg-page`\u3001`--text-primary` \u7B49\u81EA\u5B9A\u4E49\u53D8\u91CF\u3002\u7CFB\u7EDF\u81EA\u52A8\u6CE8\u5165 `--color-*` \u53D8\u91CF\uFF08\u5982 `--color-bg-page`\u3001`--color-text-primary`\uFF09\uFF0C**\u5FC5\u987B\u4F7F\u7528\u8FD9\u4E9B\u6CE8\u5165\u53D8\u91CF**\n- **\u7981\u6B62 ECharts \u786C\u7F16\u7801\u989C\u8272**\uFF1A\u4E0D\u8981\u5199 `var COLORS = ['#00e5ff',...]`\uFF0C\u6539\u7528 `getComputedStyle(document.documentElement).getPropertyValue('--color-accent-primary').trim()`";
50
- export declare const SPECIALIST_EFFICIENCY_RULES = "\n\n## \u26A0\uFE0F \u8FED\u4EE3\u6548\u7387\u5F3A\u5236\u89C4\u5219\uFF08CRITICAL \u2014 MUST FOLLOW\uFF09\n\n1. **\u6570\u636E\u53EA\u67E5\u4E00\u6B21**\uFF1A\u8C03\u7528\u5DE5\u5177\u83B7\u53D6\u6570\u636E\u540E\uFF0C\u76F4\u63A5\u4F7F\u7528\u5BF9\u8BDD\u5386\u53F2\u4E2D\u7684\u7ED3\u679C\u8FDB\u884C\u5206\u6790\u548C\u7EFC\u5408\uFF0C\u7EDD\u5BF9\u4E0D\u8981\u518D\u6B21\u8C03\u7528\u76F8\u540C\u7684\u5DE5\u5177\n2. **\u5DE5\u5177\u8C03\u7528\u786C\u9650\u5236**\uFF1A\u6BCF\u4E2A\u72EC\u7ACB\u7684\u5DE5\u5177\uFF08\u6309\u5DE5\u5177\u540D\u533A\u5206\uFF09\u6700\u591A\u8C03\u7528 **2 \u6B21**\u3002\u5982\u679C\u7B2C 1 \u6B21\u8C03\u7528\u5DF2\u8FD4\u56DE\u5145\u8DB3\u6570\u636E\uFF08>20 \u6761\u8BB0\u5F55\u6216\u7ED3\u6784\u5316\u6C47\u603B\uFF09\uFF0C**\u7981\u6B62\u7B2C 2 \u6B21\u8C03\u7528**\u3002\u7EDD\u5BF9\u4E0D\u8981\u7528\u76F8\u540C\u53C2\u6570\u91CD\u590D\u8C03\u7528\u540C\u4E00\u5DE5\u5177\n3. **\u7981\u6B62\u5197\u4F59\u8BFB\u53D6**\uFF1A\u5982\u679C\u5DE5\u5177\u7ED3\u679C\u88AB offload\uFF08\u663E\u793A [offload:xxx] \u6807\u7B7E\uFF09\uFF0C\u6700\u591A read_offload/read_tool_result \u8BFB\u53D6 **\u4E00\u6B21**\uFF0C\u7136\u540E\u7ACB\u5373\u7EFC\u5408\u6458\u8981\u3002\u7EDD\u5BF9\u4E0D\u8981\u53CD\u590D\u8BFB\u53D6\u540C\u4E00\u4E2A offload \u8282\u70B9\n4. **\u5FEB\u901F\u7EFC\u5408**\uFF1A\u6570\u636E\u83B7\u53D6\u5B8C\u6BD5\u540E\uFF08\u901A\u5E38 2-3 \u4E2A\u5DE5\u5177\u8C03\u7528\uFF09\uFF0C\u76F4\u63A5\u5728\u4E0B\u4E00\u8F6E\u8FED\u4EE3\u4E2D\u8F93\u51FA\u7ED3\u6784\u5316\u5206\u6790\u7ED3\u679C\uFF0C\u4E0D\u8981\u82B1\u989D\u5916\u8FED\u4EE3\u91CD\u65B0\u6574\u7406\u6570\u636E\n5. **\u8FED\u4EE3\u9884\u7B97**\uFF1A\u4F60\u53EA\u6709 15 \u4E2A\u8FED\u4EE3\uFF0C\u6BCF\u4E2A LLM \u8F6E\u6B21\u90FD\u7B97\u4E00\u6B21\u3002\u6570\u636E\u83B7\u53D6\u9636\u6BB5\u4E0D\u5E94\u8D85\u8FC7 **3 \u4E2A\u8FED\u4EE3**\uFF0C\u603B\u5DE5\u5177\u8C03\u7528\u4E0D\u8D85\u8FC7 **6 \u6B21**\n6. **\u8FD4\u56DE\u7CBE\u7B80\u6458\u8981**\uFF1A\u8FD4\u56DE\u7ED3\u6784\u5316\u7684\u5173\u952E\u6307\u6807\u3001\u6392\u884C\u699C\u3001\u5206\u5E03\u7EDF\u8BA1\uFF0C\u800C\u975E\u6BCF\u6761\u8BB0\u5F55\u7684\u539F\u59CB\u6570\u636E\n7. **\u7981\u6B62\u53CD\u95EE\u7528\u6237**\uFF1A\u4F60\u88AB\u59D4\u6258\u6267\u884C\u4EFB\u52A1\uFF0C**\u7EDD\u5BF9\u4E0D\u80FD**\u5728\u7ED3\u679C\u4E2D\u53CD\u95EE\u7528\u6237\"\u9700\u8981\u6211\u505A\u4EC0\u4E48\u5417\uFF1F\"\u6216\"\u8BF7\u786E\u8BA4\u60A8\u7684\u9700\u6C42\"\u3002\u4EFB\u52A1\u63CF\u8FF0\u5C31\u662F\u4F60\u7684\u5168\u90E8\u6307\u4EE4\uFF0C\u76F4\u63A5\u5B8C\u6210\u5E76\u8FD4\u56DE\u7ED3\u679C\u3002\u5982\u679C\u4EFB\u52A1\u63CF\u8FF0\u4E0D\u6E05\u6670\uFF0C\u57FA\u4E8E\u4F60\u7684\u4E13\u4E1A\u77E5\u8BC6\u505A\u6700\u4F73\u5224\u65AD\u5E76\u6267\u884C\n8. **\u5931\u8D25\u4E0D\u8981\u53CD\u590D\u91CD\u8BD5**\uFF1A\u5982\u679C\u67D0\u6B21\u5DE5\u5177\u8C03\u7528\u8FD4\u56DE\u9519\u8BEF\uFF08\u5982 web_fetch \u8D85\u65F6\u3001\u7F51\u7EDC\u9519\u8BEF\uFF09\uFF0C**\u4E0D\u8981\u5BF9\u540C\u4E00\u5931\u8D25\u5DE5\u5177\u53CD\u590D\u91CD\u8BD5**\u2014\u2014\u6700\u591A\u91CD\u8BD5 1 \u6B21\uFF0C\u82E5\u4ECD\u5931\u8D25\u5219\u76F4\u63A5\u57FA\u4E8E\u5DF2\u6709\u4FE1\u606F\u7EE7\u7EED\u5206\u6790\uFF0C\u6216\u7B80\u8981\u8BF4\u660E\u8BE5\u6570\u636E\u83B7\u53D6\u5931\u8D25\uFF0C\u7EDD\u4E0D\u8BA9\u5931\u8D25\u7684\u5DE5\u5177\u8C03\u7528\u62D6\u57AE\u6574\u4E2A\u4EFB\u52A1";
50
+ export declare const SPECIALIST_EFFICIENCY_RULES = "\n\n## \u26A0\uFE0F \u8FED\u4EE3\u6548\u7387\u5F3A\u5236\u89C4\u5219\uFF08CRITICAL \u2014 MUST FOLLOW\uFF09\n\n1. **\u6570\u636E\u53EA\u67E5\u4E00\u6B21**\uFF1A\u8C03\u7528\u5DE5\u5177\u83B7\u53D6\u6570\u636E\u540E\uFF0C\u76F4\u63A5\u4F7F\u7528\u5BF9\u8BDD\u5386\u53F2\u4E2D\u7684\u7ED3\u679C\u8FDB\u884C\u5206\u6790\u548C\u7EFC\u5408\uFF0C\u7EDD\u5BF9\u4E0D\u8981\u518D\u6B21\u8C03\u7528\u76F8\u540C\u7684\u5DE5\u5177\n2. **\u5DE5\u5177\u8C03\u7528\u786C\u9650\u5236**\uFF1A\u6BCF\u4E2A\u72EC\u7ACB\u7684\u5DE5\u5177\uFF08\u6309\u5DE5\u5177\u540D\u533A\u5206\uFF09\u6700\u591A\u8C03\u7528 **2 \u6B21**\u3002\u5982\u679C\u7B2C 1 \u6B21\u8C03\u7528\u5DF2\u8FD4\u56DE\u5145\u8DB3\u6570\u636E\uFF08>20 \u6761\u8BB0\u5F55\u6216\u7ED3\u6784\u5316\u6C47\u603B\uFF09\uFF0C**\u7981\u6B62\u7B2C 2 \u6B21\u8C03\u7528**\u3002\u7EDD\u5BF9\u4E0D\u8981\u7528\u76F8\u540C\u53C2\u6570\u91CD\u590D\u8C03\u7528\u540C\u4E00\u5DE5\u5177\n3. **\u7981\u6B62\u5197\u4F59\u8BFB\u53D6**\uFF1A\u5982\u679C\u5DE5\u5177\u7ED3\u679C\u88AB offload\uFF08\u663E\u793A [offload:xxx] \u6807\u7B7E\uFF09\uFF0C\u6700\u591A\u8BFB\u53D6 **\u4E00\u6B21**\uFF0C\u7136\u540E\u7ACB\u5373\u7EFC\u5408\u6458\u8981\u3002\u7EDD\u5BF9\u4E0D\u8981\u53CD\u590D\u8BFB\u53D6\u540C\u4E00\u4E2A offload \u8282\u70B9\n4. **\u5FEB\u901F\u7EFC\u5408**\uFF1A\u6570\u636E\u83B7\u53D6\u5B8C\u6BD5\u540E\uFF08\u901A\u5E38 2-3 \u4E2A\u5DE5\u5177\u8C03\u7528\uFF09\uFF0C\u76F4\u63A5\u5728\u4E0B\u4E00\u8F6E\u8FED\u4EE3\u4E2D\u8F93\u51FA\u7ED3\u6784\u5316\u5206\u6790\u7ED3\u679C\uFF0C\u4E0D\u8981\u82B1\u989D\u5916\u8FED\u4EE3\u91CD\u65B0\u6574\u7406\u6570\u636E\n5. **\u8FED\u4EE3\u9884\u7B97**\uFF1A\u4F60\u53EA\u6709 15 \u4E2A\u8FED\u4EE3\uFF0C\u6BCF\u4E2A LLM \u8F6E\u6B21\u90FD\u7B97\u4E00\u6B21\u3002\u6570\u636E\u83B7\u53D6\u9636\u6BB5\u4E0D\u5E94\u8D85\u8FC7 **3 \u4E2A\u8FED\u4EE3**\uFF0C\u603B\u5DE5\u5177\u8C03\u7528\u4E0D\u8D85\u8FC7 **6 \u6B21**\n6. **\u8FD4\u56DE\u7CBE\u7B80\u6458\u8981**\uFF1A\u8FD4\u56DE\u7ED3\u6784\u5316\u7684\u5173\u952E\u6307\u6807\u3001\u6392\u884C\u699C\u3001\u5206\u5E03\u7EDF\u8BA1\uFF0C\u800C\u975E\u6BCF\u6761\u8BB0\u5F55\u7684\u539F\u59CB\u6570\u636E\n7. **\u7981\u6B62\u53CD\u95EE\u7528\u6237**\uFF1A\u4F60\u88AB\u59D4\u6258\u6267\u884C\u4EFB\u52A1\uFF0C**\u7EDD\u5BF9\u4E0D\u80FD**\u5728\u7ED3\u679C\u4E2D\u53CD\u95EE\u7528\u6237\"\u9700\u8981\u6211\u505A\u4EC0\u4E48\u5417\uFF1F\"\u6216\"\u8BF7\u786E\u8BA4\u60A8\u7684\u9700\u6C42\"\u3002\u4EFB\u52A1\u63CF\u8FF0\u5C31\u662F\u4F60\u7684\u5168\u90E8\u6307\u4EE4\uFF0C\u76F4\u63A5\u5B8C\u6210\u5E76\u8FD4\u56DE\u7ED3\u679C\u3002\u5982\u679C\u4EFB\u52A1\u63CF\u8FF0\u4E0D\u6E05\u6670\uFF0C\u57FA\u4E8E\u4F60\u7684\u4E13\u4E1A\u77E5\u8BC6\u505A\u6700\u4F73\u5224\u65AD\u5E76\u6267\u884C\n8. **\u5931\u8D25\u4E0D\u8981\u53CD\u590D\u91CD\u8BD5**\uFF1A\u5982\u679C\u67D0\u6B21\u5DE5\u5177\u8C03\u7528\u8FD4\u56DE\u9519\u8BEF\uFF08\u5982\u8D85\u65F6\u3001\u7F51\u7EDC\u9519\u8BEF\uFF09\uFF0C**\u4E0D\u8981\u5BF9\u540C\u4E00\u5931\u8D25\u5DE5\u5177\u53CD\u590D\u91CD\u8BD5**\u2014\u2014\u6700\u591A\u91CD\u8BD5 1 \u6B21\uFF0C\u82E5\u4ECD\u5931\u8D25\u5219\u76F4\u63A5\u57FA\u4E8E\u5DF2\u6709\u4FE1\u606F\u7EE7\u7EED\u5206\u6790\uFF0C\u6216\u7B80\u8981\u8BF4\u660E\u8BE5\u6570\u636E\u83B7\u53D6\u5931\u8D25\uFF0C\u7EDD\u4E0D\u8BA9\u5931\u8D25\u7684\u5DE5\u5177\u8C03\u7528\u62D6\u57AE\u6574\u4E2A\u4EFB\u52A1";
51
51
  export declare const OUTPUT_CONCISION_RULES = "\n\n## \uD83D\uDCDD \u8F93\u51FA\u7B80\u6D01\u89C4\u5219\uFF08MANDATORY\uFF09\n\n- **\u4E0D\u8981\u590D\u8FF0\u5DE5\u5177\u8FD4\u56DE\u7684\u539F\u59CB\u6570\u636E**\uFF1A\u5DE5\u5177\u7ED3\u679C\u5DF2\u5728\u6D3B\u52A8\u9762\u677F\u5C55\u793A\uFF0C\u4F60\u53EA\u9700\u603B\u7ED3\u8981\u70B9\n- **\u4E0D\u8981\u9010\u6B65\u63CF\u8FF0\u6BCF\u4E2A\u5DE5\u5177\u8C03\u7528**\uFF1A\u907F\u514D\u8F93\u51FA\u7C7B\u4F3C \"mcp_xxx \u2192 xxx...\" \u6216 \"mcp_xxx (xxxms): {...}\" \u7684\u6280\u672F\u65E5\u5FD7\n- **\u89C4\u5212\u8981\u7B80\u77ED**\uFF1A1-2 \u53E5\u8BDD\u6982\u8FF0\u8BA1\u5212\u5373\u53EF\uFF0C\u4E0D\u8981\u5217\u51FA\u6BCF\u4E2A\u5DE5\u5177\u540D\u548C\u53C2\u6570\n- **\u7ED3\u679C\u603B\u7ED3\u8981\u7CBE\u70BC**\uFF1A\u7528 2-3 \u53E5\u8BDD\u603B\u7ED3\u5173\u952E\u53D1\u73B0\n- **\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA\u6C99\u7BB1\u6587\u4EF6\u8DEF\u5F84**\uFF1A\u5982 `_artifacts/...`\u3001`/Users/...` \u7B49\u8DEF\u5F84\u5BF9\u7528\u6237\u65E0\u610F\u4E49\uFF0C\u7528\u6237\u901A\u8FC7 artifact \u5361\u7247\u9884\u89C8\u5373\u53EF\n- **\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA artifact \u7684 HTTP \u4E0B\u8F7D URL**\uFF1A\u5982 `/api/work/artifacts/...` \u8FD9\u7C7B\u94FE\u63A5\u7531\u524D\u7AEF\u81EA\u52A8\u6E32\u67D3\u4E3A\u9884\u89C8/\u4E0B\u8F7D\u5361\u7247\uFF0C\u590D\u8FF0\u5230\u56DE\u590D\u91CC\u65E2\u5197\u4F59\u53C8\u4E0D\u53EF\u70B9\u51FB\uFF0C\u7EDD\u4E0D\u8981\u8F93\u51FA";
52
- export declare const SUB_AGENT_RESULT_SUMMARY_RULES = "\n\n## \uD83D\uDCCB \u5B50 Agent \u7ED3\u679C\u6C47\u603B\u89C4\u5219\uFF08CRITICAL \u2014 MUST FOLLOW\uFF09\n\n\u5F53 `delegate_task` \u5B8C\u6210\u540E\uFF0C\u4F60 **\u5FC5\u987B** \u5728\u56DE\u590D\u4E2D\u6C47\u603B\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\uFF0C\u800C\u4E0D\u662F\u53EA\u8BF4\"\u5DF2\u5B8C\u6210\"\uFF1A\n\n1. **\u63D0\u53D6\u5173\u952E\u53D1\u73B0**\uFF1A\u4ECE\u5B50 Agent \u8FD4\u56DE\u7684\u6587\u672C\u4E2D\u63D0\u53D6\u6838\u5FC3\u7ED3\u8BBA\u3001\u5173\u952E\u6570\u636E\u3001\u63A8\u8350\u65B9\u6848\u7B49\n2. **\u7ED3\u6784\u5316\u5448\u73B0**\uFF1A\u7528 Markdown \u683C\u5F0F\uFF08\u6807\u9898\u3001\u5217\u8868\u3001\u8868\u683C\uFF09\u5C06\u5173\u952E\u5185\u5BB9\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u8BA9\u7528\u6237\u65E0\u9700\u5C55\u5F00\u5DE5\u5177\u8C03\u7528\u8BE6\u60C5\u5373\u53EF\u770B\u5230\u7ED3\u679C\n3. **\u5305\u542B\u5177\u4F53\u6570\u636E**\uFF1A\u4E0D\u8981\u53EA\u8BF4\"\u5206\u6790\u5B8C\u6210\"\uFF0C\u8981\u5305\u542B\u5177\u4F53\u7684\u5206\u6790\u7ED3\u679C\uFF08\u5982\uFF1A\u63A8\u8350\u7684\u80A1\u7968\u3001\u5173\u952E\u6307\u6807\u3001\u8BC4\u4F30\u7ED3\u8BBA\u7B49\uFF09\n4. **\u6807\u6CE8\u4EA7\u7269**\uFF1A\u5982\u679C\u5B50 Agent \u751F\u6210\u4E86 artifact\uFF08HTML\u62A5\u544A/PPT\u7B49\uFF09\uFF0C\u53EA\u9700\u7B80\u5355\u63D0\u53CA\u4EA7\u7269\u540D\u79F0\uFF08\u5982\"\u5DF2\u751F\u6210\u5206\u6790\u62A5\u544A.docx\"\uFF09\uFF0C**\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\u6216 HTTP \u4E0B\u8F7D URL**\uFF08\u5982 `_artifacts/...`\u3001`/api/work/artifacts/...`\uFF09\uFF0C\u7528\u6237\u901A\u8FC7 artifact \u5361\u7247\u9884\u89C8\u5373\u53EF\n\n**\u6CE8\u610F**\uFF1A\u8FD9\u6761\u89C4\u5219\u4F18\u5148\u4E8E\"\u8F93\u51FA\u7B80\u6D01\u89C4\u5219\"\u2014\u2014\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\u5FC5\u987B\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u4E0D\u80FD\u88AB\u7701\u7565";
52
+ export declare const SUB_AGENT_RESULT_SUMMARY_RULES = "\n\n## \uD83D\uDCCB \u5B50 Agent \u7ED3\u679C\u6C47\u603B\u89C4\u5219\uFF08CRITICAL \u2014 MUST FOLLOW\uFF09\n\n\u5F53\u59D4\u6D3E\u4EFB\u52A1\u5B8C\u6210\u540E\uFF0C\u4F60 **\u5FC5\u987B** \u5728\u56DE\u590D\u4E2D\u6C47\u603B\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\uFF0C\u800C\u4E0D\u662F\u53EA\u8BF4\"\u5DF2\u5B8C\u6210\"\uFF1A\n\n1. **\u63D0\u53D6\u5173\u952E\u53D1\u73B0**\uFF1A\u4ECE\u5B50 Agent \u8FD4\u56DE\u7684\u6587\u672C\u4E2D\u63D0\u53D6\u6838\u5FC3\u7ED3\u8BBA\u3001\u5173\u952E\u6570\u636E\u3001\u63A8\u8350\u65B9\u6848\u7B49\n2. **\u7ED3\u6784\u5316\u5448\u73B0**\uFF1A\u7528 Markdown \u683C\u5F0F\uFF08\u6807\u9898\u3001\u5217\u8868\u3001\u8868\u683C\uFF09\u5C06\u5173\u952E\u5185\u5BB9\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u8BA9\u7528\u6237\u65E0\u9700\u5C55\u5F00\u5DE5\u5177\u8C03\u7528\u8BE6\u60C5\u5373\u53EF\u770B\u5230\u7ED3\u679C\n3. **\u5305\u542B\u5177\u4F53\u6570\u636E**\uFF1A\u4E0D\u8981\u53EA\u8BF4\"\u5206\u6790\u5B8C\u6210\"\uFF0C\u8981\u5305\u542B\u5177\u4F53\u7684\u5206\u6790\u7ED3\u679C\uFF08\u5982\uFF1A\u63A8\u8350\u7684\u80A1\u7968\u3001\u5173\u952E\u6307\u6807\u3001\u8BC4\u4F30\u7ED3\u8BBA\u7B49\uFF09\n4. **\u6807\u6CE8\u4EA7\u7269**\uFF1A\u5982\u679C\u5B50 Agent \u751F\u6210\u4E86 artifact\uFF08HTML\u62A5\u544A/PPT\u7B49\uFF09\uFF0C\u53EA\u9700\u7B80\u5355\u63D0\u53CA\u4EA7\u7269\u540D\u79F0\uFF08\u5982\"\u5DF2\u751F\u6210\u5206\u6790\u62A5\u544A.docx\"\uFF09\uFF0C**\u7EDD\u5BF9\u7981\u6B62\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84\u6216 HTTP \u4E0B\u8F7D URL**\uFF08\u5982 `_artifacts/...`\u3001`/api/work/artifacts/...`\uFF09\uFF0C\u7528\u6237\u901A\u8FC7 artifact \u5361\u7247\u9884\u89C8\u5373\u53EF\n\n**\u6CE8\u610F**\uFF1A\u8FD9\u6761\u89C4\u5219\u4F18\u5148\u4E8E\"\u8F93\u51FA\u7B80\u6D01\u89C4\u5219\"\u2014\u2014\u5B50 Agent \u7684\u5173\u952E\u7ED3\u679C\u5FC5\u987B\u5448\u73B0\u5728\u5BF9\u8BDD\u4E2D\uFF0C\u4E0D\u80FD\u88AB\u7701\u7565";
53
53
  export declare function buildSpecialistOutputBoundaryPrompt(capabilities: Pick<AgentToolCapabilities, 'hasOutputTools' | 'hasShowWidget'>, options?: SpecialistBoundaryPromptOptions): string;
54
54
  //# sourceMappingURL=shared-fragments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-fragments.d.ts","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB,UAA4E,CAAC;AAEnH,oCAAoC;AACpC,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB,CA0BvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,UAAQ,GAAG,MAAM,CAc1F;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjG;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAE,6BAAkC,GAAG,MAAM,CAe7J;AAED,eAAO,MAAM,yBAAyB,4wCAAgiB,CAAC;AAEvkB,eAAO,MAAM,2BAA2B,qzGACsF,CAAC;AAE/H,eAAO,MAAM,sBAAsB,o4CACwE,CAAC;AAE5G,eAAO,MAAM,8BAA8B,42DAAghB,CAAC;AAE5jB,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,eAAe,CAAC,EAAE,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAwBxL"}
1
+ {"version":3,"file":"shared-fragments.d.ts","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB,UAA4E,CAAC;AAEnH,oCAAoC;AACpC,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB,CA0BvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,UAAQ,GAAG,MAAM,CAc1F;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjG;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAE,6BAAkC,GAAG,MAAM,CAe7J;AAED,eAAO,MAAM,yBAAyB,4wCAAgiB,CAAC;AAEvkB,eAAO,MAAM,2BAA2B,2wGAC2E,CAAC;AAEpH,eAAO,MAAM,sBAAsB,o4CACwE,CAAC;AAE5G,eAAO,MAAM,8BAA8B,m3DAAigB,CAAC;AAE7iB,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,eAAe,CAAC,EAAE,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAwBxL"}
@@ -50,7 +50,7 @@ function buildMCPToolDescList(registry, categoryAware = false) {
50
50
  return names.map(name => `- \`${name}\`: ${defMap.get(name) || ''}`).join('\n');
51
51
  }
52
52
  function buildSpecialistMcpPriorityPrompt(profileName, mcpToolList) {
53
- return `\n\n## 专业工具(HIGHEST PRIORITY — MUST USE FIRST)\n\n你是「${profileName}」专业助手,拥有以下专业数据工具。\n\n**⚠️ 强制规则:MCP 工具优先于一切通用工具**\n1. 对于任何数据查询请求,你 **必须** 首先使用下方的 MCP 专业工具获取数据\n2. **禁止** 在 MCP 工具可用时使用 web_fetch、curl、execute_command 等通用工具去抓取网页或调用 API\n3. 只有当 **所有** MCP 工具调用均失败(返回错误)后,才可以回退到 web_fetch 作为最后手段\n4. 不要"先了解网站结构"或"先尝试抓取"——直接使用 MCP 工具查询数据\n\n可用 MCP 工具:\n${mcpToolList}`;
53
+ return `\n\n## 专业工具(HIGHEST PRIORITY — MUST USE FIRST)\n\n你是「${profileName}」专业助手,拥有以下专业数据工具。\n\n**⚠️ 强制规则:MCP 工具优先于一切通用工具**\n1. 对于任何数据查询请求,你 **必须** 首先使用下方的 MCP 专业工具获取数据\n2. **禁止** 在 MCP 工具可用时使用通用工具(如网页抓取、curl、命令行)去抓取网页或调用 API\n3. 只有当 **所有** MCP 工具调用均失败(返回错误)后,才可以回退到网页抓取工具作为最后手段\n4. 不要"先了解网站结构"或"先尝试抓取"——直接使用 MCP 工具查询数据\n\n可用 MCP 工具:\n${mcpToolList}`;
54
54
  }
55
55
  function buildDataPresentationPrompt(capabilities, options = {}) {
56
56
  const jsonFileExample = options.jsonFileExample || 'data.json';
@@ -66,11 +66,11 @@ function buildDataPresentationPrompt(capabilities, options = {}) {
66
66
  return options.includeHtmlQualityRules ? prompt + exports.HTML_WIDGET_QUALITY_RULES : prompt;
67
67
  }
68
68
  exports.HTML_WIDGET_QUALITY_RULES = `\n\n**⛔ HTML 质量铁律(违反会导致报表崩溃):**\n- **绝对禁止** 将 HTML 标签转义为实体(如 \`&lt;h3&gt;\`),这会导致内容显示为原始文本\n- \`getElementById\` 的参数 **必须** 与 HTML 元素的 \`id\` 属性 **完全一致**(大小写、拼写)\n- 复杂报表 **优先使用 html_file** 而非内联 html 参数,避免参数截断和转义问题\n- **禁止自定义 CSS 变量**:不要在 \`:root\` 中定义 \`--bg-page\`、\`--text-primary\` 等自定义变量。系统自动注入 \`--color-*\` 变量(如 \`--color-bg-page\`、\`--color-text-primary\`),**必须使用这些注入变量**\n- **禁止 ECharts 硬编码颜色**:不要写 \`var COLORS = ['#00e5ff',...]\`,改用 \`getComputedStyle(document.documentElement).getPropertyValue('--color-accent-primary').trim()\``;
69
- exports.SPECIALIST_EFFICIENCY_RULES = `\n\n## ⚠️ 迭代效率强制规则(CRITICAL — MUST FOLLOW)\n\n1. **数据只查一次**:调用工具获取数据后,直接使用对话历史中的结果进行分析和综合,绝对不要再次调用相同的工具\n2. **工具调用硬限制**:每个独立的工具(按工具名区分)最多调用 **2 次**。如果第 1 次调用已返回充足数据(>20 条记录或结构化汇总),**禁止第 2 次调用**。绝对不要用相同参数重复调用同一工具\n3. **禁止冗余读取**:如果工具结果被 offload(显示 [offload:xxx] 标签),最多 read_offload/read_tool_result 读取 **一次**,然后立即综合摘要。绝对不要反复读取同一个 offload 节点\n4. **快速综合**:数据获取完毕后(通常 2-3 个工具调用),直接在下一轮迭代中输出结构化分析结果,不要花额外迭代重新整理数据\n5. **迭代预算**:你只有 15 个迭代,每个 LLM 轮次都算一次。数据获取阶段不应超过 **3 个迭代**,总工具调用不超过 **6 次**\n6. **返回精简摘要**:返回结构化的关键指标、排行榜、分布统计,而非每条记录的原始数据\n7. **禁止反问用户**:你被委托执行任务,**绝对不能**在结果中反问用户"需要我做什么吗?"或"请确认您的需求"。任务描述就是你的全部指令,直接完成并返回结果。如果任务描述不清晰,基于你的专业知识做最佳判断并执行
70
- 8. **失败不要反复重试**:如果某次工具调用返回错误(如 web_fetch 超时、网络错误),**不要对同一失败工具反复重试**——最多重试 1 次,若仍失败则直接基于已有信息继续分析,或简要说明该数据获取失败,绝不让失败的工具调用拖垮整个任务`;
69
+ exports.SPECIALIST_EFFICIENCY_RULES = `\n\n## ⚠️ 迭代效率强制规则(CRITICAL — MUST FOLLOW)\n\n1. **数据只查一次**:调用工具获取数据后,直接使用对话历史中的结果进行分析和综合,绝对不要再次调用相同的工具\n2. **工具调用硬限制**:每个独立的工具(按工具名区分)最多调用 **2 次**。如果第 1 次调用已返回充足数据(>20 条记录或结构化汇总),**禁止第 2 次调用**。绝对不要用相同参数重复调用同一工具\n3. **禁止冗余读取**:如果工具结果被 offload(显示 [offload:xxx] 标签),最多读取 **一次**,然后立即综合摘要。绝对不要反复读取同一个 offload 节点\n4. **快速综合**:数据获取完毕后(通常 2-3 个工具调用),直接在下一轮迭代中输出结构化分析结果,不要花额外迭代重新整理数据\n5. **迭代预算**:你只有 15 个迭代,每个 LLM 轮次都算一次。数据获取阶段不应超过 **3 个迭代**,总工具调用不超过 **6 次**\n6. **返回精简摘要**:返回结构化的关键指标、排行榜、分布统计,而非每条记录的原始数据\n7. **禁止反问用户**:你被委托执行任务,**绝对不能**在结果中反问用户"需要我做什么吗?"或"请确认您的需求"。任务描述就是你的全部指令,直接完成并返回结果。如果任务描述不清晰,基于你的专业知识做最佳判断并执行
70
+ 8. **失败不要反复重试**:如果某次工具调用返回错误(如超时、网络错误),**不要对同一失败工具反复重试**——最多重试 1 次,若仍失败则直接基于已有信息继续分析,或简要说明该数据获取失败,绝不让失败的工具调用拖垮整个任务`;
71
71
  exports.OUTPUT_CONCISION_RULES = `\n\n## 📝 输出简洁规则(MANDATORY)\n\n- **不要复述工具返回的原始数据**:工具结果已在活动面板展示,你只需总结要点\n- **不要逐步描述每个工具调用**:避免输出类似 "mcp_xxx → xxx..." 或 "mcp_xxx (xxxms): {...}" 的技术日志\n- **规划要简短**:1-2 句话概述计划即可,不要列出每个工具名和参数\n- **结果总结要精炼**:用 2-3 句话总结关键发现\n- **绝对禁止输出沙箱文件路径**:如 \`_artifacts/...\`、\`/Users/...\` 等路径对用户无意义,用户通过 artifact 卡片预览即可
72
72
  - **绝对禁止输出 artifact 的 HTTP 下载 URL**:如 \`/api/work/artifacts/...\` 这类链接由前端自动渲染为预览/下载卡片,复述到回复里既冗余又不可点击,绝不要输出`;
73
- exports.SUB_AGENT_RESULT_SUMMARY_RULES = `\n\n## 📋 子 Agent 结果汇总规则(CRITICAL — MUST FOLLOW)\n\n \`delegate_task\` 完成后,你 **必须** 在回复中汇总子 Agent 的关键结果,而不是只说"已完成":\n\n1. **提取关键发现**:从子 Agent 返回的文本中提取核心结论、关键数据、推荐方案等\n2. **结构化呈现**:用 Markdown 格式(标题、列表、表格)将关键内容呈现在对话中,让用户无需展开工具调用详情即可看到结果\n3. **包含具体数据**:不要只说"分析完成",要包含具体的分析结果(如:推荐的股票、关键指标、评估结论等)\n4. **标注产物**:如果子 Agent 生成了 artifact(HTML报告/PPT等),只需简单提及产物名称(如"已生成分析报告.docx"),**绝对禁止输出文件路径或 HTTP 下载 URL**(如 \`_artifacts/...\`、\`/api/work/artifacts/...\`),用户通过 artifact 卡片预览即可\n\n**注意**:这条规则优先于"输出简洁规则"——子 Agent 的关键结果必须呈现在对话中,不能被省略`;
73
+ exports.SUB_AGENT_RESULT_SUMMARY_RULES = `\n\n## 📋 子 Agent 结果汇总规则(CRITICAL — MUST FOLLOW)\n\n当委派任务完成后,你 **必须** 在回复中汇总子 Agent 的关键结果,而不是只说"已完成":\n\n1. **提取关键发现**:从子 Agent 返回的文本中提取核心结论、关键数据、推荐方案等\n2. **结构化呈现**:用 Markdown 格式(标题、列表、表格)将关键内容呈现在对话中,让用户无需展开工具调用详情即可看到结果\n3. **包含具体数据**:不要只说"分析完成",要包含具体的分析结果(如:推荐的股票、关键指标、评估结论等)\n4. **标注产物**:如果子 Agent 生成了 artifact(HTML报告/PPT等),只需简单提及产物名称(如"已生成分析报告.docx"),**绝对禁止输出文件路径或 HTTP 下载 URL**(如 \`_artifacts/...\`、\`/api/work/artifacts/...\`),用户通过 artifact 卡片预览即可\n\n**注意**:这条规则优先于"输出简洁规则"——子 Agent 的关键结果必须呈现在对话中,不能被省略`;
74
74
  function buildSpecialistOutputBoundaryPrompt(capabilities, options = {}) {
75
75
  // 上层应用全权控制输出格式,底层不注入任何输出边界引导
76
76
  if (options.skipOutputBoundary)
@@ -1 +1 @@
1
- {"version":3,"file":"shared-fragments.js","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-fragments.js","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":";;;AAkDA,4DA6BC;AAED,oDAcC;AAED,4EAEC;AAED,kEAeC;AAYD,kFAwBC;AA/GD,+BAA+B;AAClB,QAAA,yBAAyB,GAAG,CAAC,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AAQnH,SAAgB,wBAAwB,CACtC,KAAmB,EACnB,OAAsC;IAEtC,cAAc;IACd,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,iCAAyB,CAAC;IAE9E,gCAAgC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,KAAK,eAAe;YAAE,eAAe,GAAG,IAAI,CAAC;QACrD,IAAI,IAAI,KAAK,aAAa;YAAE,aAAa,GAAG,IAAI,CAAC;QACjD,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,cAAc,GAAG,IAAI,CAAC;IAC5D,CAAC;IAED,OAAO;QACL,cAAc;QACd,eAAe;QACf,aAAa;QACb,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,QAAsB,EAAE,aAAa,GAAG,KAAK;IAChF,kBAAkB;IAClB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/C,IAAI,aAAa;YAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,KAAK,KAAK,CAAC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,gBAAgB;IAChB,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEvF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClF,CAAC;AAED,SAAgB,gCAAgC,CAAC,WAAmB,EAAE,WAAmB;IACvF,OAAO,wDAAwD,WAAW,uQAAuQ,WAAW,EAAE,CAAC;AACjW,CAAC;AAED,SAAgB,2BAA2B,CAAC,YAA4D,EAAE,UAAyC,EAAE;IACnJ,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,WAAW,CAAC;IAE/D,4DAA4D;IAC5D,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,0FAA0F,CAAC;IACpG,CAAC;IAED,4BAA4B;IAC5B,0BAA0B;IAC1B,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe;QACzC,CAAC,CAAC,8aAA8a,eAAe,wCAAwC,eAAe,0KAA0K;QAChqB,CAAC,CAAC,kVAAkV,CAAC;IAEvV,OAAO,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,GAAG,iCAAyB,CAAC,CAAC,CAAC,MAAM,CAAC;AACvF,CAAC;AAEY,QAAA,yBAAyB,GAAG,6hBAA6hB,CAAC;AAE1jB,QAAA,2BAA2B,GAAG;mHACwE,CAAC;AAEvG,QAAA,sBAAsB,GAAG;2GACqE,CAAC;AAE/F,QAAA,8BAA8B,GAAG,8fAA8f,CAAC;AAE7iB,SAAgB,mCAAmC,CAAC,YAA6E,EAAE,UAA2C,EAAE;IAC9K,6BAA6B;IAC7B,IAAI,OAAO,CAAC,kBAAkB;QAAE,OAAO,EAAE,CAAC;IAE1C,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QAChE,OAAO,uRAAuR,CAAC;IACjS,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE5C,iCAAiC;IACjC,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC5C,0CAA0C;QAC1C,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,WAAW,GAAG,oBAAoB,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAChE,CAAC;QACD,uCAAuC;IACzC,CAAC;SAAM,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;QAC9C,yEAAyE;QACzE,WAAW,GAAG,yVAAyV,CAAC;IAC1W,CAAC;IAED,OAAO,wPAAwP,WAAW,EAAE,CAAC;AAC/Q,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"docgen.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,yBAAyB,CAAC;AA6B3E,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,EAAE,CAoVpF"}
1
+ {"version":3,"file":"docgen.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,yBAAyB,CAAC;AAqC3E,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,EAAE,CAwVpF"}
@@ -44,6 +44,12 @@ const DOCGEN_FORMATS = new Map([
44
44
  ['create_pdf', 'PDF'],
45
45
  ['create_report', 'HTML'],
46
46
  ]);
47
+ /** 格式互斥规则(注入到每个 create_* 工具的 prompt) */
48
+ const DOCGEN_FORMAT_EXCLUSIVITY_PROMPT = '### Format Exclusivity (CRITICAL)\n' +
49
+ 'For any single user request, you may call **at most ONE** of: `create_presentation`, `create_report`, `create_document`, `create_pdf`.\n' +
50
+ '**NEVER** call two or more of these tools for the same content/request.\n' +
51
+ 'If the user asks for a "report", generate exactly ONE format (default: HTML via `create_report`).\n' +
52
+ 'Do NOT generate both PPTX and HTML, or both PDF and DOCX, etc.';
47
53
  /**
48
54
  * 代码级格式互斥守卫:同一 agent run 内只允许调用一个 create_* 工具。
49
55
  * 当 LLM 忽略 prompt 规则、尝试为同一内容生成第二种格式时,直接拒绝。
@@ -127,6 +133,7 @@ function createDocgenTools(opts) {
127
133
  filename: args.filename,
128
134
  }, ctx, jsonFile, templatesDir);
129
135
  },
136
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
130
137
  category: 'builtin',
131
138
  concurrent: false,
132
139
  },
@@ -196,6 +203,7 @@ function createDocgenTools(opts) {
196
203
  filename: args.filename,
197
204
  }, ctx, jsonFile, templatesDir);
198
205
  },
206
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
199
207
  category: 'builtin',
200
208
  concurrent: false,
201
209
  },
@@ -265,6 +273,7 @@ function createDocgenTools(opts) {
265
273
  filename: args.filename,
266
274
  }, ctx, jsonFile, templatesDir);
267
275
  },
276
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
268
277
  category: 'builtin',
269
278
  concurrent: false,
270
279
  },
@@ -387,6 +396,7 @@ function createDocgenTools(opts) {
387
396
  filename: args.filename,
388
397
  }, ctx, jsonFile);
389
398
  },
399
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
390
400
  category: 'builtin',
391
401
  concurrent: false,
392
402
  },
@@ -1 +1 @@
1
- {"version":3,"file":"docgen.js","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docgen.js","sourceRoot":"","sources":["../../../../src/tool/tools/docgen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvE,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAwXxD"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAEvE,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAiYxD"}
@@ -46,12 +46,16 @@ function createFilesystemTools() {
46
46
  function: {
47
47
  name: 'execute_command',
48
48
  description: 'Execute a shell command in the terminal. ' +
49
- 'IMPORTANT: Do NOT use heredoc (cat > file << EOF) to write scripts the content will be truncated. ' +
49
+ '**For code execution, data processing, HTTP requests, or scripting: prefer `run_script` with `nodejs` instead of using python3/curl directly.** ' +
50
+ 'The sandbox provides built-in utilities like `sb.fetch()` for HTTP, `sb.readJson()` for files, etc. ' +
51
+ 'Call `run_script({ discover: true })` to see all available sandbox utilities. ' +
52
+ 'Use `execute_command` for: package installation (pnpm/npm/pip), running build tools, git operations, or quick shell tasks (ls, find, etc.). ' +
53
+ 'IMPORTANT: Do NOT use heredoc (cat > file << EOF) to write scripts - the content will be truncated. ' +
50
54
  'To write script files, use write_file (or append_file for long scripts), then use execute_command with a short command to run them. ' +
51
55
  'SANDBOX RESTRICTIONS: Commands run inside a sandboxed directory. ' +
52
- 'NEVER use absolute paths (like /Users/..., /home/...) for file output ALL file writes will be BLOCKED. ' +
56
+ 'NEVER use absolute paths (like /Users/..., /home/...) for file output - ALL file writes will be BLOCKED. ' +
53
57
  'Use relative paths: "report.html", "gen.cjs", etc. ' +
54
- 'NEVER use `find /` for filesystem search use `find . -name "file"` or `ls -la` instead.',
58
+ 'NEVER use `find /` for filesystem search - use `find . -name "file"` or `ls -la` instead.',
55
59
  parameters: {
56
60
  type: 'object',
57
61
  properties: {
@@ -76,6 +80,10 @@ function createFilesystemTools() {
76
80
  const timeout = Number(args.timeout) || 2000;
77
81
  return ctx.shell.exec(command, timeout);
78
82
  },
83
+ prompt: '### execute_command Usage\n' +
84
+ '- Use `execute_command` for: package installation (pnpm/npm/pip), git operations, build tools, or quick shell tasks (ls, find, grep).\n' +
85
+ '- Never use heredoc (`cat >> file << EOF`) in `execute_command` - content will be truncated.\n' +
86
+ '- For code execution, data processing, or HTTP requests: prefer `run_script` with `nodejs` instead of using python3/curl directly.',
79
87
  category: 'builtin',
80
88
  concurrent: false,
81
89
  },
@@ -110,16 +118,16 @@ function createFilesystemTools() {
110
118
  'CRITICAL: Both `path` and `content` MUST be non-empty. ' +
111
119
  'MAX content: ~3000 chars (JSON escaping inflates size). For larger content, use write_file for first chunk then append_file for each subsequent chunk. ' +
112
120
  '\n## IMPORTANT: For document generation, use dedicated tools instead of write_file:\n' +
113
- '- For HTML reports with charts/metrics/tables use `create_report` (auto-saves as artifact)\n' +
114
- '- For PPTX presentations use `create_presentation` (auto-saves as artifact)\n' +
115
- '- For DOCX documents use `create_document` (auto-saves as artifact)\n' +
116
- '- For PDF documents use `create_pdf` (auto-saves as artifact)\n' +
117
- '- For simple markdown/text use write_file + save_artifact\n' +
118
- 'DO NOT use write_file to create HTML reports manually create_report handles styling/charts automatically.',
121
+ '- For HTML reports with charts/metrics/tables -> use `create_report` (auto-saves as artifact)\n' +
122
+ '- For PPTX presentations -> use `create_presentation` (auto-saves as artifact)\n' +
123
+ '- For DOCX documents -> use `create_document` (auto-saves as artifact)\n' +
124
+ '- For PDF documents -> use `create_pdf` (auto-saves as artifact)\n' +
125
+ '- For simple markdown/text -> use write_file + save_artifact\n' +
126
+ 'DO NOT use write_file to create HTML reports manually - create_report handles styling/charts automatically.',
119
127
  parameters: {
120
128
  type: 'object',
121
129
  properties: {
122
- path: { type: 'string', description: 'File path relative to sandbox root (e.g. "script.cjs", "data.json"). For scripts/data files only NOT for final documents.' },
130
+ path: { type: 'string', description: 'File path relative to sandbox root (e.g. "script.cjs", "data.json"). For scripts/data files only - NOT for final documents.' },
123
131
  content: { type: 'string', description: 'File content as a string. MUST NOT be empty. For scripts, include the FULL source code.' },
124
132
  },
125
133
  required: ['path', 'content'],
@@ -153,15 +161,15 @@ function createFilesystemTools() {
153
161
  // 日志:确认文件写入位置(沙箱 vs 全局 data/)
154
162
  const sandbox = ctx.custom?.sandbox;
155
163
  if (sandbox?.rootDir) {
156
- console.log(`[write_file] ${filePath} sandbox: ${sandbox.rootDir}`);
164
+ console.log(`[write_file] ${filePath} -> sandbox: ${sandbox.rootDir}`);
157
165
  }
158
166
  else {
159
- console.warn(`[write_file] ${filePath} NO SANDBOX (writing to data/ dir)`);
167
+ console.warn(`[write_file] ${filePath} -> NO SANDBOX (writing to data/ dir)`);
160
168
  }
161
169
  // 截断抢救模式:内容被部分恢复,提醒 LLM 补充剩余内容
162
170
  if (args._rescued) {
163
171
  return [
164
- `File written (PARTIAL content was truncated and rescued): ${filePath}`,
172
+ `File written (PARTIAL - content was truncated and rescued): ${filePath}`,
165
173
  `Written ${content.length} chars. The ORIGINAL content was truncated by the output limit.`,
166
174
  '',
167
175
  'You MUST use append_file to add the REMAINING content:',
@@ -223,15 +231,15 @@ function createFilesystemTools() {
223
231
  // 日志:确认文件写入位置
224
232
  const sandbox = ctx.custom?.sandbox;
225
233
  if (sandbox?.rootDir) {
226
- console.log(`[append_file] ${filePath} sandbox: ${sandbox.rootDir}`);
234
+ console.log(`[append_file] ${filePath} -> sandbox: ${sandbox.rootDir}`);
227
235
  }
228
236
  else {
229
- console.warn(`[append_file] ${filePath} NO SANDBOX (writing to data/ dir)`);
237
+ console.warn(`[append_file] ${filePath} -> NO SANDBOX (writing to data/ dir)`);
230
238
  }
231
239
  // 截断抢救模式
232
240
  if (args._rescued) {
233
241
  return [
234
- `Content appended (PARTIAL rescued from truncation): ${filePath}`,
242
+ `Content appended (PARTIAL - rescued from truncation): ${filePath}`,
235
243
  `Appended ${content.length} chars. Some content may have been lost.`,
236
244
  'Continue with append_file to add any remaining content.',
237
245
  ].join('\n');