@zhin.js/core 1.0.36 → 1.0.38

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 (196) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +57 -3
  3. package/lib/adapter.d.ts +11 -0
  4. package/lib/adapter.d.ts.map +1 -1
  5. package/lib/adapter.js +61 -0
  6. package/lib/adapter.js.map +1 -1
  7. package/lib/ai/index.d.ts +3 -39
  8. package/lib/ai/index.d.ts.map +1 -1
  9. package/lib/ai/index.js +2 -44
  10. package/lib/ai/index.js.map +1 -1
  11. package/lib/ai/types.d.ts +4 -3
  12. package/lib/ai/types.d.ts.map +1 -1
  13. package/lib/built/ai-trigger.js.map +1 -1
  14. package/lib/built/common-adapter-tools.d.ts +55 -0
  15. package/lib/built/common-adapter-tools.d.ts.map +1 -0
  16. package/lib/built/common-adapter-tools.js +158 -0
  17. package/lib/built/common-adapter-tools.js.map +1 -0
  18. package/lib/built/dispatcher.d.ts.map +1 -1
  19. package/lib/built/dispatcher.js +50 -46
  20. package/lib/built/dispatcher.js.map +1 -1
  21. package/lib/built/skill.d.ts.map +1 -1
  22. package/lib/built/skill.js +0 -1
  23. package/lib/built/skill.js.map +1 -1
  24. package/lib/built/tool.d.ts +3 -3
  25. package/lib/built/tool.d.ts.map +1 -1
  26. package/lib/built/tool.js.map +1 -1
  27. package/lib/feature.d.ts +16 -1
  28. package/lib/feature.d.ts.map +1 -1
  29. package/lib/feature.js +41 -2
  30. package/lib/feature.js.map +1 -1
  31. package/lib/index.d.ts +1 -0
  32. package/lib/index.d.ts.map +1 -1
  33. package/lib/index.js +2 -0
  34. package/lib/index.js.map +1 -1
  35. package/lib/plugin.d.ts +38 -1
  36. package/lib/plugin.d.ts.map +1 -1
  37. package/lib/plugin.js +73 -22
  38. package/lib/plugin.js.map +1 -1
  39. package/lib/scheduler/scheduler.js +1 -1
  40. package/lib/scheduler/scheduler.js.map +1 -1
  41. package/lib/types.d.ts +43 -28
  42. package/lib/types.d.ts.map +1 -1
  43. package/lib/utils.d.ts +12 -3
  44. package/lib/utils.d.ts.map +1 -1
  45. package/lib/utils.js +64 -54
  46. package/lib/utils.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/adapter.ts +85 -5
  49. package/src/ai/index.ts +8 -186
  50. package/src/ai/types.ts +5 -4
  51. package/src/built/ai-trigger.ts +2 -2
  52. package/src/built/common-adapter-tools.ts +207 -0
  53. package/src/built/dispatcher.ts +51 -52
  54. package/src/built/skill.ts +3 -4
  55. package/src/built/tool.ts +3 -3
  56. package/src/feature.ts +45 -2
  57. package/src/index.ts +2 -0
  58. package/src/plugin.ts +92 -31
  59. package/src/scheduler/scheduler.ts +1 -1
  60. package/src/types.ts +39 -28
  61. package/src/utils.ts +63 -52
  62. package/tests/ai/setup.ts +2 -2
  63. package/tests/utils.test.ts +1 -3
  64. package/lib/ai/agent.d.ts +0 -130
  65. package/lib/ai/agent.d.ts.map +0 -1
  66. package/lib/ai/agent.js +0 -684
  67. package/lib/ai/agent.js.map +0 -1
  68. package/lib/ai/bootstrap.d.ts +0 -91
  69. package/lib/ai/bootstrap.d.ts.map +0 -1
  70. package/lib/ai/bootstrap.js +0 -243
  71. package/lib/ai/bootstrap.js.map +0 -1
  72. package/lib/ai/builtin-tools.d.ts +0 -59
  73. package/lib/ai/builtin-tools.d.ts.map +0 -1
  74. package/lib/ai/builtin-tools.js +0 -777
  75. package/lib/ai/builtin-tools.js.map +0 -1
  76. package/lib/ai/compaction.d.ts +0 -132
  77. package/lib/ai/compaction.d.ts.map +0 -1
  78. package/lib/ai/compaction.js +0 -370
  79. package/lib/ai/compaction.js.map +0 -1
  80. package/lib/ai/context-manager.d.ts +0 -213
  81. package/lib/ai/context-manager.d.ts.map +0 -1
  82. package/lib/ai/context-manager.js +0 -313
  83. package/lib/ai/context-manager.js.map +0 -1
  84. package/lib/ai/conversation-memory.d.ts +0 -181
  85. package/lib/ai/conversation-memory.d.ts.map +0 -1
  86. package/lib/ai/conversation-memory.js +0 -581
  87. package/lib/ai/conversation-memory.js.map +0 -1
  88. package/lib/ai/cron-engine.d.ts +0 -92
  89. package/lib/ai/cron-engine.d.ts.map +0 -1
  90. package/lib/ai/cron-engine.js +0 -278
  91. package/lib/ai/cron-engine.js.map +0 -1
  92. package/lib/ai/follow-up.d.ts +0 -131
  93. package/lib/ai/follow-up.d.ts.map +0 -1
  94. package/lib/ai/follow-up.js +0 -265
  95. package/lib/ai/follow-up.js.map +0 -1
  96. package/lib/ai/hooks.d.ts +0 -143
  97. package/lib/ai/hooks.d.ts.map +0 -1
  98. package/lib/ai/hooks.js +0 -108
  99. package/lib/ai/hooks.js.map +0 -1
  100. package/lib/ai/init.d.ts +0 -30
  101. package/lib/ai/init.d.ts.map +0 -1
  102. package/lib/ai/init.js +0 -686
  103. package/lib/ai/init.js.map +0 -1
  104. package/lib/ai/output.d.ts +0 -93
  105. package/lib/ai/output.d.ts.map +0 -1
  106. package/lib/ai/output.js +0 -176
  107. package/lib/ai/output.js.map +0 -1
  108. package/lib/ai/rate-limiter.d.ts +0 -38
  109. package/lib/ai/rate-limiter.d.ts.map +0 -1
  110. package/lib/ai/rate-limiter.js +0 -86
  111. package/lib/ai/rate-limiter.js.map +0 -1
  112. package/lib/ai/service.d.ts +0 -88
  113. package/lib/ai/service.d.ts.map +0 -1
  114. package/lib/ai/service.js +0 -285
  115. package/lib/ai/service.js.map +0 -1
  116. package/lib/ai/session.d.ts +0 -186
  117. package/lib/ai/session.d.ts.map +0 -1
  118. package/lib/ai/session.js +0 -443
  119. package/lib/ai/session.js.map +0 -1
  120. package/lib/ai/subagent.d.ts +0 -50
  121. package/lib/ai/subagent.d.ts.map +0 -1
  122. package/lib/ai/subagent.js +0 -144
  123. package/lib/ai/subagent.js.map +0 -1
  124. package/lib/ai/tone-detector.d.ts +0 -19
  125. package/lib/ai/tone-detector.d.ts.map +0 -1
  126. package/lib/ai/tone-detector.js +0 -72
  127. package/lib/ai/tone-detector.js.map +0 -1
  128. package/lib/ai/tools.d.ts +0 -45
  129. package/lib/ai/tools.d.ts.map +0 -1
  130. package/lib/ai/tools.js +0 -206
  131. package/lib/ai/tools.js.map +0 -1
  132. package/lib/ai/user-profile.d.ts +0 -56
  133. package/lib/ai/user-profile.d.ts.map +0 -1
  134. package/lib/ai/user-profile.js +0 -130
  135. package/lib/ai/user-profile.js.map +0 -1
  136. package/lib/ai/zhin-agent/builtin-tools.d.ts +0 -17
  137. package/lib/ai/zhin-agent/builtin-tools.d.ts.map +0 -1
  138. package/lib/ai/zhin-agent/builtin-tools.js +0 -220
  139. package/lib/ai/zhin-agent/builtin-tools.js.map +0 -1
  140. package/lib/ai/zhin-agent/config.d.ts +0 -54
  141. package/lib/ai/zhin-agent/config.d.ts.map +0 -1
  142. package/lib/ai/zhin-agent/config.js +0 -76
  143. package/lib/ai/zhin-agent/config.js.map +0 -1
  144. package/lib/ai/zhin-agent/exec-policy.d.ts +0 -20
  145. package/lib/ai/zhin-agent/exec-policy.d.ts.map +0 -1
  146. package/lib/ai/zhin-agent/exec-policy.js +0 -71
  147. package/lib/ai/zhin-agent/exec-policy.js.map +0 -1
  148. package/lib/ai/zhin-agent/index.d.ts +0 -70
  149. package/lib/ai/zhin-agent/index.d.ts.map +0 -1
  150. package/lib/ai/zhin-agent/index.js +0 -404
  151. package/lib/ai/zhin-agent/index.js.map +0 -1
  152. package/lib/ai/zhin-agent/prompt.d.ts +0 -21
  153. package/lib/ai/zhin-agent/prompt.d.ts.map +0 -1
  154. package/lib/ai/zhin-agent/prompt.js +0 -111
  155. package/lib/ai/zhin-agent/prompt.js.map +0 -1
  156. package/lib/ai/zhin-agent/tool-collector.d.ts +0 -22
  157. package/lib/ai/zhin-agent/tool-collector.d.ts.map +0 -1
  158. package/lib/ai/zhin-agent/tool-collector.js +0 -218
  159. package/lib/ai/zhin-agent/tool-collector.js.map +0 -1
  160. package/src/ai/agent.ts +0 -812
  161. package/src/ai/bootstrap.ts +0 -309
  162. package/src/ai/builtin-tools.ts +0 -849
  163. package/src/ai/compaction.ts +0 -529
  164. package/src/ai/context-manager.ts +0 -440
  165. package/src/ai/conversation-memory.ts +0 -774
  166. package/src/ai/cron-engine.ts +0 -337
  167. package/src/ai/follow-up.ts +0 -357
  168. package/src/ai/hooks.ts +0 -223
  169. package/src/ai/init.ts +0 -762
  170. package/src/ai/output.ts +0 -261
  171. package/src/ai/rate-limiter.ts +0 -129
  172. package/src/ai/service.ts +0 -331
  173. package/src/ai/session.ts +0 -544
  174. package/src/ai/subagent.ts +0 -209
  175. package/src/ai/tone-detector.ts +0 -89
  176. package/src/ai/tools.ts +0 -218
  177. package/src/ai/user-profile.ts +0 -181
  178. package/src/ai/zhin-agent/builtin-tools.ts +0 -247
  179. package/src/ai/zhin-agent/config.ts +0 -113
  180. package/src/ai/zhin-agent/exec-policy.ts +0 -78
  181. package/src/ai/zhin-agent/index.ts +0 -512
  182. package/src/ai/zhin-agent/prompt.ts +0 -131
  183. package/src/ai/zhin-agent/tool-collector.ts +0 -243
  184. package/tests/ai/agent.test.ts +0 -614
  185. package/tests/ai/context-manager.test.ts +0 -413
  186. package/tests/ai/conversation-memory.test.ts +0 -128
  187. package/tests/ai/follow-up.test.ts +0 -175
  188. package/tests/ai/integration.test.ts +0 -584
  189. package/tests/ai/output.test.ts +0 -128
  190. package/tests/ai/rate-limiter.test.ts +0 -108
  191. package/tests/ai/session.test.ts +0 -375
  192. package/tests/ai/subagent.test.ts +0 -270
  193. package/tests/ai/tone-detector.test.ts +0 -80
  194. package/tests/ai/tools-builtin.test.ts +0 -346
  195. package/tests/ai/user-profile.test.ts +0 -73
  196. package/tests/ai/zhin-agent.test.ts +0 -177
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/ai/agent.ts"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Workspace Bootstrap Files
3
- *
4
- * Injectable prompt files inspired by OpenClaw's workspace bootstrap design:
5
- *
6
- * AGENTS.md — persistent memory / instructions (AI read-write)
7
- * SOUL.md — persona definition (read-only)
8
- * TOOLS.md — tool usage guidelines (read-only)
9
- *
10
- * Key design:
11
- * 1. mtime-based file cache to avoid redundant disk reads
12
- * 2. Missing files are silently skipped
13
- * 3. Per-file and total size limits to prevent prompt injection
14
- * 4. Unified ContextFile format for system prompt injection
15
- */
16
- /** 支持的引导文件名(顺序:SOUL → AGENTS → TOOLS) */
17
- export declare const BOOTSTRAP_FILENAMES: readonly ["SOUL.md", "AGENTS.md", "TOOLS.md"];
18
- export type BootstrapFileName = typeof BOOTSTRAP_FILENAMES[number];
19
- /** 引导文件信息 */
20
- export interface BootstrapFile {
21
- name: BootstrapFileName;
22
- path: string;
23
- content?: string;
24
- missing: boolean;
25
- }
26
- /** 上下文文件(用于注入到 system prompt) */
27
- export interface ContextFile {
28
- path: string;
29
- content: string;
30
- }
31
- /**
32
- * 清除文件缓存(热重载时调用)
33
- */
34
- export declare function clearBootstrapCache(): void;
35
- /**
36
- * 获取文件制长期记忆目录(data/memory),不存在则创建
37
- */
38
- export declare function getMemoryDir(workspaceDir?: string): string;
39
- /**
40
- * 读取文件制长期记忆 + 当日笔记,拼成注入 system prompt 的字符串(与 miniclawd 一致)
41
- * 同步读取,供 buildRichSystemPrompt 等同步调用
42
- */
43
- export declare function getFileMemoryContext(workspaceDir?: string): string;
44
- /**
45
- * 加载工作区引导文件
46
- *
47
- * 搜索顺序:项目根目录 → data/ 目录
48
- */
49
- export declare function loadBootstrapFiles(workspaceDir?: string): Promise<BootstrapFile[]>;
50
- /**
51
- * 将引导文件转为上下文文件列表(用于注入到 system prompt)
52
- *
53
- * 自动裁剪超长内容,跳过缺失文件
54
- */
55
- export declare function buildContextFiles(bootstrapFiles: BootstrapFile[], options?: {
56
- maxChars?: number;
57
- totalMaxChars?: number;
58
- }): ContextFile[];
59
- /**
60
- * 加载 SOUL.md 人格定义
61
- */
62
- export declare function loadSoulPersona(workspaceDir?: string): Promise<string | null>;
63
- /**
64
- * 加载 TOOLS.md 工具使用指引
65
- */
66
- export declare function loadToolsGuide(workspaceDir?: string): Promise<string | null>;
67
- /**
68
- * 加载 AGENTS.md 持久化记忆
69
- */
70
- export declare function loadAgentsMemory(workspaceDir?: string): Promise<string | null>;
71
- /**
72
- * 构建引导文件上下文段(注入到 system prompt 末尾)
73
- *
74
- * 格式与 OpenClaw 一致:
75
- * ```
76
- * # Project Context
77
- *
78
- * The following project context files have been loaded:
79
- * If SOUL.md is present, embody its persona and tone.
80
- *
81
- * ## SOUL.md
82
- *
83
- * <content>
84
- *
85
- * ## TOOLS.md
86
- *
87
- * <content>
88
- * ```
89
- */
90
- export declare function buildBootstrapContextSection(contextFiles: ContextFile[]): string;
91
- //# sourceMappingURL=bootstrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/ai/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,yCAAyC;AACzC,eAAO,MAAM,mBAAmB,+CAItB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAYnE,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AA8BD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAM1D;AAMD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBlE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC,CA6B1B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,aAAa,EAAE,EAC/B,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,WAAW,EAAE,CA8Bf;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAInF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIlF;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIpF;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,CAyBhF"}
@@ -1,243 +0,0 @@
1
- /**
2
- * Workspace Bootstrap Files
3
- *
4
- * Injectable prompt files inspired by OpenClaw's workspace bootstrap design:
5
- *
6
- * AGENTS.md — persistent memory / instructions (AI read-write)
7
- * SOUL.md — persona definition (read-only)
8
- * TOOLS.md — tool usage guidelines (read-only)
9
- *
10
- * Key design:
11
- * 1. mtime-based file cache to avoid redundant disk reads
12
- * 2. Missing files are silently skipped
13
- * 3. Per-file and total size limits to prevent prompt injection
14
- * 4. Unified ContextFile format for system prompt injection
15
- */
16
- import * as fs from 'fs';
17
- import * as path from 'path';
18
- import { Logger } from '@zhin.js/logger';
19
- const logger = new Logger(null, 'Bootstrap');
20
- // ============================================================================
21
- // 常量
22
- // ============================================================================
23
- /** 支持的引导文件名(顺序:SOUL → AGENTS → TOOLS) */
24
- export const BOOTSTRAP_FILENAMES = [
25
- 'SOUL.md',
26
- 'AGENTS.md',
27
- 'TOOLS.md',
28
- ];
29
- /** 单文件最大字符数(默认 16KB) */
30
- const DEFAULT_MAX_CHARS = 16 * 1024;
31
- /** 所有引导文件总最大字符数(默认 48KB) */
32
- const DEFAULT_TOTAL_MAX_CHARS = 48 * 1024;
33
- // ============================================================================
34
- // 文件缓存(基于 mtime)
35
- // ============================================================================
36
- const fileCache = new Map();
37
- /**
38
- * 读文件,带 mtime 缓存
39
- */
40
- async function readFileWithCache(filePath) {
41
- try {
42
- const stats = await fs.promises.stat(filePath);
43
- const mtimeMs = stats.mtimeMs;
44
- const cached = fileCache.get(filePath);
45
- if (cached && cached.mtimeMs === mtimeMs) {
46
- return cached.content;
47
- }
48
- const content = await fs.promises.readFile(filePath, 'utf-8');
49
- fileCache.set(filePath, { content, mtimeMs });
50
- return content;
51
- }
52
- catch {
53
- fileCache.delete(filePath);
54
- throw new Error(`Failed to read file: ${filePath}`);
55
- }
56
- }
57
- /**
58
- * 清除文件缓存(热重载时调用)
59
- */
60
- export function clearBootstrapCache() {
61
- fileCache.clear();
62
- }
63
- // ============================================================================
64
- // 文件加载
65
- // ============================================================================
66
- /**
67
- * 获取数据目录
68
- */
69
- function getDataDir(workspaceDir) {
70
- const cwd = workspaceDir || process.cwd();
71
- return path.join(cwd, 'data');
72
- }
73
- /**
74
- * 获取文件制长期记忆目录(data/memory),不存在则创建
75
- */
76
- export function getMemoryDir(workspaceDir) {
77
- const dir = path.join(getDataDir(workspaceDir), 'memory');
78
- if (!fs.existsSync(dir)) {
79
- fs.mkdirSync(dir, { recursive: true });
80
- }
81
- return dir;
82
- }
83
- function todayDate() {
84
- return new Date().toISOString().split('T')[0];
85
- }
86
- /**
87
- * 读取文件制长期记忆 + 当日笔记,拼成注入 system prompt 的字符串(与 miniclawd 一致)
88
- * 同步读取,供 buildRichSystemPrompt 等同步调用
89
- */
90
- export function getFileMemoryContext(workspaceDir) {
91
- const memoryDir = getMemoryDir(workspaceDir);
92
- const parts = [];
93
- const memoryFile = path.join(memoryDir, 'MEMORY.md');
94
- if (fs.existsSync(memoryFile)) {
95
- try {
96
- const longTerm = fs.readFileSync(memoryFile, 'utf-8').trim();
97
- if (longTerm)
98
- parts.push('## Long-term Memory\n' + longTerm);
99
- }
100
- catch {
101
- // ignore read errors
102
- }
103
- }
104
- const todayFile = path.join(memoryDir, `${todayDate()}.md`);
105
- if (fs.existsSync(todayFile)) {
106
- try {
107
- const today = fs.readFileSync(todayFile, 'utf-8').trim();
108
- if (today)
109
- parts.push("## Today's Notes\n" + today);
110
- }
111
- catch {
112
- // ignore read errors
113
- }
114
- }
115
- return parts.length > 0 ? parts.join('\n\n') : '';
116
- }
117
- /**
118
- * 加载工作区引导文件
119
- *
120
- * 搜索顺序:项目根目录 → data/ 目录
121
- */
122
- export async function loadBootstrapFiles(workspaceDir) {
123
- const cwd = workspaceDir || process.cwd();
124
- const dataDir = getDataDir(cwd);
125
- const result = [];
126
- for (const name of BOOTSTRAP_FILENAMES) {
127
- // 优先项目根目录
128
- const rootPath = path.join(cwd, name);
129
- const dataPath = path.join(dataDir, name);
130
- let found = false;
131
- for (const filePath of [rootPath, dataPath]) {
132
- try {
133
- const content = await readFileWithCache(filePath);
134
- result.push({ name, path: filePath, content, missing: false });
135
- found = true;
136
- break; // 找到就不再搜索
137
- }
138
- catch {
139
- // 继续尝试下一个路径
140
- }
141
- }
142
- if (!found) {
143
- result.push({ name, path: rootPath, missing: true });
144
- }
145
- }
146
- return result;
147
- }
148
- /**
149
- * 将引导文件转为上下文文件列表(用于注入到 system prompt)
150
- *
151
- * 自动裁剪超长内容,跳过缺失文件
152
- */
153
- export function buildContextFiles(bootstrapFiles, options) {
154
- const maxChars = options?.maxChars ?? DEFAULT_MAX_CHARS;
155
- const totalMaxChars = options?.totalMaxChars ?? DEFAULT_TOTAL_MAX_CHARS;
156
- const contextFiles = [];
157
- let totalChars = 0;
158
- for (const file of bootstrapFiles) {
159
- if (file.missing || !file.content)
160
- continue;
161
- let content = file.content.trim();
162
- if (!content)
163
- continue;
164
- // 单文件裁剪
165
- if (content.length > maxChars) {
166
- content = content.slice(0, maxChars) + '\n...(truncated)';
167
- logger.warn(`Bootstrap file ${file.name} exceeds ${maxChars} chars, truncated`);
168
- }
169
- // 总量限制
170
- if (totalChars + content.length > totalMaxChars) {
171
- logger.warn(`Bootstrap total exceeds ${totalMaxChars} chars, skipping ${file.name}`);
172
- break;
173
- }
174
- contextFiles.push({ path: file.name, content });
175
- totalChars += content.length;
176
- }
177
- return contextFiles;
178
- }
179
- /**
180
- * 加载 SOUL.md 人格定义
181
- */
182
- export async function loadSoulPersona(workspaceDir) {
183
- const files = await loadBootstrapFiles(workspaceDir);
184
- const soulFile = files.find(f => f.name === 'SOUL.md' && !f.missing);
185
- return soulFile?.content?.trim() || null;
186
- }
187
- /**
188
- * 加载 TOOLS.md 工具使用指引
189
- */
190
- export async function loadToolsGuide(workspaceDir) {
191
- const files = await loadBootstrapFiles(workspaceDir);
192
- const toolsFile = files.find(f => f.name === 'TOOLS.md' && !f.missing);
193
- return toolsFile?.content?.trim() || null;
194
- }
195
- /**
196
- * 加载 AGENTS.md 持久化记忆
197
- */
198
- export async function loadAgentsMemory(workspaceDir) {
199
- const files = await loadBootstrapFiles(workspaceDir);
200
- const agentsFile = files.find(f => f.name === 'AGENTS.md' && !f.missing);
201
- return agentsFile?.content?.trim() || null;
202
- }
203
- // ============================================================================
204
- // System Prompt 构建帮助函数
205
- // ============================================================================
206
- /**
207
- * 构建引导文件上下文段(注入到 system prompt 末尾)
208
- *
209
- * 格式与 OpenClaw 一致:
210
- * ```
211
- * # Project Context
212
- *
213
- * The following project context files have been loaded:
214
- * If SOUL.md is present, embody its persona and tone.
215
- *
216
- * ## SOUL.md
217
- *
218
- * <content>
219
- *
220
- * ## TOOLS.md
221
- *
222
- * <content>
223
- * ```
224
- */
225
- export function buildBootstrapContextSection(contextFiles) {
226
- if (contextFiles.length === 0)
227
- return '';
228
- const hasSoul = contextFiles.some(f => f.path.toLowerCase().endsWith('soul.md'));
229
- const lines = [
230
- '# Project Context',
231
- '',
232
- 'The following project context files have been loaded:',
233
- ];
234
- if (hasSoul) {
235
- lines.push('If SOUL.md is present, embody its persona and tone. Avoid generic responses.');
236
- }
237
- lines.push('');
238
- for (const file of contextFiles) {
239
- lines.push(`## ${file.path}`, '', file.content, '');
240
- }
241
- return lines.join('\n');
242
- }
243
- //# sourceMappingURL=bootstrap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/ai/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * AI 内置系统工具
3
- *
4
- * 借鉴 OpenClaw/MicroClaw 的实用工具设计,为 ZhinAgent 提供:
5
- *
6
- * 文件工具: read_file, write_file, edit_file, list_dir, glob, grep
7
- * Shell: bash
8
- * 网络: web_search, web_fetch
9
- * 计划: todo_read, todo_write
10
- * 记忆: read_memory, write_memory (AGENTS.md)
11
- * 技能: activate_skill, install_skill
12
- * 会话: session_status, compact_session
13
- * 技能发现: 工作区 skills/ 目录自动扫描
14
- * 引导文件: SOUL.md, TOOLS.md, AGENTS.md 自动加载
15
- */
16
- import { ZhinTool } from '../built/tool.js';
17
- export { loadSoulPersona, loadToolsGuide, loadAgentsMemory } from './bootstrap.js';
18
- export interface BuiltinToolsOptions {
19
- /** Max chars for skill instruction extraction (model-size-aware) */
20
- skillInstructionMaxChars?: number;
21
- }
22
- /**
23
- * 创建所有内置系统工具
24
- */
25
- export declare function createBuiltinTools(options?: BuiltinToolsOptions): ZhinTool[];
26
- export interface SkillMeta {
27
- name: string;
28
- description: string;
29
- keywords?: string[];
30
- tags?: string[];
31
- /** SKILL.md frontmatter 中声明的关联工具名列表 */
32
- toolNames?: string[];
33
- filePath: string;
34
- /** 是否常驻注入 system prompt(frontmatter always: true) */
35
- always?: boolean;
36
- /** 当前环境是否满足依赖(bins/env) */
37
- available?: boolean;
38
- /** 缺失的依赖描述(如 "CLI: ffmpeg", "ENV: API_KEY") */
39
- requiresMissing?: string[];
40
- }
41
- /**
42
- * 扫描技能目录,发现 SKILL.md 技能文件
43
- * 加载顺序:Workspace(cwd/skills)> Local(~/.zhin/skills)> Bundled(data/skills),同名先发现者优先
44
- * 支持平台/依赖兼容性过滤。内置技能由 create-zhin 在创建项目时写入 skills/summarize 等。
45
- */
46
- export declare function discoverWorkspaceSkills(): Promise<SkillMeta[]>;
47
- /**
48
- * 获取 frontmatter 中 always: true 的技能名列表(用于常驻注入 system prompt)
49
- */
50
- export declare function getAlwaysSkillNames(skills: SkillMeta[]): string[];
51
- /**
52
- * 加载 always 技能的正文内容并拼接为「Active Skills」段
53
- */
54
- export declare function loadAlwaysSkillsContent(skills: SkillMeta[]): Promise<string>;
55
- /**
56
- * 构建技能列表的 XML 摘要,供 model 区分可用/不可用及缺失依赖
57
- */
58
- export declare function buildSkillsSummaryXML(skills: SkillMeta[]): string;
59
- //# sourceMappingURL=builtin-tools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtin-tools.d.ts","sourceRoot":"","sources":["../../src/ai/builtin-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAqCnF,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,QAAQ,EAAE,CA+c5E;AAmHD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAoHpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAEjE;AAaD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAclF;AAOD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAgBjE"}