@zhin.js/agent 0.1.20 → 0.1.21

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 (125) hide show
  1. package/README.md +37 -23
  2. package/lib/agent-prompt/format.d.ts +6 -0
  3. package/lib/agent-prompt/format.d.ts.map +1 -0
  4. package/lib/agent-prompt/format.js +40 -0
  5. package/lib/agent-prompt/format.js.map +1 -0
  6. package/lib/agent-prompt/index.d.ts +5 -0
  7. package/lib/agent-prompt/index.d.ts.map +1 -0
  8. package/lib/agent-prompt/index.js +4 -0
  9. package/lib/agent-prompt/index.js.map +1 -0
  10. package/lib/agent-prompt/registry.d.ts +7 -0
  11. package/lib/agent-prompt/registry.d.ts.map +1 -0
  12. package/lib/agent-prompt/registry.js +23 -0
  13. package/lib/agent-prompt/registry.js.map +1 -0
  14. package/lib/agent-prompt/resolver.d.ts +12 -0
  15. package/lib/agent-prompt/resolver.d.ts.map +1 -0
  16. package/lib/agent-prompt/resolver.js +71 -0
  17. package/lib/agent-prompt/resolver.js.map +1 -0
  18. package/lib/builtin/run-deferred-task-tool.d.ts +20 -0
  19. package/lib/builtin/run-deferred-task-tool.d.ts.map +1 -0
  20. package/lib/builtin/run-deferred-task-tool.js +39 -0
  21. package/lib/builtin/run-deferred-task-tool.js.map +1 -0
  22. package/lib/builtin/tool-search-tool.d.ts +19 -0
  23. package/lib/builtin/tool-search-tool.d.ts.map +1 -0
  24. package/lib/builtin/tool-search-tool.js +54 -0
  25. package/lib/builtin/tool-search-tool.js.map +1 -0
  26. package/lib/builtin-tools.d.ts +1 -1
  27. package/lib/builtin-tools.d.ts.map +1 -1
  28. package/lib/builtin-tools.js +1 -5
  29. package/lib/builtin-tools.js.map +1 -1
  30. package/lib/deferred-worker-runner.d.ts +30 -0
  31. package/lib/deferred-worker-runner.d.ts.map +1 -0
  32. package/lib/deferred-worker-runner.js +149 -0
  33. package/lib/deferred-worker-runner.js.map +1 -0
  34. package/lib/deferred-worker-tool-load.d.ts +6 -0
  35. package/lib/deferred-worker-tool-load.d.ts.map +1 -0
  36. package/lib/deferred-worker-tool-load.js +5 -0
  37. package/lib/deferred-worker-tool-load.js.map +1 -0
  38. package/lib/hooks.d.ts +13 -0
  39. package/lib/hooks.d.ts.map +1 -1
  40. package/lib/hooks.js.map +1 -1
  41. package/lib/index.d.ts +3 -3
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/index.js +2 -3
  44. package/lib/index.js.map +1 -1
  45. package/lib/init/create-zhin-agent.d.ts.map +1 -1
  46. package/lib/init/create-zhin-agent.js +3 -1
  47. package/lib/init/create-zhin-agent.js.map +1 -1
  48. package/lib/init/register-mcp-from-config.d.ts +2 -0
  49. package/lib/init/register-mcp-from-config.d.ts.map +1 -0
  50. package/lib/init/register-mcp-from-config.js +84 -0
  51. package/lib/init/register-mcp-from-config.js.map +1 -0
  52. package/lib/init/register-mcp-memory-default.d.ts +2 -0
  53. package/lib/init/register-mcp-memory-default.d.ts.map +1 -0
  54. package/lib/init/register-mcp-memory-default.js +34 -0
  55. package/lib/init/register-mcp-memory-default.js.map +1 -0
  56. package/lib/init.d.ts.map +1 -1
  57. package/lib/init.js +4 -0
  58. package/lib/init.js.map +1 -1
  59. package/lib/mcp-client/index.d.ts +1 -2
  60. package/lib/mcp-client/index.d.ts.map +1 -1
  61. package/lib/mcp-client/index.js +1 -2
  62. package/lib/mcp-client/index.js.map +1 -1
  63. package/lib/orchestrator/mcp-lifecycle.d.ts +6 -0
  64. package/lib/orchestrator/mcp-lifecycle.d.ts.map +1 -0
  65. package/lib/orchestrator/mcp-lifecycle.js +7 -0
  66. package/lib/orchestrator/mcp-lifecycle.js.map +1 -0
  67. package/lib/orchestrator/mcp-registry.d.ts +5 -1
  68. package/lib/orchestrator/mcp-registry.d.ts.map +1 -1
  69. package/lib/orchestrator/mcp-registry.js +36 -20
  70. package/lib/orchestrator/mcp-registry.js.map +1 -1
  71. package/lib/orchestrator/owner-confirm-orchestration.d.ts +4 -1
  72. package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +1 -1
  73. package/lib/orchestrator/owner-confirm-orchestration.js.map +1 -1
  74. package/lib/orchestrator/tool-selection.d.ts +2 -0
  75. package/lib/orchestrator/tool-selection.d.ts.map +1 -1
  76. package/lib/orchestrator/tool-selection.js +33 -1
  77. package/lib/orchestrator/tool-selection.js.map +1 -1
  78. package/lib/reserved-tools.js +2 -2
  79. package/lib/reserved-tools.js.map +1 -1
  80. package/lib/security/bash-tool-context.d.ts +17 -2
  81. package/lib/security/bash-tool-context.d.ts.map +1 -1
  82. package/lib/security/bash-tool-context.js +9 -3
  83. package/lib/security/bash-tool-context.js.map +1 -1
  84. package/lib/security/exec-policy.d.ts.map +1 -1
  85. package/lib/security/exec-policy.js +4 -1
  86. package/lib/security/exec-policy.js.map +1 -1
  87. package/lib/subagent.js +3 -3
  88. package/lib/subagent.js.map +1 -1
  89. package/lib/utils/config-env.d.ts +5 -0
  90. package/lib/utils/config-env.d.ts.map +1 -0
  91. package/lib/utils/config-env.js +34 -0
  92. package/lib/utils/config-env.js.map +1 -0
  93. package/lib/zhin-agent/config.d.ts +18 -0
  94. package/lib/zhin-agent/config.d.ts.map +1 -1
  95. package/lib/zhin-agent/config.js +19 -0
  96. package/lib/zhin-agent/config.js.map +1 -1
  97. package/lib/zhin-agent/index.d.ts +8 -0
  98. package/lib/zhin-agent/index.d.ts.map +1 -1
  99. package/lib/zhin-agent/index.js +90 -6
  100. package/lib/zhin-agent/index.js.map +1 -1
  101. package/lib/zhin-agent/prompt.d.ts +6 -0
  102. package/lib/zhin-agent/prompt.d.ts.map +1 -1
  103. package/lib/zhin-agent/prompt.js +70 -15
  104. package/lib/zhin-agent/prompt.js.map +1 -1
  105. package/lib/zhin-agent/tool-catalog.d.ts +15 -0
  106. package/lib/zhin-agent/tool-catalog.d.ts.map +1 -0
  107. package/lib/zhin-agent/tool-catalog.js +52 -0
  108. package/lib/zhin-agent/tool-catalog.js.map +1 -0
  109. package/lib/zhin-agent/tool-runtime.d.ts +3 -1
  110. package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
  111. package/lib/zhin-agent/tool-runtime.js +14 -0
  112. package/lib/zhin-agent/tool-runtime.js.map +1 -1
  113. package/lib/zhin-agent/tool-search-orchestrator.d.ts +23 -0
  114. package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -0
  115. package/lib/zhin-agent/tool-search-orchestrator.js +86 -0
  116. package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -0
  117. package/package.json +13 -4
  118. package/lib/builtin/read-memory-tool.d.ts +0 -14
  119. package/lib/builtin/read-memory-tool.d.ts.map +0 -1
  120. package/lib/builtin/read-memory-tool.js +0 -49
  121. package/lib/builtin/read-memory-tool.js.map +0 -1
  122. package/lib/builtin/write-memory-tool.d.ts +0 -14
  123. package/lib/builtin/write-memory-tool.d.ts.map +0 -1
  124. package/lib/builtin/write-memory-tool.js +0 -50
  125. package/lib/builtin/write-memory-tool.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Deferred 工具目录统计(D1 prompt 用)
3
+ */
4
+ import type { AgentTool } from '@zhin.js/ai';
5
+ /** toolSearch 分区前去掉仅用于经典路径的技能工具 */
6
+ export declare function filterToolsForToolSearchCatalog(allTools: AgentTool[]): AgentTool[];
7
+ export declare function summarizeDeferredDomains(deferred: AgentTool[]): string;
8
+ export interface ToolSearchPartition {
9
+ orchestrator: AgentTool[];
10
+ deferred: AgentTool[];
11
+ domainStats: string;
12
+ }
13
+ /** 按常驻名拆分;未在 orchestrator 列表中的工具归入 deferred */
14
+ export declare function partitionToolsForToolSearch(allTools: AgentTool[], orchestratorNames: readonly string[]): ToolSearchPartition;
15
+ //# sourceMappingURL=tool-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-catalog.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-catalog.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,mCAAmC;AACnC,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAElF;AASD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAUtE;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,SAAS,EAAE,EACrB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,mBAAmB,CAwBrB"}
@@ -0,0 +1,52 @@
1
+ import { TOOL_SEARCH_EXCLUDED_TOOLS } from './config.js';
2
+ const EXCLUDED_FROM_TOOL_SEARCH = new Set(TOOL_SEARCH_EXCLUDED_TOOLS);
3
+ /** toolSearch 分区前去掉仅用于经典路径的技能工具 */
4
+ export function filterToolsForToolSearchCatalog(allTools) {
5
+ return allTools.filter(t => !EXCLUDED_FROM_TOOL_SEARCH.has(t.name));
6
+ }
7
+ function domainForToolName(name) {
8
+ if (name.startsWith('mcp_'))
9
+ return 'mcp';
10
+ if (name.startsWith('github_'))
11
+ return 'github';
12
+ if (name.startsWith('cron_'))
13
+ return 'cron';
14
+ return 'other';
15
+ }
16
+ export function summarizeDeferredDomains(deferred) {
17
+ const counts = new Map();
18
+ for (const tool of deferred) {
19
+ const domain = domainForToolName(tool.name);
20
+ counts.set(domain, (counts.get(domain) ?? 0) + 1);
21
+ }
22
+ const parts = [...counts.entries()]
23
+ .sort((a, b) => b[1] - a[1])
24
+ .map(([domain, count]) => `${domain}(${count})`);
25
+ return parts.length > 0 ? parts.join(', ') : 'none';
26
+ }
27
+ /** 按常驻名拆分;未在 orchestrator 列表中的工具归入 deferred */
28
+ export function partitionToolsForToolSearch(allTools, orchestratorNames) {
29
+ const orchSet = new Set(orchestratorNames.map(n => n.toLowerCase()));
30
+ const orchestrator = [];
31
+ const deferred = [];
32
+ const seenOrch = new Set();
33
+ for (const tool of allTools) {
34
+ const key = tool.name.toLowerCase();
35
+ if (orchSet.has(key)) {
36
+ if (!seenOrch.has(key)) {
37
+ orchestrator.push(tool);
38
+ seenOrch.add(key);
39
+ }
40
+ }
41
+ else if (!EXCLUDED_FROM_TOOL_SEARCH.has(tool.name)) {
42
+ deferred.push(tool);
43
+ }
44
+ }
45
+ // 常驻工具若未出现在 allTools 中,由调用方补注册
46
+ return {
47
+ orchestrator,
48
+ deferred,
49
+ domainStats: summarizeDeferredDomains(deferred),
50
+ };
51
+ }
52
+ //# sourceMappingURL=tool-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-catalog.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-catalog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS,0BAA0B,CAAC,CAAC;AAE9E,mCAAmC;AACnC,MAAM,UAAU,+BAA+B,CAAC,QAAqB;IACnE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAqB;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAQD,+CAA+C;AAC/C,MAAM,UAAU,2BAA2B,CACzC,QAAqB,EACrB,iBAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAgB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,WAAW,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAChD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentTool } from '@zhin.js/ai';
1
+ import { type AgentTool } from '@zhin.js/ai';
2
2
  import type { Tool, ToolContext } from '../orchestrator/types.js';
3
3
  import type { SkillRegistry } from '../orchestrator/skill-registry.js';
4
4
  import type { ZhinAgentConfig } from './config.js';
@@ -18,6 +18,8 @@ export interface CollectRuntimeToolsOptions {
18
18
  memory: ConversationMemory;
19
19
  userProfiles: UserProfileStore;
20
20
  subagentManager: SubagentManager | null;
21
+ /** MCP tools from connected servers (merged after skill/tool selection). */
22
+ mcpTools?: AgentTool[];
21
23
  }
22
24
  export declare function collectRuntimeTools(options: CollectRuntimeToolsOptions): AgentTool[];
23
25
  export interface ToolRunPlan {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAG7E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;CACzC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAwBpF;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnF"}
1
+ {"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAM7E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAmCpF;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnF"}
@@ -1,7 +1,11 @@
1
+ import { isReservedToolName } from '@zhin.js/ai';
2
+ import { Logger } from '@zhin.js/core';
1
3
  import { KEYWORD_TRIGGERS } from './config.js';
2
4
  import { createChatHistoryTool, createSpawnTaskTool, createUserProfileTool, } from './builtin-tools.js';
3
5
  import { runPreExecutableTools } from './pre-exec.js';
4
6
  import { sharedToolSelection } from '../orchestrator/tool-selection.js';
7
+ import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from '../reserved-tools.js';
8
+ const logger = new Logger(null, 'ToolRuntime');
5
9
  export function collectRuntimeTools(options) {
6
10
  const tools = sharedToolSelection.collectRelevantTools(options.content, options.context, options.externalTools, {
7
11
  config: options.config,
@@ -24,6 +28,16 @@ export function collectRuntimeTools(options) {
24
28
  if (options.subagentManager && KEYWORD_TRIGGERS.spawnTask.test(options.content)) {
25
29
  add(createSpawnTaskTool(options.context, options.subagentManager));
26
30
  }
31
+ for (const mcpTool of options.mcpTools ?? []) {
32
+ if (isReservedToolName(mcpTool.name, {
33
+ reservedNames: RESERVED_TOOL_NAMES,
34
+ reservedPrefixes: RESERVED_TOOL_NAME_PREFIXES,
35
+ })) {
36
+ logger.warn(`[MCP] Skipping tool "${mcpTool.name}": conflicts with reserved tool name`);
37
+ continue;
38
+ }
39
+ add(mcpTool);
40
+ }
27
41
  return tools;
28
42
  }
29
43
  export async function planToolRun(tools, timeoutMs) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAAyB,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAgBxE,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,KAAK,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE;QAC9G,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAkB,EAClB,SAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnE,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,YAAY;QACZ,kBAAkB;QAClB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,OAAe;IACzE,OAAO,GAAG,OAAO;;;EAGjB,OAAO;;sGAE6F,CAAC;AACvG,CAAC"}
1
+ {"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * toolSearch 模式下组装主编排 Agent 工具集
3
+ */
4
+ import type { AgentTool } from '@zhin.js/ai';
5
+ import type { ToolContext } from '../orchestrator/types.js';
6
+ import type { ZhinAgentConfig } from './config.js';
7
+ /** toolSearch 主编排:压缩 activate_skill 回执,避免长工具列表占满主会话 */
8
+ export declare function wrapActivateSkillForToolSearch(tool: AgentTool): AgentTool;
9
+ export declare function compactActivateSkillResultForToolSearch(full: string): string;
10
+ export interface BuildOrchestratorToolsParams {
11
+ allTools: AgentTool[];
12
+ config: Required<ZhinAgentConfig>;
13
+ context: ToolContext;
14
+ getDeferredCatalog: () => AgentTool[];
15
+ runWorker: (goal: string, toolQuery?: string) => Promise<string>;
16
+ }
17
+ export interface BuildOrchestratorToolsResult {
18
+ orchestratorTools: AgentTool[];
19
+ deferred: AgentTool[];
20
+ domainStats: string;
21
+ }
22
+ export declare function buildOrchestratorAgentTools(params: BuildOrchestratorToolsParams): BuildOrchestratorToolsResult;
23
+ //# sourceMappingURL=tool-search-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-search-orchestrator.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAczE;AASD,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB5E;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,MAAM,SAAS,EAAE,CAAC;IACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAuC9G"}
@@ -0,0 +1,86 @@
1
+ import { createRunDeferredTaskTool } from '../builtin/run-deferred-task-tool.js';
2
+ import { createToolSearchTool } from '../builtin/tool-search-tool.js';
3
+ import { normalizeTool } from '../orchestrator/tool-selection.js';
4
+ import { filterToolsForToolSearchCatalog, partitionToolsForToolSearch } from './tool-catalog.js';
5
+ /** toolSearch 主编排:压缩 activate_skill 回执,避免长工具列表占满主会话 */
6
+ export function wrapActivateSkillForToolSearch(tool) {
7
+ const inner = tool.execute;
8
+ if (!inner)
9
+ return tool;
10
+ return {
11
+ ...tool,
12
+ description: `${tool.description}(toolSearch:仅返回技能要点与建议 tool_query;执行须 run_deferred_task。)`,
13
+ execute: async (args) => {
14
+ const raw = await inner(args);
15
+ const text = typeof raw === 'string' ? raw : String(raw);
16
+ if (text.startsWith('Error:') || text.includes('not found'))
17
+ return text;
18
+ return compactActivateSkillResultForToolSearch(text);
19
+ },
20
+ };
21
+ }
22
+ const ORCHESTRATOR_SKILL_HINTS = {
23
+ icqq: {
24
+ toolQuery: 'mcp_icqq_icqq_invoke icqq_send_user_like friend_like',
25
+ note: 'QQ/icqq:优先 mcp_icqq_icqq_invoke(action=friend_like) 或 icqq_send_user_like;勿用 filesystem MCP。',
26
+ },
27
+ };
28
+ export function compactActivateSkillResultForToolSearch(full) {
29
+ const nameMatch = full.match(/Skill '([^']+)'/);
30
+ const name = nameMatch?.[1] ?? 'skill';
31
+ const toolsBlock = full.match(/tools:\s*\n((?:\s+-\s+.+\n?)+)/);
32
+ const toolNames = toolsBlock
33
+ ? [...toolsBlock[1].matchAll(/^\s+-\s+(\S+)/gm)].map(m => m[1])
34
+ : [];
35
+ const skillHint = ORCHESTRATOR_SKILL_HINTS[name];
36
+ const lines = [
37
+ `Skill '${name}' (orchestrator). Deferred tools run only via run_deferred_task.`,
38
+ ];
39
+ if (skillHint) {
40
+ lines.push(skillHint.note);
41
+ lines.push(`Suggested tool_query: ${skillHint.toolQuery}.`);
42
+ }
43
+ else if (toolNames.length > 0) {
44
+ const hint = toolNames.slice(0, 8).join(', ');
45
+ lines.push(`Suggested tool_query: ${hint}${toolNames.length > 8 ? ', …' : ''}.`);
46
+ }
47
+ const rules = full.match(/## (?:执行规则|快速操作|Quick\s*Actions)[\s\S]*?(?=\n## [^\s]|$)/i);
48
+ if (rules) {
49
+ const chunk = rules[0].trim();
50
+ lines.push(chunk.length > 400 ? `${chunk.slice(0, 400)}\n…` : chunk);
51
+ }
52
+ lines.push('Next: run_deferred_task(goal=user request, tool_query as above). Do not call activate_skill again.');
53
+ return lines.join('\n\n');
54
+ }
55
+ export function buildOrchestratorAgentTools(params) {
56
+ const { allTools, config, context, getDeferredCatalog, runWorker } = params;
57
+ const catalog = filterToolsForToolSearchCatalog(allTools);
58
+ const part = partitionToolsForToolSearch(catalog, config.toolSearchOrchestratorTools);
59
+ const byName = new Map();
60
+ for (const tool of part.orchestrator) {
61
+ byName.set(tool.name, normalizeTool(tool, context));
62
+ }
63
+ byName.set('tool_search', normalizeTool(createToolSearchTool({
64
+ getDeferredCatalog,
65
+ maxResults: config.toolSearchMaxResults,
66
+ }), context));
67
+ const runDeferred = normalizeTool(createRunDeferredTaskTool({ runWorker }), context);
68
+ runDeferred.timeout = Math.max(180_000, (config.timeout ?? 60_000) * 2);
69
+ byName.set('run_deferred_task', runDeferred);
70
+ const orchestratorTools = [];
71
+ for (const name of config.toolSearchOrchestratorTools) {
72
+ let tool = byName.get(name);
73
+ if (!tool)
74
+ continue;
75
+ if (name === 'activate_skill') {
76
+ tool = wrapActivateSkillForToolSearch(tool);
77
+ }
78
+ orchestratorTools.push(tool);
79
+ }
80
+ return {
81
+ orchestratorTools,
82
+ deferred: part.deferred,
83
+ domainStats: part.domainStats,
84
+ };
85
+ }
86
+ //# sourceMappingURL=tool-search-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-search-orchestrator.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/agent",
3
- "version": "0.1.20",
3
+ "version": "0.1.21",
4
4
  "description": "Zhin AI Agent — session, ZhinAgent, init; composes @zhin.js/core providers and tools",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -18,13 +18,22 @@
18
18
  "dependencies": {
19
19
  "he": "^1.2.0",
20
20
  "js-yaml": "^4.1.0",
21
- "@zhin.js/ai": "1.1.20",
22
- "@zhin.js/core": "1.1.22"
21
+ "@zhin.js/ai": "1.1.21",
22
+ "@zhin.js/core": "1.1.23"
23
+ },
24
+ "peerDependencies": {
25
+ "@modelcontextprotocol/sdk": "^1.29.0"
26
+ },
27
+ "peerDependenciesMeta": {
28
+ "@modelcontextprotocol/sdk": {
29
+ "optional": true
30
+ }
23
31
  },
24
32
  "devDependencies": {
33
+ "@modelcontextprotocol/sdk": "^1.29.0",
25
34
  "@types/he": "^1.2.3",
26
35
  "@types/js-yaml": "^4.0.9",
27
- "@types/node": "^25.7.0",
36
+ "@types/node": "^25.8.0",
28
37
  "rimraf": "^6.0.0",
29
38
  "typescript": "^6.0.3"
30
39
  },
@@ -1,14 +0,0 @@
1
- import type { Tool, ToolContext, ToolParametersSchema, ToolResult } from '@zhin.js/core';
2
- import { BuiltinBaseTool } from './builtin-base-tool.js';
3
- export declare const READ_MEMORY_PARAMETERS: ToolParametersSchema;
4
- export declare class ReadMemoryBuiltinTool extends BuiltinBaseTool {
5
- private readonly dataDir;
6
- readonly name = "read_memory";
7
- readonly description = "\u8BFB\u53D6\u6301\u4E45\u5316\u8BB0\u5FC6\uFF08AGENTS.md\uFF09\u3002\u8BB0\u5FC6\u8DE8\u4F1A\u8BDD\u4FDD\u6301\u3002scope: global\uFF08\u5171\u4EAB\uFF09\u6216 chat\uFF08\u6309\u804A\u5929\u9694\u79BB\uFF09";
8
- readonly parameters: ToolParametersSchema<Record<string, any>>;
9
- readonly kind = "memory";
10
- constructor(dataDir: string);
11
- run(args: Record<string, unknown>, _context?: ToolContext): Promise<ToolResult>;
12
- }
13
- export declare function createReadMemoryTool(dataDir: string): Tool;
14
- //# sourceMappingURL=read-memory-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-memory-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/read-memory-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,oBAWpC,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,eAAe;IAO5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,qNAC0C;IAC9D,QAAQ,CAAC,UAAU,4CAA0B;IAC7C,QAAQ,CAAC,IAAI,YAAY;gBAEI,OAAO,EAAE,MAAM;IAMtC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAWtF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D"}
@@ -1,49 +0,0 @@
1
- /**
2
- * read_memory — 读取持久化记忆(AGENTS.md)
3
- */
4
- import * as fs from 'node:fs';
5
- import * as path from 'node:path';
6
- import { errMsg } from '../discovery/utils.js';
7
- import { BuiltinBaseTool } from './builtin-base-tool.js';
8
- export const READ_MEMORY_PARAMETERS = {
9
- type: 'object',
10
- properties: {
11
- scope: {
12
- type: 'string',
13
- description: "'global' 或 'chat'(默认 chat)",
14
- enum: ['global', 'chat'],
15
- },
16
- chat_id: { type: 'string', description: '聊天 ID(chat scope 时使用)' },
17
- },
18
- required: ['scope'],
19
- };
20
- export class ReadMemoryBuiltinTool extends BuiltinBaseTool {
21
- dataDir;
22
- name = 'read_memory';
23
- description = '读取持久化记忆(AGENTS.md)。记忆跨会话保持。scope: global(共享)或 chat(按聊天隔离)';
24
- parameters = READ_MEMORY_PARAMETERS;
25
- kind = 'memory';
26
- constructor(dataDir) {
27
- super();
28
- this.dataDir = dataDir;
29
- this.tags.push('memory', 'agents');
30
- this.keywords.push('记忆', '记住', '回忆', '之前', '上次', 'memory');
31
- }
32
- async run(args, _context) {
33
- try {
34
- const memPath = args.scope === 'global'
35
- ? path.join(this.dataDir, 'AGENTS.md')
36
- : path.join(this.dataDir, 'groups', args.chat_id || 'default', 'AGENTS.md');
37
- if (!fs.existsSync(memPath))
38
- return 'No memory stored yet.';
39
- return await fs.promises.readFile(memPath, 'utf-8');
40
- }
41
- catch (e) {
42
- return `Error: ${errMsg(e)}`;
43
- }
44
- }
45
- }
46
- export function createReadMemoryTool(dataDir) {
47
- return new ReadMemoryBuiltinTool(dataDir).toTool();
48
- }
49
- //# sourceMappingURL=read-memory-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"read-memory-tool.js","sourceRoot":"","sources":["../../src/builtin/read-memory-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACzB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;KAClE;IACD,QAAQ,EAAE,CAAC,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAO3B;IANpB,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAClB,2DAA2D,CAAC;IACrD,UAAU,GAAG,sBAAsB,CAAC;IACpC,IAAI,GAAG,QAAQ,CAAC;IAEzB,YAA6B,OAAe;QAC1C,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAAQ;QAE1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,QAAsB;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAG,IAAI,CAAC,OAAkB,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,uBAAuB,CAAC;YAC5D,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC"}
@@ -1,14 +0,0 @@
1
- import type { Tool, ToolContext, ToolParametersSchema, ToolResult } from '@zhin.js/core';
2
- import { BuiltinBaseTool } from './builtin-base-tool.js';
3
- export declare const WRITE_MEMORY_PARAMETERS: ToolParametersSchema;
4
- export declare class WriteMemoryBuiltinTool extends BuiltinBaseTool {
5
- private readonly dataDir;
6
- readonly name = "write_memory";
7
- readonly description = "\u5199\u5165\u6301\u4E45\u5316\u8BB0\u5FC6\u3002\u5F53\u7528\u6237\u8BF4\"\u8BB0\u4F4F\u2026\"\u3001\"\u8BB0\u5F55\u2026\"\u65F6\u4F7F\u7528\u6B64\u5DE5\u5177";
8
- readonly parameters: ToolParametersSchema<Record<string, any>>;
9
- readonly kind = "memory";
10
- constructor(dataDir: string);
11
- run(args: Record<string, unknown>, _context?: ToolContext): Promise<ToolResult>;
12
- }
13
- export declare function createWriteMemoryTool(dataDir: string): Tool;
14
- //# sourceMappingURL=write-memory-tool.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-memory-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/write-memory-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,EAAE,oBAYrC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,eAAe;IAM7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,oKAAmC;IACvD,QAAQ,CAAC,UAAU,4CAA2B;IAC9C,QAAQ,CAAC,IAAI,YAAY;gBAEI,OAAO,EAAE,MAAM;IAMtC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAYtF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D"}
@@ -1,50 +0,0 @@
1
- /**
2
- * write_memory — 写入持久化记忆(AGENTS.md)
3
- */
4
- import * as fs from 'node:fs/promises';
5
- import * as path from 'node:path';
6
- import { errMsg } from '../discovery/utils.js';
7
- import { BuiltinBaseTool } from './builtin-base-tool.js';
8
- export const WRITE_MEMORY_PARAMETERS = {
9
- type: 'object',
10
- properties: {
11
- content: { type: 'string', description: '要保存的记忆内容(Markdown)' },
12
- scope: {
13
- type: 'string',
14
- description: "'global' 或 'chat'(默认 chat)",
15
- enum: ['global', 'chat'],
16
- },
17
- chat_id: { type: 'string', description: '聊天 ID' },
18
- },
19
- required: ['content'],
20
- };
21
- export class WriteMemoryBuiltinTool extends BuiltinBaseTool {
22
- dataDir;
23
- name = 'write_memory';
24
- description = '写入持久化记忆。当用户说"记住…"、"记录…"时使用此工具';
25
- parameters = WRITE_MEMORY_PARAMETERS;
26
- kind = 'memory';
27
- constructor(dataDir) {
28
- super();
29
- this.dataDir = dataDir;
30
- this.tags.push('memory', 'agents');
31
- this.keywords.push('记住', '保存', 'remember', '记录');
32
- }
33
- async run(args, _context) {
34
- try {
35
- const memPath = args.scope === 'global'
36
- ? path.join(this.dataDir, 'AGENTS.md')
37
- : path.join(this.dataDir, 'groups', args.chat_id || 'default', 'AGENTS.md');
38
- await fs.mkdir(path.dirname(memPath), { recursive: true });
39
- await fs.writeFile(memPath, String(args.content), 'utf-8');
40
- return `✅ Memory saved (${args.scope || 'chat'} scope)`;
41
- }
42
- catch (e) {
43
- return `Error: ${errMsg(e)}`;
44
- }
45
- }
46
- }
47
- export function createWriteMemoryTool(dataDir) {
48
- return new WriteMemoryBuiltinTool(dataDir).toTool();
49
- }
50
- //# sourceMappingURL=write-memory-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-memory-tool.js","sourceRoot":"","sources":["../../src/builtin/write-memory-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAyB;IAC3D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;QAC9D,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACzB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE;KAClD;IACD,QAAQ,EAAE,CAAC,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,OAAO,sBAAuB,SAAQ,eAAe;IAM5B;IALpB,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,+BAA+B,CAAC;IAC9C,UAAU,GAAG,uBAAuB,CAAC;IACrC,IAAI,GAAG,QAAQ,CAAC;IAEzB,YAA6B,OAAe;QAC1C,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAAQ;QAE1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,QAAsB;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAG,IAAI,CAAC,OAAkB,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1F,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO,mBAAoB,IAAI,CAAC,KAAgB,IAAI,MAAM,SAAS,CAAC;QACtE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC"}