workerclaw 0.2.0

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 (224) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/dist/active-behavior/behavior-scheduler.d.ts +119 -0
  4. package/dist/active-behavior/behavior-scheduler.d.ts.map +1 -0
  5. package/dist/active-behavior/behavior-scheduler.js +297 -0
  6. package/dist/active-behavior/behavior-scheduler.js.map +1 -0
  7. package/dist/active-behavior/frequency-control.d.ts +72 -0
  8. package/dist/active-behavior/frequency-control.d.ts.map +1 -0
  9. package/dist/active-behavior/frequency-control.js +206 -0
  10. package/dist/active-behavior/frequency-control.js.map +1 -0
  11. package/dist/active-behavior/index.d.ts +8 -0
  12. package/dist/active-behavior/index.d.ts.map +1 -0
  13. package/dist/active-behavior/index.js +6 -0
  14. package/dist/active-behavior/index.js.map +1 -0
  15. package/dist/agent/agent-engine.d.ts +122 -0
  16. package/dist/agent/agent-engine.d.ts.map +1 -0
  17. package/dist/agent/agent-engine.js +380 -0
  18. package/dist/agent/agent-engine.js.map +1 -0
  19. package/dist/agent/context-window.d.ts +69 -0
  20. package/dist/agent/context-window.d.ts.map +1 -0
  21. package/dist/agent/context-window.js +210 -0
  22. package/dist/agent/context-window.js.map +1 -0
  23. package/dist/agent/llm-client.d.ts +37 -0
  24. package/dist/agent/llm-client.d.ts.map +1 -0
  25. package/dist/agent/llm-client.js +155 -0
  26. package/dist/agent/llm-client.js.map +1 -0
  27. package/dist/agent/personality.d.ts +71 -0
  28. package/dist/agent/personality.d.ts.map +1 -0
  29. package/dist/agent/personality.js +147 -0
  30. package/dist/agent/personality.js.map +1 -0
  31. package/dist/agent/session-manager.d.ts +111 -0
  32. package/dist/agent/session-manager.d.ts.map +1 -0
  33. package/dist/agent/session-manager.js +205 -0
  34. package/dist/agent/session-manager.js.map +1 -0
  35. package/dist/agent/tool-executor.d.ts +34 -0
  36. package/dist/agent/tool-executor.d.ts.map +1 -0
  37. package/dist/agent/tool-executor.js +145 -0
  38. package/dist/agent/tool-executor.js.map +1 -0
  39. package/dist/agent/tool-registry.d.ts +67 -0
  40. package/dist/agent/tool-registry.d.ts.map +1 -0
  41. package/dist/agent/tool-registry.js +272 -0
  42. package/dist/agent/tool-registry.js.map +1 -0
  43. package/dist/cli/configure.d.ts +16 -0
  44. package/dist/cli/configure.d.ts.map +1 -0
  45. package/dist/cli/configure.js +212 -0
  46. package/dist/cli/configure.js.map +1 -0
  47. package/dist/cli/index.d.ts +17 -0
  48. package/dist/cli/index.d.ts.map +1 -0
  49. package/dist/cli/index.js +256 -0
  50. package/dist/cli/index.js.map +1 -0
  51. package/dist/cli/prompter.d.ts +59 -0
  52. package/dist/cli/prompter.d.ts.map +1 -0
  53. package/dist/cli/prompter.js +120 -0
  54. package/dist/cli/prompter.js.map +1 -0
  55. package/dist/cli/sections/index.d.ts +9 -0
  56. package/dist/cli/sections/index.d.ts.map +1 -0
  57. package/dist/cli/sections/index.js +9 -0
  58. package/dist/cli/sections/index.js.map +1 -0
  59. package/dist/cli/sections/llm.d.ts +14 -0
  60. package/dist/cli/sections/llm.d.ts.map +1 -0
  61. package/dist/cli/sections/llm.js +155 -0
  62. package/dist/cli/sections/llm.js.map +1 -0
  63. package/dist/cli/sections/personality.d.ts +14 -0
  64. package/dist/cli/sections/personality.d.ts.map +1 -0
  65. package/dist/cli/sections/personality.js +90 -0
  66. package/dist/cli/sections/personality.js.map +1 -0
  67. package/dist/cli/sections/platform.d.ts +14 -0
  68. package/dist/cli/sections/platform.d.ts.map +1 -0
  69. package/dist/cli/sections/platform.js +179 -0
  70. package/dist/cli/sections/platform.js.map +1 -0
  71. package/dist/cli/sections/security.d.ts +14 -0
  72. package/dist/cli/sections/security.d.ts.map +1 -0
  73. package/dist/cli/sections/security.js +106 -0
  74. package/dist/cli/sections/security.js.map +1 -0
  75. package/dist/cli/sections/skills.d.ts +10 -0
  76. package/dist/cli/sections/skills.d.ts.map +1 -0
  77. package/dist/cli/sections/skills.js +149 -0
  78. package/dist/cli/sections/skills.js.map +1 -0
  79. package/dist/cli.d.ts +8 -0
  80. package/dist/cli.d.ts.map +1 -0
  81. package/dist/cli.js +116 -0
  82. package/dist/cli.js.map +1 -0
  83. package/dist/core/config.d.ts +175 -0
  84. package/dist/core/config.d.ts.map +1 -0
  85. package/dist/core/config.js +109 -0
  86. package/dist/core/config.js.map +1 -0
  87. package/dist/core/events.d.ts +211 -0
  88. package/dist/core/events.d.ts.map +1 -0
  89. package/dist/core/events.js +152 -0
  90. package/dist/core/events.js.map +1 -0
  91. package/dist/core/logger.d.ts +23 -0
  92. package/dist/core/logger.d.ts.map +1 -0
  93. package/dist/core/logger.js +53 -0
  94. package/dist/core/logger.js.map +1 -0
  95. package/dist/core/workerclaw.d.ts +83 -0
  96. package/dist/core/workerclaw.d.ts.map +1 -0
  97. package/dist/core/workerclaw.js +161 -0
  98. package/dist/core/workerclaw.js.map +1 -0
  99. package/dist/index.d.ts +27 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +21 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/ingress/message-parser.d.ts +36 -0
  104. package/dist/ingress/message-parser.d.ts.map +1 -0
  105. package/dist/ingress/message-parser.js +107 -0
  106. package/dist/ingress/message-parser.js.map +1 -0
  107. package/dist/ingress/miniabc-client.d.ts +109 -0
  108. package/dist/ingress/miniabc-client.d.ts.map +1 -0
  109. package/dist/ingress/miniabc-client.js +345 -0
  110. package/dist/ingress/miniabc-client.js.map +1 -0
  111. package/dist/ingress/platform-api.d.ts +82 -0
  112. package/dist/ingress/platform-api.d.ts.map +1 -0
  113. package/dist/ingress/platform-api.js +209 -0
  114. package/dist/ingress/platform-api.js.map +1 -0
  115. package/dist/sandbox/command-sandbox.d.ts +46 -0
  116. package/dist/sandbox/command-sandbox.d.ts.map +1 -0
  117. package/dist/sandbox/command-sandbox.js +144 -0
  118. package/dist/sandbox/command-sandbox.js.map +1 -0
  119. package/dist/sandbox/fs-sandbox.d.ts +56 -0
  120. package/dist/sandbox/fs-sandbox.d.ts.map +1 -0
  121. package/dist/sandbox/fs-sandbox.js +119 -0
  122. package/dist/sandbox/fs-sandbox.js.map +1 -0
  123. package/dist/sandbox/network-sandbox.d.ts +41 -0
  124. package/dist/sandbox/network-sandbox.d.ts.map +1 -0
  125. package/dist/sandbox/network-sandbox.js +114 -0
  126. package/dist/sandbox/network-sandbox.js.map +1 -0
  127. package/dist/security/content-scanner.d.ts +59 -0
  128. package/dist/security/content-scanner.d.ts.map +1 -0
  129. package/dist/security/content-scanner.js +289 -0
  130. package/dist/security/content-scanner.js.map +1 -0
  131. package/dist/security/gate.d.ts +78 -0
  132. package/dist/security/gate.d.ts.map +1 -0
  133. package/dist/security/gate.js +150 -0
  134. package/dist/security/gate.js.map +1 -0
  135. package/dist/security/permission-level.d.ts +68 -0
  136. package/dist/security/permission-level.d.ts.map +1 -0
  137. package/dist/security/permission-level.js +191 -0
  138. package/dist/security/permission-level.js.map +1 -0
  139. package/dist/security/rate-limiter.d.ts +52 -0
  140. package/dist/security/rate-limiter.d.ts.map +1 -0
  141. package/dist/security/rate-limiter.js +133 -0
  142. package/dist/security/rate-limiter.js.map +1 -0
  143. package/dist/security/source-verifier.d.ts +33 -0
  144. package/dist/security/source-verifier.d.ts.map +1 -0
  145. package/dist/security/source-verifier.js +106 -0
  146. package/dist/security/source-verifier.js.map +1 -0
  147. package/dist/skills/builtin/code.d.ts +27 -0
  148. package/dist/skills/builtin/code.d.ts.map +1 -0
  149. package/dist/skills/builtin/code.js +132 -0
  150. package/dist/skills/builtin/code.js.map +1 -0
  151. package/dist/skills/builtin/index.d.ts +12 -0
  152. package/dist/skills/builtin/index.d.ts.map +1 -0
  153. package/dist/skills/builtin/index.js +16 -0
  154. package/dist/skills/builtin/index.js.map +1 -0
  155. package/dist/skills/builtin/search.d.ts +27 -0
  156. package/dist/skills/builtin/search.d.ts.map +1 -0
  157. package/dist/skills/builtin/search.js +105 -0
  158. package/dist/skills/builtin/search.js.map +1 -0
  159. package/dist/skills/builtin/writing.d.ts +22 -0
  160. package/dist/skills/builtin/writing.d.ts.map +1 -0
  161. package/dist/skills/builtin/writing.js +93 -0
  162. package/dist/skills/builtin/writing.js.map +1 -0
  163. package/dist/skills/index.d.ts +11 -0
  164. package/dist/skills/index.d.ts.map +1 -0
  165. package/dist/skills/index.js +10 -0
  166. package/dist/skills/index.js.map +1 -0
  167. package/dist/skills/pack-loader.d.ts +31 -0
  168. package/dist/skills/pack-loader.d.ts.map +1 -0
  169. package/dist/skills/pack-loader.js +167 -0
  170. package/dist/skills/pack-loader.js.map +1 -0
  171. package/dist/skills/pack-registry.d.ts +40 -0
  172. package/dist/skills/pack-registry.d.ts.map +1 -0
  173. package/dist/skills/pack-registry.js +80 -0
  174. package/dist/skills/pack-registry.js.map +1 -0
  175. package/dist/skills/pack-types.d.ts +64 -0
  176. package/dist/skills/pack-types.d.ts.map +1 -0
  177. package/dist/skills/pack-types.js +7 -0
  178. package/dist/skills/pack-types.js.map +1 -0
  179. package/dist/skills/skill-registry.d.ts +83 -0
  180. package/dist/skills/skill-registry.d.ts.map +1 -0
  181. package/dist/skills/skill-registry.js +206 -0
  182. package/dist/skills/skill-registry.js.map +1 -0
  183. package/dist/skills/skill-runner.d.ts +49 -0
  184. package/dist/skills/skill-runner.d.ts.map +1 -0
  185. package/dist/skills/skill-runner.js +128 -0
  186. package/dist/skills/skill-runner.js.map +1 -0
  187. package/dist/skills/types.d.ts +94 -0
  188. package/dist/skills/types.d.ts.map +1 -0
  189. package/dist/skills/types.js +7 -0
  190. package/dist/skills/types.js.map +1 -0
  191. package/dist/task/concurrency.d.ts +87 -0
  192. package/dist/task/concurrency.d.ts.map +1 -0
  193. package/dist/task/concurrency.js +269 -0
  194. package/dist/task/concurrency.js.map +1 -0
  195. package/dist/task/task-evaluator.d.ts +52 -0
  196. package/dist/task/task-evaluator.d.ts.map +1 -0
  197. package/dist/task/task-evaluator.js +141 -0
  198. package/dist/task/task-evaluator.js.map +1 -0
  199. package/dist/task/task-manager.d.ts +112 -0
  200. package/dist/task/task-manager.d.ts.map +1 -0
  201. package/dist/task/task-manager.js +382 -0
  202. package/dist/task/task-manager.js.map +1 -0
  203. package/dist/task/task-state-machine.d.ts +63 -0
  204. package/dist/task/task-state-machine.d.ts.map +1 -0
  205. package/dist/task/task-state-machine.js +149 -0
  206. package/dist/task/task-state-machine.js.map +1 -0
  207. package/dist/types/agent.d.ts +79 -0
  208. package/dist/types/agent.d.ts.map +1 -0
  209. package/dist/types/agent.js +7 -0
  210. package/dist/types/agent.js.map +1 -0
  211. package/dist/types/index.d.ts +7 -0
  212. package/dist/types/index.d.ts.map +1 -0
  213. package/dist/types/index.js +5 -0
  214. package/dist/types/index.js.map +1 -0
  215. package/dist/types/message.d.ts +87 -0
  216. package/dist/types/message.d.ts.map +1 -0
  217. package/dist/types/message.js +30 -0
  218. package/dist/types/message.js.map +1 -0
  219. package/dist/types/task.d.ts +176 -0
  220. package/dist/types/task.d.ts.map +1 -0
  221. package/dist/types/task.js +5 -0
  222. package/dist/types/task.js.map +1 -0
  223. package/package.json +57 -0
  224. package/workerclaw.config.example.json +78 -0
@@ -0,0 +1,272 @@
1
+ /**
2
+ * 工具注册表
3
+ *
4
+ * 管理所有可用工具,按权限级别过滤
5
+ *
6
+ * 内置工具:
7
+ * read_only: llm_query
8
+ * limited: web_search, read_file
9
+ * standard: write_file, image_generate, data_analyze
10
+ * elevated: run_code, system_command
11
+ */
12
+ import { createLogger } from '../core/logger.js';
13
+ /** 权限级别排序(从低到高) */
14
+ const LEVEL_ORDER = ['read_only', 'limited', 'standard', 'elevated'];
15
+ function levelIndex(level) {
16
+ return LEVEL_ORDER.indexOf(level);
17
+ }
18
+ export class ToolRegistry {
19
+ logger = createLogger('ToolRegistry');
20
+ tools = new Map();
21
+ /**
22
+ * 注册工具
23
+ */
24
+ register(tool) {
25
+ if (this.tools.has(tool.name)) {
26
+ this.logger.warn(`工具 "${tool.name}" 已存在,将被覆盖`);
27
+ }
28
+ this.tools.set(tool.name, tool);
29
+ this.logger.debug(`注册工具: ${tool.name} (权限: ${tool.requiredLevel})`);
30
+ }
31
+ /**
32
+ * 注销工具
33
+ */
34
+ unregister(name) {
35
+ return this.tools.delete(name);
36
+ }
37
+ /**
38
+ * 获取指定权限级别允许的工具列表
39
+ */
40
+ getTools(level) {
41
+ const threshold = levelIndex(level);
42
+ return [...this.tools.values()].filter(tool => levelIndex(tool.requiredLevel) <= threshold);
43
+ }
44
+ /**
45
+ * 转换为 OpenAI function calling 格式
46
+ */
47
+ getToolsForLLM(level) {
48
+ return this.getTools(level).map(tool => ({
49
+ type: 'function',
50
+ function: {
51
+ name: tool.name,
52
+ description: tool.description,
53
+ parameters: tool.parameters,
54
+ },
55
+ }));
56
+ }
57
+ /**
58
+ * 检查工具是否允许在指定权限级别下使用
59
+ */
60
+ isToolAllowed(toolName, level) {
61
+ const tool = this.tools.get(toolName);
62
+ if (!tool)
63
+ return false;
64
+ return levelIndex(tool.requiredLevel) <= levelIndex(level);
65
+ }
66
+ /**
67
+ * 获取工具的执行器
68
+ */
69
+ getExecutor(toolName) {
70
+ return this.tools.get(toolName)?.executor;
71
+ }
72
+ /**
73
+ * 获取工具定义
74
+ */
75
+ getTool(name) {
76
+ return this.tools.get(name);
77
+ }
78
+ /**
79
+ * 获取所有已注册的工具名
80
+ */
81
+ getToolNames() {
82
+ return [...this.tools.keys()];
83
+ }
84
+ /**
85
+ * 获取统计信息
86
+ */
87
+ getStats() {
88
+ const byLevel = {
89
+ read_only: 0,
90
+ limited: 0,
91
+ standard: 0,
92
+ elevated: 0,
93
+ };
94
+ for (const tool of this.tools.values()) {
95
+ byLevel[tool.requiredLevel]++;
96
+ }
97
+ return { total: this.tools.size, byLevel };
98
+ }
99
+ }
100
+ /**
101
+ * 创建内置工具注册表
102
+ */
103
+ export function createBuiltinToolRegistry() {
104
+ const registry = new ToolRegistry();
105
+ const builtinTools = [
106
+ // === read_only 级别 ===
107
+ {
108
+ name: 'llm_query',
109
+ description: '调用 LLM 生成文本回复',
110
+ requiredLevel: 'read_only',
111
+ parameters: {
112
+ type: 'object',
113
+ properties: {
114
+ prompt: {
115
+ type: 'string',
116
+ description: '要发送给 LLM 的提示',
117
+ },
118
+ },
119
+ required: ['prompt'],
120
+ },
121
+ },
122
+ // === limited 级别 ===
123
+ {
124
+ name: 'web_search',
125
+ description: '搜索网络信息并返回摘要',
126
+ requiredLevel: 'limited',
127
+ parameters: {
128
+ type: 'object',
129
+ properties: {
130
+ query: {
131
+ type: 'string',
132
+ description: '搜索关键词',
133
+ },
134
+ maxResults: {
135
+ type: 'number',
136
+ description: '最大返回结果数(默认 5)',
137
+ },
138
+ },
139
+ required: ['query'],
140
+ },
141
+ },
142
+ {
143
+ name: 'read_file',
144
+ description: '读取文件内容',
145
+ requiredLevel: 'limited',
146
+ parameters: {
147
+ type: 'object',
148
+ properties: {
149
+ path: {
150
+ type: 'string',
151
+ description: '文件路径(相对于工作目录)',
152
+ },
153
+ },
154
+ required: ['path'],
155
+ },
156
+ },
157
+ // === standard 级别 ===
158
+ {
159
+ name: 'write_file',
160
+ description: '写入文件内容',
161
+ requiredLevel: 'standard',
162
+ parameters: {
163
+ type: 'object',
164
+ properties: {
165
+ path: {
166
+ type: 'string',
167
+ description: '文件路径(相对于工作目录)',
168
+ },
169
+ content: {
170
+ type: 'string',
171
+ description: '要写入的内容',
172
+ },
173
+ },
174
+ required: ['path', 'content'],
175
+ },
176
+ },
177
+ {
178
+ name: 'image_generate',
179
+ description: '使用 AI 生成图片',
180
+ requiredLevel: 'standard',
181
+ parameters: {
182
+ type: 'object',
183
+ properties: {
184
+ prompt: {
185
+ type: 'string',
186
+ description: '图片描述提示词',
187
+ },
188
+ size: {
189
+ type: 'string',
190
+ enum: ['256x256', '512x512', '1024x1024'],
191
+ description: '图片尺寸',
192
+ },
193
+ },
194
+ required: ['prompt'],
195
+ },
196
+ },
197
+ {
198
+ name: 'data_analyze',
199
+ description: '分析数据并生成报告',
200
+ requiredLevel: 'standard',
201
+ parameters: {
202
+ type: 'object',
203
+ properties: {
204
+ data: {
205
+ type: 'string',
206
+ description: '数据内容(CSV、JSON 等)',
207
+ },
208
+ analysis_type: {
209
+ type: 'string',
210
+ enum: ['summary', 'trend', 'comparison'],
211
+ description: '分析类型',
212
+ },
213
+ },
214
+ required: ['data'],
215
+ },
216
+ },
217
+ // === elevated 级别 ===
218
+ {
219
+ name: 'run_code',
220
+ description: '执行代码(JavaScript/Python)',
221
+ requiredLevel: 'elevated',
222
+ parameters: {
223
+ type: 'object',
224
+ properties: {
225
+ code: {
226
+ type: 'string',
227
+ description: '要执行的代码',
228
+ },
229
+ language: {
230
+ type: 'string',
231
+ enum: ['javascript', 'python'],
232
+ description: '编程语言',
233
+ },
234
+ timeout: {
235
+ type: 'number',
236
+ description: '超时时间(毫秒)',
237
+ },
238
+ },
239
+ required: ['code', 'language'],
240
+ },
241
+ },
242
+ {
243
+ name: 'system_command',
244
+ description: '执行系统命令(受限沙箱)',
245
+ requiredLevel: 'elevated',
246
+ parameters: {
247
+ type: 'object',
248
+ properties: {
249
+ command: {
250
+ type: 'string',
251
+ description: '要执行的命令',
252
+ },
253
+ args: {
254
+ type: 'array',
255
+ items: { type: 'string' },
256
+ description: '命令参数',
257
+ },
258
+ timeout: {
259
+ type: 'number',
260
+ description: '超时时间(毫秒)',
261
+ },
262
+ },
263
+ required: ['command'],
264
+ },
265
+ },
266
+ ];
267
+ for (const tool of builtinTools) {
268
+ registry.register(tool);
269
+ }
270
+ return registry;
271
+ }
272
+ //# sourceMappingURL=tool-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/agent/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAe,MAAM,mBAAmB,CAAC;AAG9D,mBAAmB;AACnB,MAAM,WAAW,GAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAExF,SAAS,UAAU,CAAC,KAAsB;IACxC,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,OAAO,YAAY;IACf,MAAM,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;IACtC,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,IAAoB;QAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAsB;QAC7B,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,SAAS,CACpD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAsB;QAQnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,EAAE,UAAmB;YACzB,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB,EAAE,KAAsB;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAgB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,OAAO,GAAoC;YAC/C,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IAEpC,MAAM,YAAY,GAAqB;QACrC,uBAAuB;QACvB;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,eAAe;YAC5B,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,cAAc;qBAC5B;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QAED,qBAAqB;QACrB;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,aAAa;YAC1B,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,OAAO;qBACrB;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,eAAe;qBAC7B;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,SAAS;YACxB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,eAAe;qBAC7B;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QAED,sBAAsB;QACtB;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,eAAe;qBAC7B;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,QAAQ;qBACtB;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;aAC9B;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,YAAY;YACzB,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,SAAS;qBACvB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC;wBACzC,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;aACrB;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kBAAkB;qBAChC;oBACD,aAAa,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC;wBACxC,WAAW,EAAE,MAAM;qBACpB;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;aACnB;SACF;QAED,sBAAsB;QACtB;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,yBAAyB;YACtC,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,QAAQ;qBACtB;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC;wBAC9B,WAAW,EAAE,MAAM;qBACpB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,UAAU;qBACxB;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;aAC/B;SACF;QACD;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,QAAQ;qBACtB;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,MAAM;qBACpB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,UAAU;qBACxB;iBACF;gBACD,QAAQ,EAAE,CAAC,SAAS,CAAC;aACtB;SACF;KACF,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * WorkerClaw CLI - 交互式配置向导主流程
3
+ *
4
+ * 类似 openclaw configure,引导用户完成所有配置
5
+ */
6
+ /** 默认平台地址 */
7
+ export declare const DEFAULT_PLATFORM_URL = "https://www.miniabc.top";
8
+ /** WorkerClaw 数据目录 */
9
+ export declare const WORKERCLAW_DIR: string;
10
+ /** 默认配置文件路径 */
11
+ export declare const DEFAULT_CONFIG_PATH: string;
12
+ /**
13
+ * 交互式配置向导
14
+ */
15
+ export declare function configureWizard(section?: string, configPath?: string): Promise<void>;
16
+ //# sourceMappingURL=configure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/cli/configure.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,aAAa;AACb,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAE9D,sBAAsB;AACtB,eAAO,MAAM,cAAc,QAAiC,CAAC;AAC7D,eAAe;AACf,eAAO,MAAM,mBAAmB,QAAsC,CAAC;AAKvE;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAuEf"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * WorkerClaw CLI - 交互式配置向导主流程
3
+ *
4
+ * 类似 openclaw configure,引导用户完成所有配置
5
+ */
6
+ import { intro, outro, select, confirm, spinner } from './prompter.js';
7
+ import { configurePlatform } from './sections/platform.js';
8
+ import { configureLLM } from './sections/llm.js';
9
+ import { configurePersonality } from './sections/personality.js';
10
+ import { configureSecurity } from './sections/security.js';
11
+ import { DEFAULT_CONFIG } from '../core/config.js';
12
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
13
+ import { homedir } from 'node:os';
14
+ import { join } from 'node:path';
15
+ /** 默认平台地址 */
16
+ export const DEFAULT_PLATFORM_URL = 'https://www.miniabc.top';
17
+ /** WorkerClaw 数据目录 */
18
+ export const WORKERCLAW_DIR = join(homedir(), '.workerclaw');
19
+ /** 默认配置文件路径 */
20
+ export const DEFAULT_CONFIG_PATH = join(WORKERCLAW_DIR, 'config.json');
21
+ /**
22
+ * 交互式配置向导
23
+ */
24
+ export async function configureWizard(section, configPath) {
25
+ intro('🦞 WorkerClaw 配置向导');
26
+ console.log(' 让我们快速配置你的打工虾!\n');
27
+ const cfgPath = configPath || DEFAULT_CONFIG_PATH;
28
+ const existingConfig = loadExistingConfig(cfgPath);
29
+ // 确定要配置的区域
30
+ const sections = resolveSections(section, existingConfig ?? undefined);
31
+ // 按顺序配置每个区域
32
+ const results = {};
33
+ for (const sec of sections) {
34
+ const spin = spinner();
35
+ switch (sec) {
36
+ case 'platform': {
37
+ spin.start('配置智工坊平台...');
38
+ spin.stop('');
39
+ const result = await configurePlatform(existingConfig?.platform);
40
+ if (!result) {
41
+ outro('配置已取消');
42
+ process.exit(0);
43
+ }
44
+ Object.assign(results, result);
45
+ break;
46
+ }
47
+ case 'llm': {
48
+ const result = await configureLLM(existingConfig?.llm);
49
+ if (!result) {
50
+ outro('配置已取消');
51
+ process.exit(0);
52
+ }
53
+ Object.assign(results, result);
54
+ break;
55
+ }
56
+ case 'personality': {
57
+ const result = await configurePersonality(existingConfig?.personality);
58
+ if (!result) {
59
+ outro('配置已取消');
60
+ process.exit(0);
61
+ }
62
+ Object.assign(results, result);
63
+ break;
64
+ }
65
+ case 'security': {
66
+ const result = await configureSecurity(existingConfig?.security);
67
+ if (!result) {
68
+ outro('配置已取消');
69
+ process.exit(0);
70
+ }
71
+ Object.assign(results, result);
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ // 合并配置
77
+ const finalConfig = buildFinalConfig(existingConfig, results);
78
+ // 确认保存
79
+ const shouldSave = await confirm('保存配置?', true);
80
+ if (!shouldSave) {
81
+ outro('配置未保存');
82
+ process.exit(0);
83
+ }
84
+ // 保存配置文件
85
+ saveConfig(cfgPath, finalConfig);
86
+ outro(`配置完成!运行 workerclaw start 启动。\n 配置文件: ${cfgPath}`);
87
+ }
88
+ /**
89
+ * 选择配置区域
90
+ */
91
+ async function chooseSections(existing) {
92
+ const sections = [
93
+ { value: 'platform', label: '智工坊平台', hint: '注册/配置平台连接' },
94
+ { value: 'llm', label: '大模型配置', hint: '选择 LLM 提供商和模型' },
95
+ { value: 'personality', label: '人格配置', hint: '名称、语气、简介' },
96
+ { value: 'security', label: '安全配置', hint: '权限级别、内容扫描' },
97
+ ];
98
+ // 如果没有现有配置,默认全选
99
+ if (!existing?.platform?.botId && !existing?.llm?.apiKey) {
100
+ return ['platform', 'llm', 'personality'];
101
+ }
102
+ const selected = await select('选择要配置的区域(空格多选)', sections, 'platform');
103
+ return selected ? [selected] : ['platform', 'llm', 'personality'];
104
+ }
105
+ /**
106
+ * 解析要配置的区域
107
+ */
108
+ function resolveSections(section, existing) {
109
+ if (section) {
110
+ return [section];
111
+ }
112
+ // 没有指定 section,根据现有配置判断需要配置什么
113
+ const needs = [];
114
+ if (!existing?.platform?.botId || !existing?.platform?.token) {
115
+ needs.push('platform');
116
+ }
117
+ if (!existing?.llm?.apiKey || !existing?.llm?.baseUrl) {
118
+ needs.push('llm');
119
+ }
120
+ if (!existing?.personality?.name) {
121
+ needs.push('personality');
122
+ }
123
+ // 如果都有配置,让用户选择
124
+ if (needs.length === 0) {
125
+ return ['platform', 'llm', 'personality'];
126
+ }
127
+ return needs;
128
+ }
129
+ /**
130
+ * 加载现有配置
131
+ */
132
+ function loadExistingConfig(configPath) {
133
+ try {
134
+ if (existsSync(configPath)) {
135
+ const content = readFileSync(configPath, 'utf-8');
136
+ return JSON.parse(content);
137
+ }
138
+ }
139
+ catch {
140
+ // 配置文件损坏,忽略
141
+ }
142
+ return null;
143
+ }
144
+ /**
145
+ * 构建最终配置
146
+ */
147
+ function buildFinalConfig(existing, newValues) {
148
+ return {
149
+ id: existing?.id || 'worker-' + Math.random().toString(36).slice(2, 8),
150
+ name: existing?.name || 'WorkerClaw',
151
+ platform: {
152
+ apiUrl: newValues.platform?.apiUrl || existing?.platform?.apiUrl || DEFAULT_PLATFORM_URL,
153
+ wsUrl: newValues.platform?.wsUrl || existing?.platform?.wsUrl || DEFAULT_PLATFORM_URL.replace(/^http/, 'ws'),
154
+ botId: newValues.platform?.botId || existing?.platform?.botId || '',
155
+ token: newValues.platform?.token || existing?.platform?.token || '',
156
+ agentName: newValues.platform?.agentName || existing?.platform?.agentName,
157
+ reconnect: newValues.platform?.reconnect || existing?.platform?.reconnect || {
158
+ maxRetries: 5,
159
+ baseDelayMs: 1000,
160
+ maxDelayMs: 30000,
161
+ },
162
+ },
163
+ llm: {
164
+ provider: 'deepseek',
165
+ model: 'deepseek-chat',
166
+ apiKey: '',
167
+ baseUrl: 'https://api.deepseek.com/v1',
168
+ safety: { maxTokens: 4096, temperature: 0.7, topP: 0.9 },
169
+ retry: { maxRetries: 3, backoffMs: 2000 },
170
+ ...existing?.llm,
171
+ ...newValues.llm,
172
+ },
173
+ security: {
174
+ ...DEFAULT_CONFIG.security,
175
+ ...existing?.security,
176
+ ...newValues.security,
177
+ },
178
+ task: {
179
+ ...DEFAULT_CONFIG.task,
180
+ ...existing?.task,
181
+ },
182
+ personality: {
183
+ ...DEFAULT_CONFIG.personality,
184
+ ...existing?.personality,
185
+ ...newValues.personality,
186
+ },
187
+ activeBehavior: {
188
+ ...DEFAULT_CONFIG.activeBehavior,
189
+ ...existing?.activeBehavior,
190
+ },
191
+ };
192
+ }
193
+ /**
194
+ * 保存配置文件
195
+ */
196
+ function saveConfig(configPath, config) {
197
+ const dir = join(configPath, '..');
198
+ if (!existsSync(dir)) {
199
+ mkdirSync(dir, { recursive: true });
200
+ }
201
+ // 隐藏敏感信息
202
+ const displayConfig = { ...config };
203
+ if (displayConfig.platform?.token) {
204
+ displayConfig.platform.token = displayConfig.platform.token.slice(0, 8) + '...';
205
+ }
206
+ if (displayConfig.llm?.apiKey) {
207
+ displayConfig.llm.apiKey = displayConfig.llm.apiKey.slice(0, 8) + '...';
208
+ }
209
+ // 保存实际配置(未隐藏)
210
+ writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
211
+ }
212
+ //# sourceMappingURL=configure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/cli/configure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * WorkerClaw CLI 入口
4
+ *
5
+ * 基于 citty 的命令行框架
6
+ *
7
+ * 用法:
8
+ * workerclaw configure # 交互式配置向导
9
+ * workerclaw configure --section llm # 配置指定区域
10
+ * workerclaw start [config-file] # 启动 WorkerClaw
11
+ * workerclaw status # 查看状态
12
+ * workerclaw skills list # 列出技能
13
+ * workerclaw skills install <pkg> # 安装技能包
14
+ * workerclaw skills uninstall <name> # 卸载技能包
15
+ */
16
+ export {};
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG"}