@zhin.js/core 1.0.32 → 1.0.34

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 (113) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/ai/agent.d.ts.map +1 -1
  3. package/lib/ai/agent.js +15 -2
  4. package/lib/ai/agent.js.map +1 -1
  5. package/lib/ai/bootstrap.d.ts +11 -2
  6. package/lib/ai/bootstrap.d.ts.map +1 -1
  7. package/lib/ai/bootstrap.js +46 -2
  8. package/lib/ai/bootstrap.js.map +1 -1
  9. package/lib/ai/builtin-tools.d.ts +28 -6
  10. package/lib/ai/builtin-tools.d.ts.map +1 -1
  11. package/lib/ai/builtin-tools.js +265 -76
  12. package/lib/ai/builtin-tools.js.map +1 -1
  13. package/lib/ai/index.d.ts +9 -1
  14. package/lib/ai/index.d.ts.map +1 -1
  15. package/lib/ai/index.js +8 -0
  16. package/lib/ai/index.js.map +1 -1
  17. package/lib/ai/init.d.ts.map +1 -1
  18. package/lib/ai/init.js +84 -3
  19. package/lib/ai/init.js.map +1 -1
  20. package/lib/ai/providers/anthropic.d.ts +7 -0
  21. package/lib/ai/providers/anthropic.d.ts.map +1 -1
  22. package/lib/ai/providers/anthropic.js +3 -0
  23. package/lib/ai/providers/anthropic.js.map +1 -1
  24. package/lib/ai/providers/ollama.d.ts +10 -0
  25. package/lib/ai/providers/ollama.d.ts.map +1 -1
  26. package/lib/ai/providers/ollama.js +11 -3
  27. package/lib/ai/providers/ollama.js.map +1 -1
  28. package/lib/ai/providers/openai.d.ts +7 -0
  29. package/lib/ai/providers/openai.d.ts.map +1 -1
  30. package/lib/ai/providers/openai.js +3 -0
  31. package/lib/ai/providers/openai.js.map +1 -1
  32. package/lib/ai/service.d.ts +4 -0
  33. package/lib/ai/service.d.ts.map +1 -1
  34. package/lib/ai/service.js +7 -0
  35. package/lib/ai/service.js.map +1 -1
  36. package/lib/ai/subagent.d.ts +50 -0
  37. package/lib/ai/subagent.d.ts.map +1 -0
  38. package/lib/ai/subagent.js +144 -0
  39. package/lib/ai/subagent.js.map +1 -0
  40. package/lib/ai/types.d.ts +25 -5
  41. package/lib/ai/types.d.ts.map +1 -1
  42. package/lib/ai/zhin-agent-builtin-tools.d.ts +17 -0
  43. package/lib/ai/zhin-agent-builtin-tools.d.ts.map +1 -0
  44. package/lib/ai/zhin-agent-builtin-tools.js +220 -0
  45. package/lib/ai/zhin-agent-builtin-tools.js.map +1 -0
  46. package/lib/ai/zhin-agent-config.d.ts +54 -0
  47. package/lib/ai/zhin-agent-config.d.ts.map +1 -0
  48. package/lib/ai/zhin-agent-config.js +76 -0
  49. package/lib/ai/zhin-agent-config.js.map +1 -0
  50. package/lib/ai/zhin-agent-exec-policy.d.ts +20 -0
  51. package/lib/ai/zhin-agent-exec-policy.d.ts.map +1 -0
  52. package/lib/ai/zhin-agent-exec-policy.js +71 -0
  53. package/lib/ai/zhin-agent-exec-policy.js.map +1 -0
  54. package/lib/ai/zhin-agent-prompt.d.ts +21 -0
  55. package/lib/ai/zhin-agent-prompt.d.ts.map +1 -0
  56. package/lib/ai/zhin-agent-prompt.js +116 -0
  57. package/lib/ai/zhin-agent-prompt.js.map +1 -0
  58. package/lib/ai/zhin-agent-tool-collector.d.ts +22 -0
  59. package/lib/ai/zhin-agent-tool-collector.d.ts.map +1 -0
  60. package/lib/ai/zhin-agent-tool-collector.js +218 -0
  61. package/lib/ai/zhin-agent-tool-collector.js.map +1 -0
  62. package/lib/ai/zhin-agent.d.ts +11 -155
  63. package/lib/ai/zhin-agent.d.ts.map +1 -1
  64. package/lib/ai/zhin-agent.js +84 -684
  65. package/lib/ai/zhin-agent.js.map +1 -1
  66. package/lib/component.d.ts.map +1 -1
  67. package/lib/component.js +19 -19
  68. package/lib/component.js.map +1 -1
  69. package/lib/index.d.ts +1 -0
  70. package/lib/index.d.ts.map +1 -1
  71. package/lib/index.js +1 -0
  72. package/lib/index.js.map +1 -1
  73. package/lib/scheduler/index.d.ts +10 -0
  74. package/lib/scheduler/index.d.ts.map +1 -0
  75. package/lib/scheduler/index.js +12 -0
  76. package/lib/scheduler/index.js.map +1 -0
  77. package/lib/scheduler/scheduler.d.ts +49 -0
  78. package/lib/scheduler/scheduler.d.ts.map +1 -0
  79. package/lib/scheduler/scheduler.js +352 -0
  80. package/lib/scheduler/scheduler.js.map +1 -0
  81. package/lib/scheduler/types.d.ts +71 -0
  82. package/lib/scheduler/types.d.ts.map +1 -0
  83. package/lib/scheduler/types.js +8 -0
  84. package/lib/scheduler/types.js.map +1 -0
  85. package/lib/tool-zod.d.ts +28 -0
  86. package/lib/tool-zod.d.ts.map +1 -0
  87. package/lib/tool-zod.js +98 -0
  88. package/lib/tool-zod.js.map +1 -0
  89. package/package.json +9 -4
  90. package/src/ai/agent.ts +15 -2
  91. package/src/ai/bootstrap.ts +48 -2
  92. package/src/ai/builtin-tools.ts +283 -75
  93. package/src/ai/index.ts +19 -1
  94. package/src/ai/init.ts +85 -3
  95. package/src/ai/providers/anthropic.ts +3 -0
  96. package/src/ai/providers/ollama.ts +13 -3
  97. package/src/ai/providers/openai.ts +3 -0
  98. package/src/ai/service.ts +8 -0
  99. package/src/ai/subagent.ts +209 -0
  100. package/src/ai/types.ts +29 -2
  101. package/src/ai/zhin-agent-builtin-tools.ts +247 -0
  102. package/src/ai/zhin-agent-config.ts +113 -0
  103. package/src/ai/zhin-agent-exec-policy.ts +78 -0
  104. package/src/ai/zhin-agent-prompt.ts +136 -0
  105. package/src/ai/zhin-agent-tool-collector.ts +243 -0
  106. package/src/ai/zhin-agent.ts +113 -791
  107. package/src/component.ts +29 -28
  108. package/src/index.ts +1 -0
  109. package/src/scheduler/index.ts +28 -0
  110. package/src/scheduler/scheduler.ts +372 -0
  111. package/src/scheduler/types.ts +74 -0
  112. package/src/tool-zod.ts +115 -0
  113. package/tests/ai/subagent.test.ts +270 -0
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAER,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AASpB,OAAO,EACL,cAAc,EAGf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAe,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1E,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,eAAe,CAAS;IACzB,QAAQ,EAAE,cAAc,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,CAAC;IACvC,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,aAAa,CAA6C;IAClE,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,WAAW,CAAqC;gBAE5C,MAAM,GAAE,QAAa;IA6BjC,OAAO,IAAI,OAAO;IAIlB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAU;IAE5C,OAAO,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EAAE,GACZ,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAwF5B,aAAa;IAU3B,OAAO,CAAC,uBAAuB;YAQjB,UAAU;IAaxB,OAAO,CAAC,2BAA2B;IAYnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAE9B;IAEF,OAAO,CAAC,sBAAsB;IAa9B,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAChD,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAKhD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC/B,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,IAAI;IAEzC,eAAe,IAAI,SAAS,EAAE;IAQ9B,gBAAgB,IAAI,aAAa;IACjC,gBAAgB;qBApNsB,MAAM;mBAAa,MAAM;;IAqN/D,gBAAgB,IAAI,eAAe;IACnC,8DAA8D;IAC9D,cAAc,IAAI,QAAQ,CAAC,OAAO,CAAC;IAEnC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,GAAG,IAAI;IAC5C,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU;IAMtC,aAAa,IAAI,MAAM,EAAE;IAEnB,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAapF,IAAI,CAAC,OAAO,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI3F,UAAU,CAAC,OAAO,EAAE,qBAAqB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,mBAAmB,CAAC;IAItG,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAU9I,WAAW,CAAC,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,KAAK;IAShM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,GAAG,EAAE,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAInL,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQrD,OAAO,IAAI,IAAI;CAChB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"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"}
package/lib/ai/service.js CHANGED
@@ -213,6 +213,13 @@ ${preExecutedData ? `\n已自动获取的数据:${preExecutedData}\n` : ''}
213
213
  return provider;
214
214
  }
215
215
  listProviders() { return Array.from(this.providers.keys()); }
216
+ getProviderCapabilities(name) {
217
+ const provider = this.getProvider(name);
218
+ return {
219
+ contextWindow: provider.contextWindow,
220
+ capabilities: provider.capabilities,
221
+ };
222
+ }
216
223
  async listModels(providerName) {
217
224
  const result = [];
218
225
  if (providerName) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * SubagentManager — 后台子任务执行管理器
3
+ *
4
+ * 职责:
5
+ * 1. 接收主 agent 发起的 spawn 请求,创建后台子 agent
6
+ * 2. 为子 agent 配备受限工具集(文件/Shell/网络,不含消息/spawn/技能)
7
+ * 3. 管理子 agent 生命周期(运行跟踪、完成/失败回告)
8
+ * 4. 完成后将结果投递回主流程,由主 agent 摘要后发送到原始频道
9
+ */
10
+ import type { AIProvider, AgentTool } from './types.js';
11
+ import type { ZhinAgentConfig } from './zhin-agent-config.js';
12
+ export interface SubagentOrigin {
13
+ platform: string;
14
+ botId: string;
15
+ sceneId: string;
16
+ senderId: string;
17
+ sceneType: string;
18
+ }
19
+ export interface SpawnOptions {
20
+ task: string;
21
+ label?: string;
22
+ origin: SubagentOrigin;
23
+ }
24
+ export type SubagentResultSender = (origin: SubagentOrigin, content: string) => Promise<void>;
25
+ export interface SubagentManagerOptions {
26
+ provider: AIProvider;
27
+ workspace: string;
28
+ createTools: () => AgentTool[];
29
+ maxIterations?: number;
30
+ /** Exec policy config to enforce on subagent bash tools */
31
+ execPolicyConfig?: Required<ZhinAgentConfig>;
32
+ }
33
+ export declare class SubagentManager {
34
+ private provider;
35
+ private workspace;
36
+ private createTools;
37
+ private maxIterations;
38
+ private execPolicyConfig;
39
+ private runningTasks;
40
+ private resultSender;
41
+ constructor(options: SubagentManagerOptions);
42
+ setSender(sender: SubagentResultSender): void;
43
+ spawn(options: SpawnOptions): Promise<string>;
44
+ getRunningCount(): number;
45
+ private runSubagent;
46
+ private announceResult;
47
+ private buildSubagentPrompt;
48
+ dispose(): void;
49
+ }
50
+ //# sourceMappingURL=subagent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/ai/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAS9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,UAAU,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,SAAS,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;CAC9C;AAsBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,YAAY,CAAqC;gBAE7C,OAAO,EAAE,sBAAsB;IAQ3C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAIvC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnD,eAAe,IAAI,MAAM;YAMX,WAAW;YAkCX,cAAc;IAwB5B,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * SubagentManager — 后台子任务执行管理器
3
+ *
4
+ * 职责:
5
+ * 1. 接收主 agent 发起的 spawn 请求,创建后台子 agent
6
+ * 2. 为子 agent 配备受限工具集(文件/Shell/网络,不含消息/spawn/技能)
7
+ * 3. 管理子 agent 生命周期(运行跟踪、完成/失败回告)
8
+ * 4. 完成后将结果投递回主流程,由主 agent 摘要后发送到原始频道
9
+ */
10
+ import { randomUUID } from 'crypto';
11
+ import { Logger } from '@zhin.js/logger';
12
+ import { createAgent } from './agent.js';
13
+ import { applyExecPolicyToTools } from './zhin-agent-exec-policy.js';
14
+ const logger = new Logger(null, 'Subagent');
15
+ // ============================================================================
16
+ // 子 agent 允许使用的工具名单
17
+ // ============================================================================
18
+ const SUBAGENT_ALLOWED_TOOLS = new Set([
19
+ 'read_file',
20
+ 'write_file',
21
+ 'edit_file',
22
+ 'list_dir',
23
+ 'glob',
24
+ 'grep',
25
+ 'bash',
26
+ 'web_search',
27
+ 'web_fetch',
28
+ ]);
29
+ // ============================================================================
30
+ // SubagentManager
31
+ // ============================================================================
32
+ export class SubagentManager {
33
+ provider;
34
+ workspace;
35
+ createTools;
36
+ maxIterations;
37
+ execPolicyConfig;
38
+ runningTasks = new Map();
39
+ resultSender = null;
40
+ constructor(options) {
41
+ this.provider = options.provider;
42
+ this.workspace = options.workspace;
43
+ this.createTools = options.createTools;
44
+ this.maxIterations = options.maxIterations ?? 15;
45
+ this.execPolicyConfig = options.execPolicyConfig ?? null;
46
+ }
47
+ setSender(sender) {
48
+ this.resultSender = sender;
49
+ }
50
+ async spawn(options) {
51
+ const taskId = randomUUID().slice(0, 8);
52
+ const displayLabel = options.label ||
53
+ options.task.slice(0, 30) + (options.task.length > 30 ? '...' : '');
54
+ const abortController = new AbortController();
55
+ this.runningTasks.set(taskId, abortController);
56
+ this.runSubagent(taskId, options.task, displayLabel, options.origin)
57
+ .catch((error) => {
58
+ logger.error({ error, taskId }, 'Subagent failed');
59
+ })
60
+ .finally(() => {
61
+ this.runningTasks.delete(taskId);
62
+ });
63
+ logger.info({ taskId, label: displayLabel }, 'Spawned subagent');
64
+ return `子任务 [${displayLabel}] 已启动 (id: ${taskId}),完成后会自动通知你。`;
65
+ }
66
+ getRunningCount() {
67
+ return this.runningTasks.size;
68
+ }
69
+ // ── 内部方法 ──────────────────────────────────────────────────────
70
+ async runSubagent(taskId, task, label, origin) {
71
+ logger.info({ taskId, label }, 'Subagent starting task');
72
+ try {
73
+ const allTools = this.createTools();
74
+ let tools = allTools.filter(t => SUBAGENT_ALLOWED_TOOLS.has(t.name));
75
+ if (this.execPolicyConfig) {
76
+ tools = applyExecPolicyToTools(this.execPolicyConfig, tools);
77
+ }
78
+ const systemPrompt = this.buildSubagentPrompt(task);
79
+ const agent = createAgent(this.provider, {
80
+ systemPrompt,
81
+ tools,
82
+ maxIterations: this.maxIterations,
83
+ });
84
+ const result = await agent.run(task);
85
+ const finalResult = result.content || '任务已完成,但未生成最终响应。';
86
+ logger.info({ taskId }, 'Subagent completed successfully');
87
+ await this.announceResult(taskId, label, task, finalResult, origin, 'ok');
88
+ }
89
+ catch (error) {
90
+ const errorMsg = `Error: ${error}`;
91
+ logger.error({ taskId, error }, 'Subagent failed');
92
+ await this.announceResult(taskId, label, task, errorMsg, origin, 'error');
93
+ }
94
+ }
95
+ async announceResult(taskId, label, task, result, origin, status) {
96
+ if (!this.resultSender) {
97
+ logger.warn({ taskId }, 'No result sender configured, discarding subagent result');
98
+ return;
99
+ }
100
+ const statusText = status === 'ok' ? '已完成' : '执行失败';
101
+ const announceContent = `[后台任务 '${label}' ${statusText}]\n\n任务: ${task}\n\n结果:\n${result}`;
102
+ try {
103
+ await this.resultSender(origin, announceContent);
104
+ logger.debug({ taskId, origin }, 'Subagent announced result');
105
+ }
106
+ catch (e) {
107
+ logger.error({ taskId, error: e }, 'Failed to announce subagent result');
108
+ }
109
+ }
110
+ buildSubagentPrompt(task) {
111
+ return `# 子任务 Agent
112
+
113
+ 你是一个被主 agent 派生出来执行特定任务的子 agent。
114
+
115
+ ## 你的任务
116
+ ${task}
117
+
118
+ ## 规则
119
+ 1. 专注完成分配的任务,不做其他事情
120
+ 2. 你的最终回复会被报告给主 agent,并转达给用户
121
+ 3. 不要发起对话或承担额外任务
122
+ 4. 回复要简洁但信息充分
123
+
124
+ ## 你可以做的
125
+ - 读写工作区内的文件
126
+ - 执行 Shell 命令
127
+ - 搜索和抓取网页
128
+ - 彻底完成任务
129
+
130
+ ## 你不能做的
131
+ - 直接向用户发送消息
132
+ - 派生其他子任务
133
+ - 访问主 agent 的对话历史
134
+
135
+ ## 工作区
136
+ 你的工作区路径: ${this.workspace}
137
+
138
+ 完成任务后,请提供清晰的发现或操作摘要。`;
139
+ }
140
+ dispose() {
141
+ this.runningTasks.clear();
142
+ }
143
+ }
144
+ //# sourceMappingURL=subagent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/ai/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AA+B5C,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,MAAM,OAAO,eAAe;IAClB,QAAQ,CAAa;IACrB,SAAS,CAAS;IAClB,WAAW,CAAoB;IAC/B,aAAa,CAAS;IACtB,gBAAgB,CAAmC;IACnD,YAAY,GAAiC,IAAI,GAAG,EAAE,CAAC;IACvD,YAAY,GAAgC,IAAI,CAAC;IAEzD,YAAY,OAA+B;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,MAA4B;QACpC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,MAAM,YAAY,GAChB,OAAO,CAAC,KAAK;YACb,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtE,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QAE/C,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC;aACjE,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEL,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,kBAAkB,CAAC,CAAC;QACjE,OAAO,QAAQ,YAAY,cAAc,MAAM,cAAc,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,iEAAiE;IAEzD,KAAK,CAAC,WAAW,CACvB,MAAc,EACd,IAAY,EACZ,KAAa,EACb,MAAsB;QAEtB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,wBAAwB,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvC,YAAY;gBACZ,KAAK;gBACL,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,IAAI,iBAAiB,CAAC;YAExD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,iCAAiC,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,UAAU,KAAK,EAAE,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAc,EACd,KAAa,EACb,IAAY,EACZ,MAAc,EACd,MAAsB,EACtB,MAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,yDAAyD,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,eAAe,GAAG,UAAU,KAAK,KAAK,UAAU,YAAY,IAAI,YAAY,MAAM,EAAE,CAAC;QAE3F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,oCAAoC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,OAAO;;;;;EAKT,IAAI;;;;;;;;;;;;;;;;;;;;WAoBK,IAAI,CAAC,SAAS;;qBAEJ,CAAC;IACpB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
package/lib/ai/types.d.ts CHANGED
@@ -116,6 +116,13 @@ export interface ChatCompletionChunkChoice {
116
116
  delta: Partial<ChatMessage>;
117
117
  finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
118
118
  }
119
+ /** Provider 能力声明 */
120
+ export interface ProviderCapabilities {
121
+ vision?: boolean;
122
+ streaming?: boolean;
123
+ toolCalling?: boolean;
124
+ thinking?: boolean;
125
+ }
119
126
  /** Provider 配置 */
120
127
  export interface ProviderConfig {
121
128
  apiKey?: string;
@@ -124,6 +131,10 @@ export interface ProviderConfig {
124
131
  timeout?: number;
125
132
  maxRetries?: number;
126
133
  headers?: Record<string, string>;
134
+ /** 上下文窗口大小(token 数),各 Provider 映射到自身参数 */
135
+ contextWindow?: number;
136
+ /** Provider 能力声明 */
137
+ capabilities?: ProviderCapabilities;
127
138
  }
128
139
  /** Provider 接口 */
129
140
  export interface AIProvider {
@@ -137,6 +148,10 @@ export interface AIProvider {
137
148
  listModels?(): Promise<string[]>;
138
149
  /** 检查连接 */
139
150
  healthCheck?(): Promise<boolean>;
151
+ /** 上下文窗口大小(token 数),由 Provider 实现暴露 */
152
+ contextWindow?: number;
153
+ /** Provider 能力声明 */
154
+ capabilities?: ProviderCapabilities;
140
155
  }
141
156
  /** Agent 工具 */
142
157
  export interface AgentTool {
@@ -205,6 +220,12 @@ export interface Session {
205
220
  updatedAt: number;
206
221
  metadata?: Record<string, any>;
207
222
  }
223
+ /** Ollama-specific fields for AIConfig typing (mirrors OllamaConfig) */
224
+ export interface OllamaProviderConfig extends ProviderConfig {
225
+ host?: string;
226
+ models?: string[];
227
+ num_ctx?: number;
228
+ }
208
229
  /** AI 服务配置 */
209
230
  export interface AIConfig {
210
231
  enabled?: boolean;
@@ -215,10 +236,7 @@ export interface AIConfig {
215
236
  deepseek?: ProviderConfig;
216
237
  moonshot?: ProviderConfig;
217
238
  zhipu?: ProviderConfig;
218
- ollama?: ProviderConfig & {
219
- host?: string;
220
- models?: string[];
221
- };
239
+ ollama?: OllamaProviderConfig;
222
240
  custom?: ProviderConfig[];
223
241
  };
224
242
  sessions?: {
@@ -251,7 +269,9 @@ export interface AIConfig {
251
269
  allowedTools?: string[];
252
270
  /** bash 执行策略:deny=禁止执行,allowlist=仅允许列表内命令,full=不限制 */
253
271
  execSecurity?: 'deny' | 'allowlist' | 'full';
254
- /** allowlist 模式下允许的命令(支持正则字符串,如 "^ls "、"^cat ") */
272
+ /** 预设命令白名单模式:readonly / network / development / custom(默认 custom,使用自定义 execAllowlist) */
273
+ execPreset?: 'readonly' | 'network' | 'development' | 'custom';
274
+ /** allowlist 模式下允许的命令(支持正则字符串,如 "^ls "、"^cat "),与 preset 合并 */
255
275
  execAllowlist?: string[];
256
276
  /** allowlist 未命中时:true=需审批(当前实现为拒绝并提示),false=直接拒绝 */
257
277
  execAsk?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ZhinAgent 内置上下文工具工厂
3
+ *
4
+ * 这些工具依赖运行时上下文(sessionId / userId / context),
5
+ * 由 ZhinAgent.process() 按需创建并注入到工具列表中。
6
+ */
7
+ import type { ToolContext } from '../types.js';
8
+ import type { AgentTool } from './types.js';
9
+ import type { ConversationMemory } from './conversation-memory.js';
10
+ import type { UserProfileStore } from './user-profile.js';
11
+ import type { FollowUpManager } from './follow-up.js';
12
+ import type { SubagentManager } from './subagent.js';
13
+ export declare function createChatHistoryTool(sessionId: string, memory: ConversationMemory): AgentTool;
14
+ export declare function createUserProfileTool(userId: string, profiles: UserProfileStore): AgentTool;
15
+ export declare function createScheduleFollowUpTool(sessionId: string, context: ToolContext, followUps: FollowUpManager): AgentTool;
16
+ export declare function createSpawnTaskTool(context: ToolContext, manager: SubagentManager): AgentTool;
17
+ //# sourceMappingURL=zhin-agent-builtin-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhin-agent-builtin-tools.d.ts","sourceRoot":"","sources":["../../src/ai/zhin-agent-builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAC;AAErE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAwE9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAkD3F;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,eAAe,GACzB,SAAS,CAwDX;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,eAAe,GACvB,SAAS,CAyCX"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * ZhinAgent 内置上下文工具工厂
3
+ *
4
+ * 这些工具依赖运行时上下文(sessionId / userId / context),
5
+ * 由 ZhinAgent.process() 按需创建并注入到工具列表中。
6
+ */
7
+ export function createChatHistoryTool(sessionId, memory) {
8
+ return {
9
+ name: 'chat_history',
10
+ description: '搜索与用户的历史聊天记录。可以按关键词搜索,也可以按对话轮次范围查询。当用户问到"之前聊过什么""我们讨论过什么"等回忆类问题时使用。',
11
+ parameters: {
12
+ type: 'object',
13
+ properties: {
14
+ keyword: {
15
+ type: 'string',
16
+ description: '搜索关键词(模糊匹配消息内容和摘要)。留空则返回最近几轮记录',
17
+ },
18
+ from_round: {
19
+ type: 'number',
20
+ description: '起始轮次(与 to_round 配合使用,精确查询某段对话)',
21
+ },
22
+ to_round: {
23
+ type: 'number',
24
+ description: '结束轮次',
25
+ },
26
+ },
27
+ required: ['keyword'],
28
+ },
29
+ tags: ['memory', 'history', '聊天记录', '回忆', '之前'],
30
+ keywords: ['之前', '历史', '聊过', '讨论过', '记得', '上次', '以前', '回忆'],
31
+ async execute(args) {
32
+ const { keyword, from_round, to_round } = args;
33
+ const currentRound = await memory.getCurrentRound(sessionId);
34
+ if (keyword) {
35
+ const result = await memory.traceByKeyword(sessionId, keyword);
36
+ const msgs = result.messages.map(m => {
37
+ const role = m.role === 'user' ? '用户' : '助手';
38
+ const time = new Date(m.time).toLocaleString('zh-CN');
39
+ return `[第${m.round}轮 ${time}] ${role}: ${m.content}`;
40
+ }).join('\n');
41
+ let output = `当前是第 ${currentRound} 轮对话。\n\n`;
42
+ if (result.summary) {
43
+ output += `📋 找到相关摘要(覆盖第${result.summary.fromRound}-${result.summary.toRound}轮):\n${result.summary.summary}\n\n`;
44
+ }
45
+ output += msgs ? `💬 相关聊天记录:\n${msgs}` : '未找到包含该关键词的聊天记录。';
46
+ return output;
47
+ }
48
+ if (from_round != null && to_round != null) {
49
+ const messages = await memory.getMessagesByRound(sessionId, from_round, to_round);
50
+ if (messages.length === 0) {
51
+ return `第 ${from_round}-${to_round} 轮没有聊天记录。当前是第 ${currentRound} 轮。`;
52
+ }
53
+ const msgs = messages.map(m => {
54
+ const role = m.role === 'user' ? '用户' : '助手';
55
+ const time = new Date(m.time).toLocaleString('zh-CN');
56
+ return `[第${m.round}轮 ${time}] ${role}: ${m.content}`;
57
+ }).join('\n');
58
+ return `第 ${from_round}-${to_round} 轮聊天记录(当前第 ${currentRound} 轮):\n${msgs}`;
59
+ }
60
+ const messages = await memory.getMessagesByRound(sessionId, Math.max(1, currentRound - 4), currentRound);
61
+ if (messages.length === 0) {
62
+ return '暂无聊天记录。';
63
+ }
64
+ const msgs = messages.map(m => {
65
+ const role = m.role === 'user' ? '用户' : '助手';
66
+ return `[第${m.round}轮] ${role}: ${m.content}`;
67
+ }).join('\n');
68
+ return `最近的聊天记录(当前第 ${currentRound} 轮):\n${msgs}`;
69
+ },
70
+ };
71
+ }
72
+ export function createUserProfileTool(userId, profiles) {
73
+ return {
74
+ name: 'user_profile',
75
+ description: '读取或保存用户的个人偏好和信息。当用户告诉你他的名字、偏好、兴趣、习惯等个人信息时,用 set 操作保存。当需要了解用户偏好时,用 get 操作读取。',
76
+ parameters: {
77
+ type: 'object',
78
+ properties: {
79
+ action: {
80
+ type: 'string',
81
+ description: '操作类型: get(读取所有偏好), set(保存偏好), delete(删除偏好)',
82
+ enum: ['get', 'set', 'delete'],
83
+ },
84
+ key: {
85
+ type: 'string',
86
+ description: '偏好名称,如: name, style, interests, timezone, language 等',
87
+ },
88
+ value: {
89
+ type: 'string',
90
+ description: '偏好值(仅 set 操作需要)',
91
+ },
92
+ },
93
+ required: ['action'],
94
+ },
95
+ tags: ['profile', '偏好', '用户', '个性化', '记住'],
96
+ keywords: ['我叫', '我的名字', '记住我', '我喜欢', '我偏好', '我习惯', '叫我', '我是'],
97
+ async execute(args) {
98
+ const { action, key, value } = args;
99
+ switch (action) {
100
+ case 'get': {
101
+ const all = await profiles.getAll(userId);
102
+ const entries = Object.entries(all);
103
+ if (entries.length === 0)
104
+ return '暂无保存的用户偏好。';
105
+ return '用户偏好:\n' + entries.map(([k, v]) => ` ${k}: ${v}`).join('\n');
106
+ }
107
+ case 'set': {
108
+ if (!key || !value)
109
+ return '需要提供 key 和 value';
110
+ await profiles.set(userId, key, value);
111
+ return `已保存: ${key} = ${value}`;
112
+ }
113
+ case 'delete': {
114
+ if (!key)
115
+ return '需要提供 key';
116
+ const deleted = await profiles.delete(userId, key);
117
+ return deleted ? `已删除: ${key}` : `未找到偏好: ${key}`;
118
+ }
119
+ default:
120
+ return '不支持的操作,请使用 get/set/delete';
121
+ }
122
+ },
123
+ };
124
+ }
125
+ export function createScheduleFollowUpTool(sessionId, context, followUps) {
126
+ const platform = context.platform || '';
127
+ const botId = context.botId || '';
128
+ const senderId = context.senderId || '';
129
+ const sceneId = context.sceneId || '';
130
+ const sceneType = context.message?.$channel?.type || 'private';
131
+ return {
132
+ name: 'schedule_followup',
133
+ description: '安排或取消定时跟进提醒。创建新提醒会自动取消之前的提醒。提醒持久保存,重启不丢失。',
134
+ parameters: {
135
+ type: 'object',
136
+ properties: {
137
+ action: {
138
+ type: 'string',
139
+ description: '操作类型: create(创建提醒,默认)或 cancel(取消当前会话所有提醒)',
140
+ enum: ['create', 'cancel'],
141
+ },
142
+ delay_minutes: {
143
+ type: 'number',
144
+ description: '延迟时间,单位是分钟。注意:3 就是 3 分钟,不是 3 小时。举例: 3 = 3分钟后, 60 = 1小时后, 1440 = 1天后',
145
+ },
146
+ message: {
147
+ type: 'string',
148
+ description: '提醒消息内容',
149
+ },
150
+ },
151
+ required: ['action'],
152
+ },
153
+ tags: ['reminder', '提醒', '跟进', '定时'],
154
+ keywords: ['提醒', '提醒我', '过一会', '过一小时', '明天', '跟进', '别忘了', '记得提醒', '取消提醒'],
155
+ async execute(args) {
156
+ const { action = 'create', delay_minutes, message: msg } = args;
157
+ if (action === 'cancel') {
158
+ const count = await followUps.cancelBySession(sessionId);
159
+ return count > 0
160
+ ? `✅ 已取消 ${count} 个待执行的提醒`
161
+ : '当前没有待执行的提醒';
162
+ }
163
+ if (!delay_minutes || delay_minutes <= 0)
164
+ return '延迟时间必须大于 0 分钟';
165
+ if (!msg)
166
+ return '请提供提醒内容';
167
+ return followUps.schedule({
168
+ sessionId,
169
+ platform,
170
+ botId,
171
+ senderId,
172
+ sceneId,
173
+ sceneType,
174
+ message: msg,
175
+ delayMinutes: delay_minutes,
176
+ });
177
+ },
178
+ };
179
+ }
180
+ export function createSpawnTaskTool(context, manager) {
181
+ const platform = context.platform || '';
182
+ const botId = context.botId || '';
183
+ const senderId = context.senderId || '';
184
+ const sceneId = context.sceneId || '';
185
+ const sceneType = context.message?.$channel?.type || 'private';
186
+ return {
187
+ name: 'spawn_task',
188
+ description: '将复杂或耗时的任务交给后台子 agent 异步处理。子 agent 拥有文件读写、Shell、网络搜索等能力,完成后会自动通知用户。适用于需要多步操作的文件处理、代码分析、数据收集等任务。',
189
+ parameters: {
190
+ type: 'object',
191
+ properties: {
192
+ task: {
193
+ type: 'string',
194
+ description: '要交给子 agent 完成的任务描述(尽量详细,包含目标、范围、期望输出)',
195
+ },
196
+ label: {
197
+ type: 'string',
198
+ description: '任务的简短标签(用于显示,可选)',
199
+ },
200
+ },
201
+ required: ['task'],
202
+ },
203
+ tags: ['agent', 'async', 'task', '后台', '子任务'],
204
+ keywords: ['后台', '异步', '子任务', 'spawn', 'background', '并行', '独立处理'],
205
+ async execute(args) {
206
+ const { task, label } = args;
207
+ if (!task)
208
+ return '请提供任务描述';
209
+ const origin = {
210
+ platform,
211
+ botId,
212
+ sceneId,
213
+ senderId,
214
+ sceneType,
215
+ };
216
+ return manager.spawn({ task, label, origin });
217
+ },
218
+ };
219
+ }
220
+ //# sourceMappingURL=zhin-agent-builtin-tools.js.map