@zhin.js/agent 0.1.15 → 0.1.16

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 (198) hide show
  1. package/README.md +80 -43
  2. package/lib/builtin/activate-skill-tool.d.ts +21 -0
  3. package/lib/builtin/activate-skill-tool.d.ts.map +1 -0
  4. package/lib/builtin/activate-skill-tool.js +57 -0
  5. package/lib/builtin/activate-skill-tool.js.map +1 -0
  6. package/lib/builtin/ask-user-tool.d.ts +28 -0
  7. package/lib/builtin/ask-user-tool.d.ts.map +1 -0
  8. package/lib/builtin/ask-user-tool.js +182 -0
  9. package/lib/builtin/ask-user-tool.js.map +1 -0
  10. package/lib/builtin/bash-tool.d.ts +23 -0
  11. package/lib/builtin/bash-tool.d.ts.map +1 -0
  12. package/lib/builtin/bash-tool.js +64 -0
  13. package/lib/builtin/bash-tool.js.map +1 -0
  14. package/lib/builtin/bing-search-html.d.ts +37 -0
  15. package/lib/builtin/bing-search-html.d.ts.map +1 -0
  16. package/lib/builtin/bing-search-html.js +116 -0
  17. package/lib/builtin/bing-search-html.js.map +1 -0
  18. package/lib/builtin/builtin-base-tool.d.ts +25 -0
  19. package/lib/builtin/builtin-base-tool.d.ts.map +1 -0
  20. package/lib/builtin/builtin-base-tool.js +30 -0
  21. package/lib/builtin/builtin-base-tool.js.map +1 -0
  22. package/lib/builtin/edit-file-tool.d.ts +13 -0
  23. package/lib/builtin/edit-file-tool.d.ts.map +1 -0
  24. package/lib/builtin/edit-file-tool.js +81 -0
  25. package/lib/builtin/edit-file-tool.js.map +1 -0
  26. package/lib/builtin/file-edit-quote-utils.d.ts +24 -0
  27. package/lib/builtin/file-edit-quote-utils.d.ts.map +1 -0
  28. package/lib/builtin/file-edit-quote-utils.js +81 -0
  29. package/lib/builtin/file-edit-quote-utils.js.map +1 -0
  30. package/lib/builtin/glob-tool.d.ts +23 -0
  31. package/lib/builtin/glob-tool.d.ts.map +1 -0
  32. package/lib/builtin/glob-tool.js +54 -0
  33. package/lib/builtin/glob-tool.js.map +1 -0
  34. package/lib/builtin/grep-tool.d.ts +23 -0
  35. package/lib/builtin/grep-tool.d.ts.map +1 -0
  36. package/lib/builtin/grep-tool.js +118 -0
  37. package/lib/builtin/grep-tool.js.map +1 -0
  38. package/lib/builtin/install-skill-tool.d.ts +24 -0
  39. package/lib/builtin/install-skill-tool.d.ts.map +1 -0
  40. package/lib/builtin/install-skill-tool.js +76 -0
  41. package/lib/builtin/install-skill-tool.js.map +1 -0
  42. package/lib/builtin/list-dir-tool.d.ts +13 -0
  43. package/lib/builtin/list-dir-tool.d.ts.map +1 -0
  44. package/lib/builtin/list-dir-tool.js +59 -0
  45. package/lib/builtin/list-dir-tool.js.map +1 -0
  46. package/lib/builtin/read-file-tool.d.ts +14 -0
  47. package/lib/builtin/read-file-tool.d.ts.map +1 -0
  48. package/lib/builtin/read-file-tool.js +77 -0
  49. package/lib/builtin/read-file-tool.js.map +1 -0
  50. package/lib/builtin/read-memory-tool.d.ts +14 -0
  51. package/lib/builtin/read-memory-tool.d.ts.map +1 -0
  52. package/lib/builtin/read-memory-tool.js +49 -0
  53. package/lib/builtin/read-memory-tool.js.map +1 -0
  54. package/lib/builtin/spawn-task-tool.d.ts +20 -0
  55. package/lib/builtin/spawn-task-tool.d.ts.map +1 -0
  56. package/lib/builtin/spawn-task-tool.js +57 -0
  57. package/lib/builtin/spawn-task-tool.js.map +1 -0
  58. package/lib/builtin/todo-read-tool.d.ts +14 -0
  59. package/lib/builtin/todo-read-tool.d.ts.map +1 -0
  60. package/lib/builtin/todo-read-tool.js +56 -0
  61. package/lib/builtin/todo-read-tool.js.map +1 -0
  62. package/lib/builtin/todo-write-tool.d.ts +14 -0
  63. package/lib/builtin/todo-write-tool.d.ts.map +1 -0
  64. package/lib/builtin/todo-write-tool.js +54 -0
  65. package/lib/builtin/todo-write-tool.js.map +1 -0
  66. package/lib/builtin/web-fetch-tool.d.ts +19 -0
  67. package/lib/builtin/web-fetch-tool.d.ts.map +1 -0
  68. package/lib/builtin/web-fetch-tool.js +89 -0
  69. package/lib/builtin/web-fetch-tool.js.map +1 -0
  70. package/lib/builtin/web-search-locale.d.ts +16 -0
  71. package/lib/builtin/web-search-locale.d.ts.map +1 -0
  72. package/lib/builtin/web-search-locale.js +73 -0
  73. package/lib/builtin/web-search-locale.js.map +1 -0
  74. package/lib/builtin/web-search-tool.d.ts +20 -0
  75. package/lib/builtin/web-search-tool.d.ts.map +1 -0
  76. package/lib/builtin/web-search-tool.js +105 -0
  77. package/lib/builtin/web-search-tool.js.map +1 -0
  78. package/lib/builtin/web-tool-utils.d.ts +4 -0
  79. package/lib/builtin/web-tool-utils.d.ts.map +1 -0
  80. package/lib/builtin/web-tool-utils.js +4 -0
  81. package/lib/builtin/web-tool-utils.js.map +1 -0
  82. package/lib/builtin/write-file-tool.d.ts +13 -0
  83. package/lib/builtin/write-file-tool.d.ts.map +1 -0
  84. package/lib/builtin/write-file-tool.js +51 -0
  85. package/lib/builtin/write-file-tool.js.map +1 -0
  86. package/lib/builtin/write-memory-tool.d.ts +14 -0
  87. package/lib/builtin/write-memory-tool.d.ts.map +1 -0
  88. package/lib/builtin/write-memory-tool.js +50 -0
  89. package/lib/builtin/write-memory-tool.js.map +1 -0
  90. package/lib/builtin-tools.d.ts +10 -11
  91. package/lib/builtin-tools.d.ts.map +1 -1
  92. package/lib/builtin-tools.js +44 -862
  93. package/lib/builtin-tools.js.map +1 -1
  94. package/lib/defaults/tools.d.ts +3 -6
  95. package/lib/defaults/tools.d.ts.map +1 -1
  96. package/lib/defaults/tools.js +3 -11
  97. package/lib/defaults/tools.js.map +1 -1
  98. package/lib/index.d.ts +25 -3
  99. package/lib/index.d.ts.map +1 -1
  100. package/lib/index.js +24 -3
  101. package/lib/index.js.map +1 -1
  102. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  103. package/lib/init/create-zhin-agent.js +4 -3
  104. package/lib/init/create-zhin-agent.js.map +1 -1
  105. package/lib/init/message-media.d.ts +8 -0
  106. package/lib/init/message-media.d.ts.map +1 -0
  107. package/lib/init/message-media.js +75 -0
  108. package/lib/init/message-media.js.map +1 -0
  109. package/lib/init/output-renderer.d.ts +3 -0
  110. package/lib/init/output-renderer.d.ts.map +1 -0
  111. package/lib/init/output-renderer.js +38 -0
  112. package/lib/init/output-renderer.js.map +1 -0
  113. package/lib/init/register-ai-trigger.d.ts +1 -1
  114. package/lib/init/register-ai-trigger.d.ts.map +1 -1
  115. package/lib/init/register-ai-trigger.js +35 -159
  116. package/lib/init/register-ai-trigger.js.map +1 -1
  117. package/lib/init/register-builtin-tools.d.ts.map +1 -1
  118. package/lib/init/register-builtin-tools.js +9 -5
  119. package/lib/init/register-builtin-tools.js.map +1 -1
  120. package/lib/orchestrator/index.d.ts +2 -0
  121. package/lib/orchestrator/index.d.ts.map +1 -1
  122. package/lib/orchestrator/index.js +1 -0
  123. package/lib/orchestrator/index.js.map +1 -1
  124. package/lib/orchestrator/resource-registry.d.ts +1 -0
  125. package/lib/orchestrator/resource-registry.d.ts.map +1 -1
  126. package/lib/orchestrator/resource-registry.js +6 -0
  127. package/lib/orchestrator/resource-registry.js.map +1 -1
  128. package/lib/orchestrator/tool-registry.d.ts +5 -11
  129. package/lib/orchestrator/tool-registry.d.ts.map +1 -1
  130. package/lib/orchestrator/tool-registry.js +30 -75
  131. package/lib/orchestrator/tool-registry.js.map +1 -1
  132. package/lib/orchestrator/tool-selection.d.ts +39 -0
  133. package/lib/orchestrator/tool-selection.d.ts.map +1 -0
  134. package/lib/orchestrator/tool-selection.js +319 -0
  135. package/lib/orchestrator/tool-selection.js.map +1 -0
  136. package/lib/orchestrator/types.d.ts +2 -0
  137. package/lib/orchestrator/types.d.ts.map +1 -1
  138. package/lib/reserved-tools.d.ts +3 -0
  139. package/lib/reserved-tools.d.ts.map +1 -0
  140. package/lib/reserved-tools.js +30 -0
  141. package/lib/reserved-tools.js.map +1 -0
  142. package/lib/service.d.ts +9 -5
  143. package/lib/service.d.ts.map +1 -1
  144. package/lib/service.js +42 -36
  145. package/lib/service.js.map +1 -1
  146. package/lib/subagent.d.ts +6 -0
  147. package/lib/subagent.d.ts.map +1 -1
  148. package/lib/subagent.js +33 -15
  149. package/lib/subagent.js.map +1 -1
  150. package/lib/task-executor.d.ts +1 -0
  151. package/lib/task-executor.d.ts.map +1 -1
  152. package/lib/task-executor.js +15 -8
  153. package/lib/task-executor.js.map +1 -1
  154. package/lib/zhin-agent/builtin-tools.d.ts +1 -3
  155. package/lib/zhin-agent/builtin-tools.d.ts.map +1 -1
  156. package/lib/zhin-agent/builtin-tools.js +4 -41
  157. package/lib/zhin-agent/builtin-tools.js.map +1 -1
  158. package/lib/zhin-agent/config.d.ts +7 -0
  159. package/lib/zhin-agent/config.d.ts.map +1 -1
  160. package/lib/zhin-agent/config.js +12 -7
  161. package/lib/zhin-agent/config.js.map +1 -1
  162. package/lib/zhin-agent/context-budget.d.ts +27 -0
  163. package/lib/zhin-agent/context-budget.d.ts.map +1 -0
  164. package/lib/zhin-agent/context-budget.js +50 -0
  165. package/lib/zhin-agent/context-budget.js.map +1 -0
  166. package/lib/zhin-agent/index.d.ts +10 -0
  167. package/lib/zhin-agent/index.d.ts.map +1 -1
  168. package/lib/zhin-agent/index.js +120 -88
  169. package/lib/zhin-agent/index.js.map +1 -1
  170. package/lib/zhin-agent/model-harness.d.ts +29 -0
  171. package/lib/zhin-agent/model-harness.d.ts.map +1 -0
  172. package/lib/zhin-agent/model-harness.js +67 -0
  173. package/lib/zhin-agent/model-harness.js.map +1 -0
  174. package/lib/zhin-agent/pre-exec.d.ts +7 -0
  175. package/lib/zhin-agent/pre-exec.d.ts.map +1 -0
  176. package/lib/zhin-agent/pre-exec.js +25 -0
  177. package/lib/zhin-agent/pre-exec.js.map +1 -0
  178. package/lib/zhin-agent/prompt.d.ts +10 -8
  179. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  180. package/lib/zhin-agent/prompt.js +37 -30
  181. package/lib/zhin-agent/prompt.js.map +1 -1
  182. package/lib/zhin-agent/text-sanitize.d.ts +8 -0
  183. package/lib/zhin-agent/text-sanitize.d.ts.map +1 -0
  184. package/lib/zhin-agent/text-sanitize.js +19 -0
  185. package/lib/zhin-agent/text-sanitize.js.map +1 -0
  186. package/lib/zhin-agent/tool-runtime.d.ts +31 -0
  187. package/lib/zhin-agent/tool-runtime.d.ts.map +1 -0
  188. package/lib/zhin-agent/tool-runtime.js +49 -0
  189. package/lib/zhin-agent/tool-runtime.js.map +1 -0
  190. package/package.json +8 -6
  191. package/lib/tools.d.ts +0 -45
  192. package/lib/tools.d.ts.map +0 -1
  193. package/lib/tools.js +0 -205
  194. package/lib/tools.js.map +0 -1
  195. package/lib/zhin-agent/tool-collector.d.ts +0 -22
  196. package/lib/zhin-agent/tool-collector.d.ts.map +0 -1
  197. package/lib/zhin-agent/tool-collector.js +0 -225
  198. package/lib/zhin-agent/tool-collector.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reserved-tools.js","sourceRoot":"","sources":["../src/reserved-tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,WAAW;IACX,YAAY;IACZ,WAAW;IACX,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,WAAW;IACX,WAAW;IACX,YAAY;IACZ,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,UAAU;IACV,cAAc;IACd,cAAc;IACd,YAAY;IACZ,WAAW;IACX,UAAU;IACV,aAAa;IACb,YAAY;IACZ,aAAa;CACd,CAAC"}
package/lib/service.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * AIService — AI 服务核心类
3
3
  * 统一管理多个模型提供商,提供会话和 Agent 能力
4
4
  */
5
- import type { Plugin, Tool, ToolContext, AITriggerConfig } from '@zhin.js/core';
6
- import type { AIProvider, AIConfig, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, AgentTool } from '@zhin.js/core';
5
+ import type { Plugin, AITriggerConfig } from '@zhin.js/core';
6
+ import type { AIProvider, AIConfig, ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, AgentTool, Tool } from '@zhin.js/core';
7
7
  import { SessionManager } from '@zhin.js/ai';
8
8
  import { Agent } from '@zhin.js/ai';
9
9
  import type { ModelRegistry } from '@zhin.js/ai';
@@ -23,10 +23,7 @@ export declare class AIService {
23
23
  private _modelRegistry;
24
24
  constructor(config?: AIConfig);
25
25
  isReady(): boolean;
26
- process(content: string, context: ToolContext, _tools: Tool[]): Promise<string>;
27
- private finishAndSave;
28
26
  private simpleChat;
29
- private convertToolToAgentTool;
30
27
  setSessionManager(manager: SessionManager): void;
31
28
  setContextManager(manager: ContextManager): void;
32
29
  setPlugin(plugin: Plugin): void;
@@ -34,6 +31,12 @@ export declare class AIService {
34
31
  getModelRegistry(): ModelRegistry | null;
35
32
  registerTool(tool: AgentTool): () => void;
36
33
  collectAllTools(): AgentTool[];
34
+ /**
35
+ * IM / ZhinAgent 流水线用的常驻 Tool 实例(未经 normalize;与 ToolFeature 工具合并后由 collectRelevantTools 绑定 context)。
36
+ */
37
+ getResidentToolsAsTools(): Tool[];
38
+ /** `web_search` 始终挂载;`ask_user` 在 {@link setPlugin} 之后挂载(依赖 Prompt / 中间件)。 */
39
+ private refreshBuiltinAgentTools;
37
40
  getContextConfig(): ContextConfig;
38
41
  getSessionConfig(): {
39
42
  maxHistory?: number;
@@ -69,6 +72,7 @@ export declare class AIService {
69
72
  useBuiltinTools?: boolean;
70
73
  collectExternalTools?: boolean;
71
74
  maxIterations?: number;
75
+ contextWindow?: number;
72
76
  }): Agent;
73
77
  runAgent(task: string, options?: {
74
78
  provider?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/lib/service.js CHANGED
@@ -4,10 +4,13 @@
4
4
  */
5
5
  import { Logger } from '@zhin.js/core';
6
6
  import { OpenAIProvider, DeepSeekProvider, MoonshotProvider, ZhipuProvider, AnthropicProvider, OllamaProvider, } from '@zhin.js/core';
7
- import { SessionManager, createMemorySessionManager, } from '@zhin.js/ai';
7
+ import { createMemorySessionManager, } from '@zhin.js/ai';
8
8
  import { createAgent } from '@zhin.js/ai';
9
- import { getBuiltinTools } from './tools.js';
10
- import { PERM_MAP } from './zhin-agent/config.js';
9
+ import { DEFAULT_CONFIG } from './zhin-agent/config.js';
10
+ import { resolveContextBudget } from './zhin-agent/context-budget.js';
11
+ import { normalizeTool } from './orchestrator/tool-selection.js';
12
+ import { createWebSearchTool } from './builtin/web-search-tool.js';
13
+ import { createAskUserTool } from './builtin/ask-user-tool.js';
11
14
  const aiLogger = new Logger(null, 'AI');
12
15
  /** Provider 注册表:key → 构造函数 + 是否需要 apiKey */
13
16
  const PROVIDER_REGISTRY = [
@@ -38,7 +41,7 @@ export class AIService {
38
41
  this.triggerConfig = config.trigger || {};
39
42
  this.agentConfig = config.agent;
40
43
  this.sessions = createMemorySessionManager(this.sessionConfig);
41
- this.builtinTools = getBuiltinTools().map(tool => this.convertToolToAgentTool(tool.toTool()));
44
+ this.refreshBuiltinAgentTools();
42
45
  for (const { key, factory, requireApiKey } of PROVIDER_REGISTRY) {
43
46
  const providerConfig = config.providers?.[key];
44
47
  if (!providerConfig)
@@ -51,21 +54,6 @@ export class AIService {
51
54
  isReady() {
52
55
  return this.providers.size > 0;
53
56
  }
54
- async process(content, context, _tools) {
55
- const { platform, senderId, sceneId } = context;
56
- const sessionId = SessionManager.generateId(platform || '', senderId || '', sceneId);
57
- const systemPrompt = 'You are a helpful AI assistant. Reply in the language specified in [User profile] (key: language / preferred_language), or in the user\'s message language if not set. Never claim to perform actions you cannot actually do. If you cannot fulfill a request, say so honestly.';
58
- return this.finishAndSave(sessionId, content, systemPrompt, sceneId);
59
- }
60
- async finishAndSave(sessionId, content, systemPrompt, sceneId) {
61
- const response = await this.simpleChat(content, systemPrompt);
62
- await this.sessions.addMessage(sessionId, { role: 'user', content });
63
- await this.sessions.addMessage(sessionId, { role: 'assistant', content: response });
64
- if (this.contextManager && sceneId) {
65
- this.contextManager.autoSummarizeIfNeeded(sceneId).catch(() => { });
66
- }
67
- return response;
68
- }
69
57
  async simpleChat(content, systemPrompt) {
70
58
  const provider = this.getProvider();
71
59
  const response = await this.chat({
@@ -78,21 +66,6 @@ export class AIService {
78
66
  const msgContent = response.choices[0]?.message?.content;
79
67
  return typeof msgContent === 'string' ? msgContent : '';
80
68
  }
81
- convertToolToAgentTool(tool) {
82
- const agentTool = {
83
- name: tool.name,
84
- description: tool.description,
85
- parameters: tool.parameters,
86
- execute: async (args) => tool.execute(args),
87
- };
88
- if (tool.tags?.length)
89
- agentTool.tags = tool.tags;
90
- if (tool.permissionLevel)
91
- agentTool.permissionLevel = PERM_MAP[tool.permissionLevel] ?? 0;
92
- if (tool.keywords?.length)
93
- agentTool.keywords = tool.keywords;
94
- return agentTool;
95
- }
96
69
  setSessionManager(manager) { this.sessions.dispose(); this.sessions = manager; }
97
70
  setContextManager(manager) {
98
71
  this.contextManager = manager;
@@ -100,7 +73,10 @@ export class AIService {
100
73
  if (defaultProvider)
101
74
  manager.setAIProvider(defaultProvider);
102
75
  }
103
- setPlugin(plugin) { this.plugin = plugin; }
76
+ setPlugin(plugin) {
77
+ this.plugin = plugin;
78
+ this.refreshBuiltinAgentTools();
79
+ }
104
80
  setModelRegistry(registry) { this._modelRegistry = registry; }
105
81
  getModelRegistry() { return this._modelRegistry; }
106
82
  registerTool(tool) { this.customTools.set(tool.name, tool); return () => { this.customTools.delete(tool.name); }; }
@@ -108,6 +84,22 @@ export class AIService {
108
84
  const tools = [...this.builtinTools, ...this.customTools.values()];
109
85
  return tools;
110
86
  }
87
+ /**
88
+ * IM / ZhinAgent 流水线用的常驻 Tool 实例(未经 normalize;与 ToolFeature 工具合并后由 collectRelevantTools 绑定 context)。
89
+ */
90
+ getResidentToolsAsTools() {
91
+ const tools = [createWebSearchTool()];
92
+ if (this.plugin)
93
+ tools.push(createAskUserTool(this.plugin));
94
+ return tools;
95
+ }
96
+ /** `web_search` 始终挂载;`ask_user` 在 {@link setPlugin} 之后挂载(依赖 Prompt / 中间件)。 */
97
+ refreshBuiltinAgentTools() {
98
+ const next = [normalizeTool(createWebSearchTool())];
99
+ if (this.plugin)
100
+ next.push(normalizeTool(createAskUserTool(this.plugin)));
101
+ this.builtinTools = next;
102
+ }
111
103
  getContextConfig() { return this.contextConfig; }
112
104
  getSessionConfig() { return this.sessionConfig; }
113
105
  getTriggerConfig() { return this.triggerConfig; }
@@ -168,7 +160,21 @@ export class AIService {
168
160
  }
169
161
  if (options.tools?.length)
170
162
  tools.push(...options.tools);
171
- return createAgent(provider, { model: options.model, systemPrompt: options.systemPrompt, tools, maxIterations: options.maxIterations });
163
+ const config = { ...DEFAULT_CONFIG, ...(this.agentConfig ?? {}) };
164
+ const model = options.model ?? provider.models[0];
165
+ const contextWindow = options.contextWindow ?? resolveContextBudget({
166
+ config,
167
+ provider,
168
+ modelRegistry: this._modelRegistry,
169
+ model,
170
+ }).contextWindow;
171
+ return createAgent(provider, {
172
+ model,
173
+ systemPrompt: options.systemPrompt,
174
+ tools,
175
+ maxIterations: options.maxIterations,
176
+ contextWindow,
177
+ });
172
178
  }
173
179
  async runAgent(task, options = {}) {
174
180
  const agent = this.createAgent(options);
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
package/lib/subagent.d.ts CHANGED
@@ -8,6 +8,7 @@
8
8
  * 4. 完成后将结果投递回主流程,由主 agent 摘要后发送到原始频道
9
9
  */
10
10
  import type { AIProvider, AgentTool } from '@zhin.js/core';
11
+ import type { ModelRegistry } from '@zhin.js/ai';
11
12
  import type { ZhinAgentConfig } from './zhin-agent/config.js';
12
13
  export interface SubagentOrigin {
13
14
  platform: string;
@@ -26,20 +27,25 @@ export interface SubagentManagerOptions {
26
27
  provider: AIProvider;
27
28
  workspace: string;
28
29
  createTools: () => AgentTool[];
30
+ subagentTools?: string[];
29
31
  maxIterations?: number;
30
32
  /** Exec policy config to enforce on subagent bash tools */
31
33
  execPolicyConfig?: Required<ZhinAgentConfig>;
34
+ modelRegistry?: ModelRegistry | null;
32
35
  }
33
36
  export declare class SubagentManager {
34
37
  private provider;
35
38
  private workspace;
36
39
  private createTools;
37
40
  private maxIterations;
41
+ private subagentTools;
38
42
  private execPolicyConfig;
43
+ private modelRegistry;
39
44
  private runningTasks;
40
45
  private resultSender;
41
46
  constructor(options: SubagentManagerOptions);
42
47
  setSender(sender: SubagentResultSender): void;
48
+ setModelRegistry(registry: ModelRegistry | null): void;
43
49
  spawn(options: SpawnOptions): Promise<string>;
44
50
  getRunningCount(): number;
45
51
  private runSubagent;
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,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;YAsCX,cAAc;IAwB5B,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,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,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACtC;AAMD,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,aAAa,CAAW;IAChC,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,YAAY,CAAqC;gBAE7C,OAAO,EAAE,sBAAsB;IAU3C,SAAS,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7C,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIhD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnD,eAAe,IAAI,MAAM;YAMX,WAAW;YA0DX,cAAc;IAwB5B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,IAAI,IAAI;CAGhB"}
package/lib/subagent.js CHANGED
@@ -11,22 +11,11 @@ import { randomUUID } from 'crypto';
11
11
  import { Logger } from '@zhin.js/core';
12
12
  import { createAgent } from '@zhin.js/ai';
13
13
  import { applyExecPolicyToTools } from './security/exec-policy.js';
14
+ import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from './reserved-tools.js';
15
+ import { resolveContextBudget } from './zhin-agent/context-budget.js';
16
+ import { createRestrictedToolView, DEFAULT_SUBAGENT_TOOL_NAMES } from './orchestrator/tool-selection.js';
14
17
  const logger = new Logger(null, 'Subagent');
15
18
  // ============================================================================
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
19
  // SubagentManager
31
20
  // ============================================================================
32
21
  export class SubagentManager {
@@ -34,7 +23,9 @@ export class SubagentManager {
34
23
  workspace;
35
24
  createTools;
36
25
  maxIterations;
26
+ subagentTools;
37
27
  execPolicyConfig;
28
+ modelRegistry;
38
29
  runningTasks = new Map();
39
30
  resultSender = null;
40
31
  constructor(options) {
@@ -42,11 +33,16 @@ export class SubagentManager {
42
33
  this.workspace = options.workspace;
43
34
  this.createTools = options.createTools;
44
35
  this.maxIterations = options.maxIterations ?? 15;
36
+ this.subagentTools = options.subagentTools || [];
45
37
  this.execPolicyConfig = options.execPolicyConfig ?? null;
38
+ this.modelRegistry = options.modelRegistry ?? null;
46
39
  }
47
40
  setSender(sender) {
48
41
  this.resultSender = sender;
49
42
  }
43
+ setModelRegistry(registry) {
44
+ this.modelRegistry = registry;
45
+ }
50
46
  async spawn(options) {
51
47
  const taskId = randomUUID().slice(0, 8);
52
48
  const displayLabel = options.label ||
@@ -71,15 +67,35 @@ export class SubagentManager {
71
67
  logger.info({ taskId, label }, 'Subagent starting task');
72
68
  try {
73
69
  const allTools = this.createTools();
74
- let tools = allTools.filter(t => SUBAGENT_ALLOWED_TOOLS.has(t.name));
70
+ let tools = createRestrictedToolView(allTools, {
71
+ allowedNames: this.subagentTools.length
72
+ ? this.subagentTools
73
+ : this.execPolicyConfig?.subagentTools?.length
74
+ ? this.execPolicyConfig.subagentTools
75
+ : DEFAULT_SUBAGENT_TOOL_NAMES,
76
+ disabledNames: this.execPolicyConfig?.disabledTools,
77
+ });
75
78
  if (this.execPolicyConfig) {
76
79
  tools = applyExecPolicyToTools(this.execPolicyConfig, tools);
77
80
  }
78
81
  const systemPrompt = this.buildSubagentPrompt(task);
82
+ const model = this.provider.models[0];
83
+ const contextBudget = this.execPolicyConfig
84
+ ? resolveContextBudget({
85
+ config: this.execPolicyConfig,
86
+ provider: this.provider,
87
+ modelRegistry: this.modelRegistry,
88
+ model,
89
+ })
90
+ : null;
79
91
  const agent = createAgent(this.provider, {
92
+ model,
80
93
  systemPrompt,
81
94
  tools,
82
95
  maxIterations: this.maxIterations,
96
+ reservedToolNames: RESERVED_TOOL_NAMES,
97
+ reservedToolNamePrefixes: RESERVED_TOOL_NAME_PREFIXES,
98
+ contextWindow: contextBudget?.contextWindow ?? this.provider.contextWindow,
83
99
  });
84
100
  try {
85
101
  const result = await agent.run(task);
@@ -125,6 +141,8 @@ ${task}
125
141
  2. Your final reply will be reported to the main agent and relayed to the user
126
142
  3. Do not start new conversations or take on extra tasks
127
143
  4. Keep replies concise but informative
144
+ 5. Never claim success unless tool results confirm it
145
+ 6. Do not fabricate tool outputs or execution status
128
146
 
129
147
  ## You may
130
148
  - Read/write files in the workspace
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../src/subagent.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export interface TaskExecutorDeps {
36
36
  sendMessage: (opts: SendOptions) => Promise<string>;
37
37
  } | undefined;
38
38
  }
39
+ export declare function cronContextToSendOptions(context: CronJobContext, content: string): SendOptions;
39
40
  export declare function createTaskExecutor(deps: TaskExecutorDeps): {
40
41
  executeTask: (options: TaskExecutionOptions) => Promise<TaskExecutionResult>;
41
42
  resolveAdapter: (platform: string) => {
@@ -1 +1 @@
1
- {"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AASvD,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,qFAAqF;IACrF,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;QAAE,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3G;AAiCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB;2BACnB,oBAAoB,KAAG,OAAO,CAAC,mBAAmB,CAAC;+BAnC5D,MAAM,KAAK;QAAE,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS;EAuG1G;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUvD,MAAM,WAAW,oBAAoB;IACnC,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,YAAY,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,qFAAqF;IACrF,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK;QAAE,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;CAC3G;AA6BD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,CAW9F;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB;2BACnB,oBAAoB,KAAG,OAAO,CAAC,mBAAmB,CAAC;+BAhD5D,MAAM,KAAK;QAAE,WAAW,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS;EA6G1G;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Logger } from '@zhin.js/core';
2
+ import { toSendOptions } from '@zhin.js/core/queue-im-field-contract';
2
3
  const logger = new Logger(null, 'task-executor');
3
4
  // ─────────────────────────────────────────────────────────────────────────────
4
5
  // Per-sceneId mutex lock
@@ -25,6 +26,19 @@ function elementsToText(elements) {
25
26
  return '';
26
27
  }).join('\n').trim();
27
28
  }
29
+ export function cronContextToSendOptions(context, content) {
30
+ if (!context.botId)
31
+ throw new Error('Missing cron delivery field: botId');
32
+ const sceneType = (context.scope || 'private');
33
+ const outboundDetail = {
34
+ context: context.platform || 'cron',
35
+ bot: context.botId,
36
+ channelId: context.sceneId || 'cron',
37
+ channelType: sceneType,
38
+ content,
39
+ };
40
+ return toSendOptions(outboundDetail);
41
+ }
28
42
  // ─────────────────────────────────────────────────────────────────────────────
29
43
  // Factory
30
44
  // ─────────────────────────────────────────────────────────────────────────────
@@ -69,14 +83,7 @@ export function createTaskExecutor(deps) {
69
83
  if (context.platform && context.botId && context.sceneId) {
70
84
  const adapter = deps.resolveAdapter(context.platform);
71
85
  if (adapter) {
72
- const sceneType = (context.scope || 'private');
73
- await adapter.sendMessage({
74
- context: context.platform,
75
- bot: context.botId,
76
- id: context.sceneId,
77
- type: sceneType,
78
- content: text,
79
- });
86
+ await adapter.sendMessage(cronContextToSendOptions(context, text));
80
87
  }
81
88
  else {
82
89
  logger.warn(`[TaskExecutor] 找不到适配器: ${context.platform}`);
@@ -1 +1 @@
1
- {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../src/task-executor.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,10 @@
4
4
  * 这些工具依赖运行时上下文(sessionId / userId / context),
5
5
  * 由 ZhinAgent.process() 按需创建并注入到工具列表中。
6
6
  */
7
- import type { ToolContext } from '@zhin.js/core';
8
7
  import type { AgentTool } from '@zhin.js/core';
9
8
  import type { ConversationMemory } from '@zhin.js/ai';
10
9
  import type { UserProfileStore } from '../user-profile.js';
11
- import type { SubagentManager } from '../subagent.js';
10
+ export { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
12
11
  export declare function createChatHistoryTool(sessionId: string, memory: ConversationMemory): AgentTool;
13
12
  export declare function createUserProfileTool(userId: string, profiles: UserProfileStore): AgentTool;
14
- export declare function createSpawnTaskTool(context: ToolContext, manager: SubagentManager): AgentTool;
15
13
  //# sourceMappingURL=builtin-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAEtE,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,mBAAmB,CACjC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,eAAe,GACvB,SAAS,CAyCX"}
1
+ {"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAyE9F;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAmD3F"}
@@ -4,9 +4,11 @@
4
4
  * 这些工具依赖运行时上下文(sessionId / userId / context),
5
5
  * 由 ZhinAgent.process() 按需创建并注入到工具列表中。
6
6
  */
7
+ export { createSpawnTaskTool } from '../builtin/spawn-task-tool.js';
7
8
  export function createChatHistoryTool(sessionId, memory) {
8
9
  return {
9
10
  name: 'chat_history',
11
+ source: 'builtin:context',
10
12
  description: '搜索与用户的历史聊天记录。可以按关键词搜索,也可以按对话轮次范围查询。当用户问到"之前聊过什么""我们讨论过什么"等回忆类问题时使用。',
11
13
  parameters: {
12
14
  type: 'object',
@@ -72,6 +74,7 @@ export function createChatHistoryTool(sessionId, memory) {
72
74
  export function createUserProfileTool(userId, profiles) {
73
75
  return {
74
76
  name: 'user_profile',
77
+ source: 'builtin:context',
75
78
  description: '读取或保存用户的个人偏好和信息。当用户告诉你他的名字、偏好、兴趣、习惯等个人信息时,用 set 操作保存。当需要了解用户偏好时,用 get 操作读取。',
76
79
  parameters: {
77
80
  type: 'object',
@@ -87,7 +90,7 @@ export function createUserProfileTool(userId, profiles) {
87
90
  },
88
91
  value: {
89
92
  type: 'string',
90
- description: '偏好值(仅 set 操作需要)',
93
+ description: '偏好值(仅 set 操作需要)。language / preferred_language 会影响回复与 web_search 的 Bing 市场语言。',
91
94
  },
92
95
  },
93
96
  required: ['action'],
@@ -122,44 +125,4 @@ export function createUserProfileTool(userId, profiles) {
122
125
  },
123
126
  };
124
127
  }
125
- export function createSpawnTaskTool(context, manager) {
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: 'spawn_task',
133
- description: '将复杂或耗时的任务交给后台子 agent 异步处理。子 agent 拥有文件读写、Shell、网络搜索等能力,完成后会自动通知用户。适用于需要多步操作的文件处理、代码分析、数据收集等任务。',
134
- parameters: {
135
- type: 'object',
136
- properties: {
137
- task: {
138
- type: 'string',
139
- description: '要交给子 agent 完成的任务描述(尽量详细,包含目标、范围、期望输出)',
140
- },
141
- label: {
142
- type: 'string',
143
- description: '任务的简短标签(用于显示,可选)',
144
- },
145
- },
146
- required: ['task'],
147
- },
148
- tags: ['agent', 'async', 'task', '后台', '子任务'],
149
- keywords: ['后台', '异步', '子任务', 'spawn', 'background', '并行', '独立处理'],
150
- async execute(args) {
151
- const { task, label } = args;
152
- if (!task)
153
- return '请提供任务描述';
154
- const origin = {
155
- platform,
156
- botId,
157
- sceneId,
158
- senderId,
159
- sceneType,
160
- };
161
- return manager.spawn({ task, label, origin });
162
- },
163
- };
164
- }
165
128
  //# sourceMappingURL=builtin-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin-tools.js","sourceRoot":"","sources":["../../src/zhin-agent/builtin-tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * ZhinAgent 配置、常量、类型定义
3
3
  */
4
4
  import type { RateLimitConfig } from '@zhin.js/ai';
5
+ import type { ModelHarnessConfig } from './model-harness.js';
5
6
  export type ModelSizeHint = 'small' | 'medium' | 'large';
6
7
  /**
7
8
  * Infer model size from model name string.
@@ -59,6 +60,12 @@ export interface ZhinAgentConfig {
59
60
  modelSizeHint?: '' | 'small' | 'medium' | 'large';
60
61
  /** 技能指令最大字符数(覆盖 modelSizeHint 推断值) */
61
62
  skillInstructionMaxChars?: number;
63
+ /** 模型级 harness 覆盖配置(按 model id / provider 模式) */
64
+ modelHarness?: ModelHarnessConfig;
65
+ /** 输出回合 phase 观测日志(或通过 ZHIN_AGENT_PHASE_TRACE 环境变量开启) */
66
+ phaseTrace?: boolean;
62
67
  }
63
68
  export declare const DEFAULT_CONFIG: Required<ZhinAgentConfig>;
69
+ /** `env` 参数主要用于测试注入,运行时默认读取 `process.env`。 */
70
+ export declare function isPhaseTraceEnabled(config: Required<ZhinAgentConfig>, env?: NodeJS.ProcessEnv): boolean;
64
71
  //# sourceMappingURL=config.d.ts.map