@cicctencent/agent-server 0.2.59 → 0.2.62

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 (41) hide show
  1. package/dist/cjs/agent/agent-server.d.ts.map +1 -1
  2. package/dist/cjs/agent/agent-server.js +13 -1
  3. package/dist/cjs/agent/agent-server.js.map +1 -1
  4. package/dist/cjs/prompt/prompt-builder.d.ts +11 -3
  5. package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
  6. package/dist/cjs/prompt/prompt-builder.js +55 -50
  7. package/dist/cjs/prompt/prompt-builder.js.map +1 -1
  8. package/dist/cjs/prompt/shared-fragments.d.ts +2 -2
  9. package/dist/cjs/prompt/shared-fragments.d.ts.map +1 -1
  10. package/dist/cjs/prompt/shared-fragments.js +4 -4
  11. package/dist/cjs/prompt/shared-fragments.js.map +1 -1
  12. package/dist/cjs/tool/tools/docgen.d.ts.map +1 -1
  13. package/dist/cjs/tool/tools/docgen.js +37 -0
  14. package/dist/cjs/tool/tools/docgen.js.map +1 -1
  15. package/dist/cjs/tool/tools/filesystem.d.ts.map +1 -1
  16. package/dist/cjs/tool/tools/filesystem.js +24 -16
  17. package/dist/cjs/tool/tools/filesystem.js.map +1 -1
  18. package/dist/cjs/tool/tools/sandbox.d.ts.map +1 -1
  19. package/dist/cjs/tool/tools/sandbox.js +99 -34
  20. package/dist/cjs/tool/tools/sandbox.js.map +1 -1
  21. package/dist/esm/agent/agent-server.d.ts.map +1 -1
  22. package/dist/esm/agent/agent-server.js +13 -1
  23. package/dist/esm/agent/agent-server.js.map +1 -1
  24. package/dist/esm/prompt/prompt-builder.d.ts +11 -3
  25. package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
  26. package/dist/esm/prompt/prompt-builder.js +54 -50
  27. package/dist/esm/prompt/prompt-builder.js.map +1 -1
  28. package/dist/esm/prompt/shared-fragments.d.ts +2 -2
  29. package/dist/esm/prompt/shared-fragments.d.ts.map +1 -1
  30. package/dist/esm/prompt/shared-fragments.js +4 -4
  31. package/dist/esm/prompt/shared-fragments.js.map +1 -1
  32. package/dist/esm/tool/tools/docgen.d.ts.map +1 -1
  33. package/dist/esm/tool/tools/docgen.js +37 -0
  34. package/dist/esm/tool/tools/docgen.js.map +1 -1
  35. package/dist/esm/tool/tools/filesystem.d.ts.map +1 -1
  36. package/dist/esm/tool/tools/filesystem.js +24 -16
  37. package/dist/esm/tool/tools/filesystem.js.map +1 -1
  38. package/dist/esm/tool/tools/sandbox.d.ts.map +1 -1
  39. package/dist/esm/tool/tools/sandbox.js +99 -34
  40. package/dist/esm/tool/tools/sandbox.js.map +1 -1
  41. package/package.json +2 -2
@@ -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 标签转义为实体(如 \`<h3>\`),这会导致内容显示为原始文本\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":"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"}
@@ -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;AAG9D,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,EAAE,CAgVpF"}
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"}
@@ -38,6 +38,35 @@ var __importStar = (this && this.__importStar) || (function () {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.createDocgenTools = createDocgenTools;
40
40
  const config_loader_ts_1 = require("../../doc-generator/config-loader.js");
41
+ const DOCGEN_FORMATS = new Map([
42
+ ['create_presentation', 'PPTX'],
43
+ ['create_document', 'DOCX'],
44
+ ['create_pdf', 'PDF'],
45
+ ['create_report', 'HTML'],
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.';
53
+ /**
54
+ * 代码级格式互斥守卫:同一 agent run 内只允许调用一个 create_* 工具。
55
+ * 当 LLM 忽略 prompt 规则、尝试为同一内容生成第二种格式时,直接拒绝。
56
+ */
57
+ function assertDocgenExclusivity(ctx, toolName) {
58
+ if (!ctx.custom)
59
+ return;
60
+ const used = ctx.custom.__docgenFormatUsed;
61
+ if (used && used !== toolName) {
62
+ const usedLabel = DOCGEN_FORMATS.get(used) || used;
63
+ const curLabel = DOCGEN_FORMATS.get(toolName) || toolName;
64
+ throw new Error(`已在此会话中生成了 ${usedLabel} 文件(通过 ${used} 工具)。` +
65
+ `禁止为同一请求生成多种格式(当前尝试生成 ${curLabel})。` +
66
+ `如果用户需要 ${curLabel} 格式,请让用户单独提出请求。`);
67
+ }
68
+ ctx.custom.__docgenFormatUsed = toolName;
69
+ }
41
70
  function createDocgenTools(opts) {
42
71
  return [
43
72
  // ---- create_presentation ----
@@ -94,6 +123,7 @@ function createDocgenTools(opts) {
94
123
  if (!title || (!slides?.length && !jsonFile)) {
95
124
  throw new Error('`title` and either `slides` (non-empty array) or `json_file` are required.');
96
125
  }
126
+ assertDocgenExclusivity(ctx, 'create_presentation');
97
127
  const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
98
128
  const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
99
129
  return await generateAndSave('pptx', {
@@ -103,6 +133,7 @@ function createDocgenTools(opts) {
103
133
  filename: args.filename,
104
134
  }, ctx, jsonFile, templatesDir);
105
135
  },
136
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
106
137
  category: 'builtin',
107
138
  concurrent: false,
108
139
  },
@@ -161,6 +192,7 @@ function createDocgenTools(opts) {
161
192
  if (!title || (!blocks?.length && !jsonFile)) {
162
193
  throw new Error('`title` and either `blocks` (non-empty array) or `json_file` are required.');
163
194
  }
195
+ assertDocgenExclusivity(ctx, 'create_document');
164
196
  const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
165
197
  const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
166
198
  return await generateAndSave('docx', {
@@ -171,6 +203,7 @@ function createDocgenTools(opts) {
171
203
  filename: args.filename,
172
204
  }, ctx, jsonFile, templatesDir);
173
205
  },
206
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
174
207
  category: 'builtin',
175
208
  concurrent: false,
176
209
  },
@@ -229,6 +262,7 @@ function createDocgenTools(opts) {
229
262
  if (!title || (!blocks?.length && !jsonFile)) {
230
263
  throw new Error('`title` and either `blocks` (non-empty array) or `json_file` are required.');
231
264
  }
265
+ assertDocgenExclusivity(ctx, 'create_pdf');
232
266
  const templatesDir = ctx.custom?.templatesDir ?? opts?.templatesDir;
233
267
  const { generateAndSave } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
234
268
  return await generateAndSave('pdf', {
@@ -239,6 +273,7 @@ function createDocgenTools(opts) {
239
273
  filename: args.filename,
240
274
  }, ctx, jsonFile, templatesDir);
241
275
  },
276
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
242
277
  category: 'builtin',
243
278
  concurrent: false,
244
279
  },
@@ -346,6 +381,7 @@ function createDocgenTools(opts) {
346
381
  throw new Error('create_report requires at least one of `metrics` (non-empty array) or `sections` (non-empty array). ' +
347
382
  'Empty reports are not useful. If you want to save markdown content, use write_file + save_artifact instead.');
348
383
  }
384
+ assertDocgenExclusivity(ctx, 'create_report');
349
385
  const { generateReportAndDisplay } = await Promise.resolve().then(() => __importStar(require("../../doc-generator/index.js")));
350
386
  return await generateReportAndDisplay({
351
387
  title,
@@ -360,6 +396,7 @@ function createDocgenTools(opts) {
360
396
  filename: args.filename,
361
397
  }, ctx, jsonFile);
362
398
  },
399
+ prompt: DOCGEN_FORMAT_EXCLUSIVITY_PROMPT,
363
400
  category: 'builtin',
364
401
  concurrent: false,
365
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');
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../../src/tool/tools/filesystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAKvE,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CA2YrD"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../../src/tool/tools/sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAW,MAAM,yBAAyB,CAAC;AAoEvE,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAgZrD"}
@@ -40,6 +40,68 @@ exports.createSandboxTools = createSandboxTools;
40
40
  const artifact_service_ts_1 = require("../../service/artifact.service.js");
41
41
  const fs = __importStar(require("fs"));
42
42
  const path = __importStar(require("path"));
43
+ /**
44
+ * 沙箱环境能力参考文档(按需返回,不注入到 system prompt)
45
+ *
46
+ * 当 LLM 调用 run_script({ discover: true }) 时返回此文档,
47
+ * 让 LLM 了解 global.sb 提供的全部能力后再编写脚本。
48
+ */
49
+ const SANDBOX_CAPABILITY_REFERENCE = `# Sandbox Environment Capabilities
50
+
51
+ The sandbox provides a global \`sb\` object in all **Node.js** scripts. Use it instead of writing common utilities from scratch.
52
+
53
+ ## HTTP
54
+ - \`sb.fetch(url, {method, headers, json, params, timeout})\` -> {status, data, text, headers}
55
+ - \`sb.get(url, opts?)\` / \`sb.post(url, body, opts?)\` / \`sb.put(url, body, opts?)\` / \`sb.del(url, opts?)\` / \`sb.head(url, opts?)\`
56
+ - Supports redirect following, JSON auto-parsing, timeout, and query params.
57
+
58
+ ## File I/O
59
+ - \`sb.readJson(file)\` / \`sb.writeJson(file, data, indent?)\`
60
+ - \`sb.readText(file, encoding?)\` / \`sb.writeText(file, str)\` / \`sb.appendText(file, str)\`
61
+ - \`sb.readCsv(file, opts?)\` / \`sb.writeCsv(file, rows, opts?)\`
62
+ - \`sb.exists(path)\` -> boolean / \`sb.listDir(dir)\` -> string[]
63
+
64
+ ## Data Processing
65
+ - \`sb.stats(arr)\` -> {count, sum, avg, min, max, std}
66
+ - \`sb.sum(arr)\` / \`sb.avg(arr)\`
67
+ - \`sb.groupBy(arr, keyOrFn)\` -> Record<string, any[]>
68
+ - \`sb.sortBy(arr, keyOrFn, desc?)\` -> sorted copy
69
+ - \`sb.unique(arr, keyOrFn?)\` / \`sb.chunk(arr, size)\` / \`sb.range(start, end, step?)\`
70
+ - \`sb.pick(obj, keys)\` / \`sb.omit(obj, keys)\` / \`sb.flatten(arr)\`
71
+
72
+ ## Date
73
+ - \`sb.formatDate(date, "YYYY-MM-DD HH:mm:ss")\` / \`sb.parseDate(str)\`
74
+ - \`sb.now()\` / \`sb.daysAgo(n)\` / \`sb.daysLater(n)\` / \`sb.dateDiff(d1, d2, "days")\`
75
+
76
+ ## String
77
+ - \`sb.template("Hello {name}", {name: "World"})\` / \`sb.slugify(str)\` / \`sb.truncate(str, len, suffix?)\` / \`sb.pad(str, len, char?, right?)\`
78
+
79
+ ## Table Output
80
+ - \`sb.markdownTable(rows, headers?)\` -> markdown table string
81
+ - \`sb.htmlTable(rows, {headers?, tableClass?})\` -> HTML table string
82
+
83
+ ## Logger
84
+ - \`sb.log.info(msg, meta?)\` / \`sb.log.warn(msg, meta?)\` / \`sb.log.error(msg, meta?)\` / \`sb.log.debug(msg, meta?)\`
85
+
86
+ ## Passthrough
87
+ - \`sb.fs\` / \`sb.path\` (Node.js built-in modules)
88
+
89
+ ## Additional Modules
90
+ - \`require("./_scripts/_json_builder")\` for building large JSON data files
91
+ - \`require("./_scripts/_html_renderer")\` for HTML report generation
92
+
93
+ ## Quick Example
94
+ \`\`\`js
95
+ const res = sb.fetch("https://api.example.com/data", { timeout: 10000 });
96
+ if (res.status === 200) {
97
+ const data = res.data; // auto-parsed JSON
98
+ const grouped = sb.groupBy(data, "category");
99
+ const stats = sb.stats(data.map(d => d.value));
100
+ sb.log.info("Processed " + data.length + " items", { avg: stats.avg });
101
+ sb.writeJson("result.json", { grouped, stats });
102
+ }
103
+ \`\`\`
104
+ `;
43
105
  function createSandboxTools() {
44
106
  return [
45
107
  // ---- run_script ----
@@ -49,31 +111,18 @@ function createSandboxTools() {
49
111
  type: 'function',
50
112
  function: {
51
113
  name: 'run_script',
52
- description: 'Run a script file in an isolated sandbox. ' +
53
- '**DEFAULT PATTERN: Always write script to a file first, then use run_script to execute it.** ' +
54
- 'Step 1: `write_file({ path: "script.cjs", content: "..." })` — write your script to a file. ' +
55
- 'Step 2: `run_script({ language: "nodejs", code: "require(require(\'path\').join(process.cwd(),\'script.cjs\'));" })` — execute the file. ' +
56
- 'The `code` parameter should ONLY contain a short require/import/loader command (typically < 200 chars). ' +
57
- 'NEVER embed full scripts, document generation code, or complex logic inline in the `code` parameter. ' +
58
- 'Exception: trivial one-liners like `console.log("hello")` or `require("./test.cjs")` are OK inline. ' +
114
+ description: 'Run a script in an isolated sandbox with built-in utilities (global `sb`). ' +
59
115
  '**Prefer `nodejs`** for data processing, HTTP requests, file manipulation, and general scripting. ' +
60
116
  'Only use `python` when Node.js cannot handle the task (e.g. numpy, pandas, matplotlib, weasyprint). ' +
61
117
  'Supported languages: nodejs, python, shell. ' +
62
- 'Node.js scripts use CommonJS (.cjs) `require()` and `module.exports` are supported. ' +
63
- 'npm packages are NOT pre-installed; use `execute_command` with the preferred package manager from Runtime env (e.g. `pnpm install`, `yarn add`, or `npm install`) with `timeout: 60000`. ' +
64
- 'For PDF generation: prefer Python with `weasyprint` or `reportlab`.\n\n' +
65
- '**BUILT-IN SANDBOX UTILITIES (global `sb`):**\n' +
66
- 'A global `sb` object is auto-loaded in all Node.js sandbox scripts. USE IT instead of writing common utilities from scratch:\n' +
67
- '- **HTTP**: `sb.fetch(url, {method, headers, json, params, timeout})` -> {status, data, text}; `sb.get(url)` / `sb.post(url, body)` shorthands\n' +
68
- '- **File I/O**: `sb.readJson(file)` / `sb.writeJson(file, data)` / `sb.readText(file)` / `sb.writeText(file, str)` / `sb.readCsv(file)` / `sb.writeCsv(file, rows)` / `sb.exists(path)` / `sb.listDir(dir)`\n' +
69
- '- **Data**: `sb.stats(arr)` -> {sum, avg, min, max, std, count}; `sb.sum(arr)` / `sb.avg(arr)` / `sb.groupBy(arr, key)` / `sb.sortBy(arr, key, desc)` / `sb.unique(arr, key)` / `sb.chunk(arr, size)` / `sb.range(start, end)` / `sb.pick(obj, keys)` / `sb.flatten(arr)\n' +
70
- '- **Date**: `sb.formatDate(date, "YYYY-MM-DD")` / `sb.parseDate(str)` / `sb.now()` / `sb.daysAgo(n)` / `sb.daysLater(n)` / `sb.dateDiff(d1, d2, "days")`\n' +
71
- '- **String**: `sb.template("Hello {name}", {name: "World"})` / `sb.slugify(str)` / `sb.truncate(str, len)` / `sb.pad(str, len, char)\n' +
72
- '- **Table**: `sb.markdownTable(rows, headers?)` / `sb.htmlTable(rows, {headers?, tableClass?})\n' +
73
- '- **Logger**: `sb.log.info(msg, meta?)` / `sb.log.warn(msg)` / `sb.log.error(msg)` / `sb.log.debug(msg)\n' +
74
- '- **Passthrough**: `sb.fs` / `sb.path` (Node.js built-in modules)\n' +
75
- 'Example: `const data = sb.readJson("input.json"); const grouped = sb.groupBy(data, "category"); const stats = sb.stats(data.map(d => d.value)); sb.log.info("Processed " + data.length + " items");`\n' +
76
- 'Also available: `require("./_scripts/_json_builder")` for building large JSON data files, and `require("./_scripts/_html_renderer")` for HTML report generation.',
118
+ 'Node.js scripts use CommonJS (.cjs) - `require()` and `module.exports` are supported. ' +
119
+ 'npm packages are NOT pre-installed; use `execute_command` with the package manager (e.g. `pnpm install`, `npm install`) with `timeout: 60000`. ' +
120
+ '**To discover available sandbox utilities (sb.* API), call with `discover: true` first.** ' +
121
+ 'The `code` parameter should contain a short loader command (typically < 200 chars), NOT full script content. ' +
122
+ 'Default pattern: write script to a file first, then execute: ' +
123
+ 'Step 1: `write_file({ path: "script.cjs", content: "..." })`, ' +
124
+ 'Step 2: `run_script({ language: "nodejs", code: "require(\'./script.cjs\');" })`. ' +
125
+ 'Exception: trivial one-liners like `console.log("hello")` are OK inline.',
77
126
  parameters: {
78
127
  type: 'object',
79
128
  properties: {
@@ -84,18 +133,26 @@ function createSandboxTools() {
84
133
  },
85
134
  code: {
86
135
  type: 'string',
87
- description: 'Short loader command to execute, e.g. "require(require(\'path\').join(process.cwd(),\'script.cjs\'));" NOT full script content (MUST be non-empty)',
136
+ description: 'Short loader command to execute, e.g. "require(\'./script.cjs\');" - NOT full script content. Ignored when discover=true.',
137
+ },
138
+ discover: {
139
+ type: 'boolean',
140
+ description: 'Set to true to discover available sandbox utilities (sb.* API) without executing code. Returns the full capability reference.',
88
141
  },
89
142
  timeout: {
90
143
  type: 'number',
91
144
  description: 'Timeout in ms, default 30000',
92
145
  },
93
146
  },
94
- required: ['language', 'code'],
147
+ required: [],
95
148
  },
96
149
  },
97
150
  },
98
151
  executor: async (args, ctx) => {
152
+ // 按需发现:返回沙箱环境能力文档
153
+ if (args.discover === true) {
154
+ return SANDBOX_CAPABILITY_REFERENCE;
155
+ }
99
156
  const language = args.language;
100
157
  const code = args.code;
101
158
  const timeout = args.timeout != null ? Number(args.timeout) : undefined;
@@ -110,6 +167,9 @@ function createSandboxTools() {
110
167
  'If your script is SHORT, call run_script directly:',
111
168
  ' run_script({ language: "nodejs", code: "console.log(\'hello\');", timeout: 30000 })',
112
169
  '',
170
+ 'To discover available sandbox utilities, call:',
171
+ ' run_script({ discover: true })',
172
+ '',
113
173
  'IMPORTANT: You MUST include the actual code string in the `code` parameter. Never call this tool with empty {}.',
114
174
  ].join('\n');
115
175
  }
@@ -125,6 +185,11 @@ function createSandboxTools() {
125
185
  return `Error: Script execution failed: ${err?.message || err}`;
126
186
  }
127
187
  },
188
+ prompt: '### Code Execution Priority (CRITICAL)\n' +
189
+ '- **This is a Node.js environment.** Always prefer `run_script` with `nodejs` for code execution, data processing, HTTP requests, and scripting.\n' +
190
+ '- The sandbox provides built-in utilities via `global.sb` (HTTP, file I/O, data processing, tables, etc.). Call `run_script({ discover: true })` to see the full API.\n' +
191
+ '- Only use `python` when Node.js genuinely cannot handle the task (e.g. numpy, pandas, matplotlib, weasyprint, reportlab).\n' +
192
+ '- Do NOT use `execute_command` with `python3` for tasks that Node.js can handle. Use `run_script` + `nodejs` instead.',
128
193
  category: 'builtin',
129
194
  concurrent: false,
130
195
  },
@@ -140,19 +205,19 @@ function createSandboxTools() {
140
205
  'visualization directly in the conversation. ' +
141
206
  'The HTML is rendered in a sandboxed iframe with CDN library support (Chart.js, D3, Plotly, ECharts, etc.). ' +
142
207
  'CSS theme variables are automatically injected for seamless integration. ' +
143
- '\n\n## IMPORTANT: For data reports with charts/metrics/tables, prefer `create_report` tool ' +
208
+ '\n\n## IMPORTANT: For data reports with charts/metrics/tables, prefer `create_report` tool - ' +
144
209
  'it generates themed HTML automatically with no manual CSS/ECharts coding needed. ' +
145
210
  'Use show_widget only for custom visualizations that create_report cannot produce. ' +
146
211
  '\n\n## Input Modes\n' +
147
- '- `html` (inline): HTML fragment ONLY NO <!DOCTYPE>, <html>, <head>, or <body> tags.\n' +
212
+ '- `html` (inline): HTML fragment ONLY - NO <!DOCTYPE>, <html>, <head>, or <body> tags.\n' +
148
213
  '- `html_file`: Path to a .html file in sandbox. MAY be a full HTML document (with <!DOCTYPE>/<html>/<head>/<body>). ' +
149
214
  'PREFERRED for complex reports with ECharts (>1500 chars).\n' +
150
- '\n## ⛔ HTML Quality Iron Rules (CRITICAL violations cause rendering failure)\n' +
215
+ '\n## ⛔ HTML Quality Iron Rules (CRITICAL - violations cause rendering failure)\n' +
151
216
  '1. NEVER escape HTML tags as entities: &lt;h3&gt; shows as text, NOT as heading. Always write raw <h3> tags.\n' +
152
- '2. getElementById IDs MUST exactly match HTML id attributes: <div id="chart1"> getElementById("chart1"). ' +
217
+ '2. getElementById IDs MUST exactly match HTML id attributes: <div id="chart1"> -> getElementById("chart1"). ' +
153
218
  'A mismatch crashes ALL subsequent charts.\n' +
154
- '3. NEVER include <\/script> (backslash-escaped) inside inline <script> use string concatenation instead.\n' +
155
- '4. NEVER put HTML body content inside <script> tags keep <style>, HTML body, and <script> strictly separated.\n' +
219
+ '3. NEVER include <\/script> (backslash-escaped) inside inline <script> - use string concatenation instead.\n' +
220
+ '4. NEVER put HTML body content inside <script> tags - keep <style>, HTML body, and <script> strictly separated.\n' +
156
221
  '5. For ECharts: always set explicit width+height on chart container divs.\n' +
157
222
  '6. NEVER define custom CSS variables in :root (e.g. --bg-page, --text-primary). ' +
158
223
  'The system injects --color-* variables automatically. Use ONLY these: ' +
@@ -167,7 +232,7 @@ function createSandboxTools() {
167
232
  type: 'string',
168
233
  description: 'Raw HTML fragment to render (MUST be non-empty). No DOCTYPE/html/head/body tags. ' +
169
234
  'Can use CDN libraries: cdnjs.cloudflare.com, cdn.jsdelivr.net, unpkg.com, esm.sh. ' +
170
- 'NEVER use &lt; or &gt; write raw HTML tags directly.',
235
+ 'NEVER use &lt; or &gt; - write raw HTML tags directly.',
171
236
  },
172
237
  title: {
173
238
  type: 'string',
@@ -246,7 +311,7 @@ function createSandboxTools() {
246
311
  'Use this to export charts, images, data files, or any generated output so users can ' +
247
312
  'view and download them directly in the conversation. ' +
248
313
  'The file must exist in the sandbox filesystem (use run_script to generate it first). ' +
249
- 'NOTE: create_presentation, create_document, create_pdf, and create_report already save their output as artifacts automatically do NOT call save_artifact for files produced by those tools. ' +
314
+ 'NOTE: create_presentation, create_document, create_pdf, and create_report already save their output as artifacts automatically - do NOT call save_artifact for files produced by those tools. ' +
250
315
  'For markdown/text content: use write_file + save_artifact. For structured HTML reports with charts/metrics: use create_report.',
251
316
  parameters: {
252
317
  type: 'object',
@@ -322,7 +387,7 @@ function createSandboxTools() {
322
387
  }
323
388
  }
324
389
  catch (err) {
325
- // File not found try to auto-recover by searching for the file
390
+ // File not found - try to auto-recover by searching for the file
326
391
  const ext2 = filePath.includes('.') ? filePath.split('.').pop() : '';
327
392
  let foundFile = '';
328
393
  // 1. Try shell find command to locate the file
@@ -366,7 +431,7 @@ function createSandboxTools() {
366
431
  fileList = '\n\nFiles in sandbox root:\n' + relevant.map(e => ' - ' + e).join('\n');
367
432
  }
368
433
  else {
369
- fileList = '\n\nSandbox is empty no files were generated. The script likely failed.';
434
+ fileList = '\n\nSandbox is empty - no files were generated. The script likely failed.';
370
435
  }
371
436
  }
372
437
  catch {