yuangs 5.57.0 → 5.59.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.
@@ -0,0 +1,504 @@
1
+ "use strict";
2
+ /**
3
+ * 工具能力规范 (Tool Capability Specification)
4
+ * -----------------------------------------
5
+ * 定义每个工具的元数据、能力要求和使用规范
6
+ *
7
+ * 目的:
8
+ * 1. 建立工具与能力等级的硬性依赖关系
9
+ * 2. 提供工具的 JSON Schema 定义用于 LLM 理解
10
+ * 3. 统一工具的错误处理和重试策略
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.TOOL_CAPABILITY_MAP = exports.ToolCategory = void 0;
14
+ exports.canExecuteTool = canExecuteTool;
15
+ exports.getToolCapabilityRequirement = getToolCapabilityRequirement;
16
+ exports.getAvailableToolsForCapability = getAvailableToolsForCapability;
17
+ exports.getToolJSONSchema = getToolJSONSchema;
18
+ exports.generateToolDefinitionsPrompt = generateToolDefinitionsPrompt;
19
+ const CapabilityLevel_1 = require("../core/capability/CapabilityLevel");
20
+ /**
21
+ * 工具类别枚举
22
+ */
23
+ var ToolCategory;
24
+ (function (ToolCategory) {
25
+ ToolCategory["FILE_IO"] = "file_io";
26
+ ToolCategory["FILE_SEARCH"] = "file_search";
27
+ ToolCategory["CODE_ANALYSIS"] = "code_analysis";
28
+ ToolCategory["GIT_OPERATION"] = "git_operation";
29
+ ToolCategory["SYSTEM"] = "system";
30
+ ToolCategory["NETWORK"] = "network"; // 网络操作
31
+ })(ToolCategory || (exports.ToolCategory = ToolCategory = {}));
32
+ /**
33
+ * 工具能力映射表
34
+ * 定义每个工具所需的最小能力等级
35
+ */
36
+ exports.TOOL_CAPABILITY_MAP = {
37
+ // ===== 基础文件操作 =====
38
+ read_file: {
39
+ name: 'read_file',
40
+ category: ToolCategory.FILE_IO,
41
+ description: '读取指定路径的文件内容',
42
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
43
+ parameters: [
44
+ { name: 'path', type: 'string', description: '文件路径(绝对路径或相对路径)', required: true },
45
+ { name: 'encoding', type: 'string', description: '文件编码,默认 utf-8', required: false, default: 'utf-8' }
46
+ ],
47
+ returns: '文件内容字符串',
48
+ examples: [
49
+ {
50
+ description: '读取配置文件',
51
+ parameters: { path: 'package.json' },
52
+ expectedResult: 'package.json 的内容'
53
+ }
54
+ ],
55
+ riskLevel: 'low',
56
+ retryable: true,
57
+ maxRetries: 3
58
+ },
59
+ read_file_lines: {
60
+ name: 'read_file_lines',
61
+ category: ToolCategory.FILE_IO,
62
+ description: '读取文件的指定行范围,用于处理大文件。注意:如果要读取倒数N行,需要先用 file_info 或 shell_cmd (wc -l) 获取总行数,然后计算 start_line = 总行数 - N + 1',
63
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
64
+ parameters: [
65
+ { name: 'path', type: 'string', description: '文件路径', required: true },
66
+ { name: 'start_line', type: 'number', description: '起始行号(从1开始,不是0)。如果要读取倒数第N行,需要计算:总行数 - N + 1', required: true },
67
+ { name: 'end_line', type: 'number', description: '结束行号(包含),可选,默认到文件末尾', required: false },
68
+ { name: 'encoding', type: 'string', description: '文件编码,默认 utf-8', required: false, default: 'utf-8' }
69
+ ],
70
+ returns: '指定行范围的内容,带行号',
71
+ examples: [
72
+ {
73
+ description: '读取文件前50行',
74
+ parameters: { path: 'large-file.log', start_line: 1, end_line: 50 },
75
+ expectedResult: '文件第1-50行的内容'
76
+ },
77
+ {
78
+ description: '读取文件倒数10行(假设文件有100行):start_line = 100 - 10 + 1 = 91',
79
+ parameters: { path: 'src/agent/executor.ts', start_line: 91, end_line: 100 },
80
+ expectedResult: '文件第91-100行(倒数10行)'
81
+ }
82
+ ],
83
+ riskLevel: 'low',
84
+ retryable: true,
85
+ maxRetries: 3
86
+ },
87
+ read_file_lines_from_end: {
88
+ name: 'read_file_lines_from_end',
89
+ category: ToolCategory.FILE_IO,
90
+ description: '从文件末尾读取指定行数(倒数行)。这是读取倒数N行的直接工具,无需计算行号。例如:读取倒数第5行到第10行,使用 count=10, start_offset=4',
91
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
92
+ parameters: [
93
+ { name: 'path', type: 'string', description: '文件路径', required: true },
94
+ { name: 'count', type: 'number', description: '要读取的行数,默认 10', required: false, default: 10 },
95
+ { name: 'start_offset', type: 'number', description: '从倒数第几行开始(0表示从最后一行开始)。例如:读取倒数第5行到第10行,使用 count=10, start_offset=4(从倒数第10行开始,共读取10行)', required: false, default: 0 },
96
+ { name: 'encoding', type: 'string', description: '文件编码,默认 utf-8', required: false, default: 'utf-8' }
97
+ ],
98
+ returns: '从文件末尾开始的内容,带行号',
99
+ examples: [
100
+ {
101
+ description: '读取文件最后10行',
102
+ parameters: { path: 'verify.sh', count: 10 },
103
+ expectedResult: 'verify.sh 的最后10行'
104
+ },
105
+ {
106
+ description: '读取文件倒数第5行到第10行(从倒数第10行开始,读取10行)',
107
+ parameters: { path: 'verify.sh', count: 10, start_offset: 4 },
108
+ expectedResult: 'verify.sh 的倒数第5行到第10行'
109
+ },
110
+ {
111
+ description: '读取文件最后5行',
112
+ parameters: { path: 'verify.sh', count: 5, start_offset: 0 },
113
+ expectedResult: 'verify.sh 的最后5行'
114
+ }
115
+ ],
116
+ riskLevel: 'low',
117
+ retryable: true,
118
+ maxRetries: 3
119
+ },
120
+ write_file: {
121
+ name: 'write_file',
122
+ category: ToolCategory.FILE_IO,
123
+ description: '创建或覆盖文件内容',
124
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
125
+ parameters: [
126
+ { name: 'path', type: 'string', description: '文件路径', required: true },
127
+ { name: 'content', type: 'string', description: '文件内容', required: true },
128
+ { name: 'encoding', type: 'string', description: '文件编码,默认 utf-8', required: false, default: 'utf-8' }
129
+ ],
130
+ returns: '写入成功的确认信息',
131
+ examples: [
132
+ {
133
+ description: '创建新文件',
134
+ parameters: { path: 'output.txt', content: 'Hello World' },
135
+ expectedResult: 'Successfully wrote output.txt'
136
+ }
137
+ ],
138
+ riskLevel: 'medium',
139
+ retryable: false,
140
+ maxRetries: 0
141
+ },
142
+ append_file: {
143
+ name: 'append_file',
144
+ category: ToolCategory.FILE_IO,
145
+ description: '向文件末尾追加内容',
146
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
147
+ parameters: [
148
+ { name: 'path', type: 'string', description: '文件路径', required: true },
149
+ { name: 'content', type: 'string', description: '要追加的内容', required: true },
150
+ { name: 'encoding', type: 'string', description: '文件编码,默认 utf-8', required: false, default: 'utf-8' }
151
+ ],
152
+ returns: '追加成功的确认信息',
153
+ examples: [
154
+ {
155
+ description: '向日志文件追加内容',
156
+ parameters: { path: 'app.log', content: 'New log entry\n' },
157
+ expectedResult: 'Successfully appended to app.log'
158
+ }
159
+ ],
160
+ riskLevel: 'medium',
161
+ retryable: true,
162
+ maxRetries: 2
163
+ },
164
+ // ===== 文件搜索和列表 =====
165
+ list_files: {
166
+ name: 'list_files',
167
+ category: ToolCategory.FILE_SEARCH,
168
+ description: '列出指定目录下的文件和子目录',
169
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
170
+ parameters: [
171
+ { name: 'path', type: 'string', description: '目录路径,默认当前目录', required: false, default: '.' },
172
+ { name: 'recursive', type: 'boolean', description: '是否递归列出子目录,默认 false', required: false, default: false },
173
+ { name: 'pattern', type: 'string', description: '文件名模式过滤(如 *.ts),默认不过滤', required: false },
174
+ { name: 'exclude_dirs', type: 'array', description: '要排除的目录名列表(如 node_modules)', required: false, default: [] }
175
+ ],
176
+ returns: '文件和目录列表的 JSON',
177
+ examples: [
178
+ {
179
+ description: '列出 src 目录下的 TypeScript 文件',
180
+ parameters: { path: 'src', recursive: true, pattern: '*.ts', exclude_dirs: ['node_modules'] },
181
+ expectedResult: 'src 目录下所有 .ts 文件的列表'
182
+ }
183
+ ],
184
+ riskLevel: 'low',
185
+ retryable: true,
186
+ maxRetries: 3
187
+ },
188
+ list_directory_tree: {
189
+ name: 'list_directory_tree',
190
+ category: ToolCategory.FILE_SEARCH,
191
+ description: '生成目录结构的树形展示,便于理解项目结构',
192
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
193
+ parameters: [
194
+ { name: 'path', type: 'string', description: '目录路径,默认当前目录', required: false, default: '.' },
195
+ { name: 'max_depth', type: 'number', description: '最大递归深度,默认 3', required: false, default: 3 },
196
+ { name: 'include_files', type: 'boolean', description: '是否包含文件,默认 true', required: false, default: true },
197
+ { name: 'exclude_patterns', type: 'array', description: '要排除的路径模式列表', required: false, default: ['node_modules', '.git', 'dist', 'build'] }
198
+ ],
199
+ returns: '目录结构的树形文本',
200
+ examples: [
201
+ {
202
+ description: '生成项目目录树',
203
+ parameters: { path: '.', max_depth: 3 },
204
+ expectedResult: '项目的树形目录结构'
205
+ }
206
+ ],
207
+ riskLevel: 'low',
208
+ retryable: true,
209
+ maxRetries: 3
210
+ },
211
+ search_in_files: {
212
+ name: 'search_in_files',
213
+ category: ToolCategory.FILE_SEARCH,
214
+ description: '在文件中搜索指定内容(类似 grep)',
215
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
216
+ parameters: [
217
+ { name: 'pattern', type: 'string', description: '搜索模式(支持正则表达式)', required: true },
218
+ { name: 'path', type: 'string', description: '搜索路径,默认当前目录', required: false, default: '.' },
219
+ { name: 'file_pattern', type: 'string', description: '文件名模式(如 *.ts),默认所有文件', required: false },
220
+ { name: 'recursive', type: 'boolean', description: '是否递归搜索,默认 true', required: false, default: true },
221
+ { name: 'ignore_case', type: 'boolean', description: '是否忽略大小写,默认 false', required: false, default: false },
222
+ { name: 'context_lines', type: 'number', description: '显示匹配行的上下文行数,默认 0', required: false, default: 0 },
223
+ { name: 'max_results', type: 'number', description: '最大结果数,默认 50', required: false, default: 50 }
224
+ ],
225
+ returns: '匹配结果的列表,包含文件名、行号和匹配内容',
226
+ examples: [
227
+ {
228
+ description: '在 TypeScript 文件中搜索 "function"',
229
+ parameters: { pattern: 'function', file_pattern: '*.ts', recursive: true },
230
+ expectedResult: '所有包含 "function" 的 TypeScript 文件及其行号'
231
+ }
232
+ ],
233
+ riskLevel: 'low',
234
+ retryable: true,
235
+ maxRetries: 3
236
+ },
237
+ // ===== 代码分析工具 =====
238
+ search_symbol: {
239
+ name: 'search_symbol',
240
+ category: ToolCategory.CODE_ANALYSIS,
241
+ description: '搜索代码符号(函数、类、变量等)的定义和引用',
242
+ minCapability: CapabilityLevel_1.CapabilityLevel.STRUCTURAL,
243
+ parameters: [
244
+ { name: 'symbol', type: 'string', description: '符号名称', required: true },
245
+ { name: 'symbol_type', type: 'string', description: '符号类型(function, class, variable, interface)', required: false },
246
+ { name: 'path', type: 'string', description: '搜索路径,默认当前目录', required: false, default: '.' },
247
+ { name: 'file_pattern', type: 'string', description: '文件名模式,默认所有文件', required: false }
248
+ ],
249
+ returns: '符号的定义位置和引用位置列表',
250
+ examples: [
251
+ {
252
+ description: '搜索 ToolExecutor 类的定义',
253
+ parameters: { symbol: 'ToolExecutor', symbol_type: 'class' },
254
+ expectedResult: 'ToolExecutor 类的定义文件和行号'
255
+ }
256
+ ],
257
+ riskLevel: 'low',
258
+ retryable: true,
259
+ maxRetries: 3
260
+ },
261
+ analyze_dependencies: {
262
+ name: 'analyze_dependencies',
263
+ category: ToolCategory.CODE_ANALYSIS,
264
+ description: '分析文件的依赖关系(import/require)',
265
+ minCapability: CapabilityLevel_1.CapabilityLevel.STRUCTURAL,
266
+ parameters: [
267
+ { name: 'path', type: 'string', description: '文件路径或目录路径', required: true },
268
+ { name: 'recursive', type: 'boolean', description: '是否递归分析依赖,默认 false', required: false, default: false }
269
+ ],
270
+ returns: '依赖关系图或列表',
271
+ examples: [
272
+ {
273
+ description: '分析 executor.ts 的依赖',
274
+ parameters: { path: 'src/agent/executor.ts' },
275
+ expectedResult: 'executor.ts 导入的所有模块和它们的位置'
276
+ }
277
+ ],
278
+ riskLevel: 'low',
279
+ retryable: true,
280
+ maxRetries: 3
281
+ },
282
+ // ===== Git 操作 =====
283
+ git_status: {
284
+ name: 'git_status',
285
+ category: ToolCategory.GIT_OPERATION,
286
+ description: '获取 Git 仓库状态',
287
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
288
+ parameters: [
289
+ { name: 'path', type: 'string', description: '仓库路径,默认当前目录', required: false, default: '.' }
290
+ ],
291
+ returns: 'Git 状态信息(分支、修改的文件等)',
292
+ examples: [
293
+ {
294
+ description: '获取当前 Git 状态',
295
+ parameters: {},
296
+ expectedResult: '当前分支和修改的文件列表'
297
+ }
298
+ ],
299
+ riskLevel: 'low',
300
+ retryable: true,
301
+ maxRetries: 2
302
+ },
303
+ git_diff: {
304
+ name: 'git_diff',
305
+ category: ToolCategory.GIT_OPERATION,
306
+ description: '查看文件或提交的差异',
307
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
308
+ parameters: [
309
+ { name: 'file', type: 'string', description: '指定文件路径,可选', required: false },
310
+ { name: 'cached', type: 'boolean', description: '查看暂存区的差异,默认 false', required: false, default: false },
311
+ { name: 'lines', type: 'number', description: '只显示前 N 行差异', required: false }
312
+ ],
313
+ returns: 'Git diff 输出',
314
+ examples: [
315
+ {
316
+ description: '查看工作区的修改',
317
+ parameters: {},
318
+ expectedResult: '所有未暂存的修改'
319
+ }
320
+ ],
321
+ riskLevel: 'low',
322
+ retryable: true,
323
+ maxRetries: 2
324
+ },
325
+ git_log: {
326
+ name: 'git_log',
327
+ category: ToolCategory.GIT_OPERATION,
328
+ description: '查看提交历史',
329
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
330
+ parameters: [
331
+ { name: 'max_count', type: 'number', description: '最多显示的提交数,默认 10', required: false, default: 10 },
332
+ { name: 'file', type: 'string', description: '只显示指定文件的历史', required: false },
333
+ { name: 'oneline', type: 'boolean', description: '单行格式,默认 true', required: false, default: true }
334
+ ],
335
+ returns: '提交历史记录',
336
+ examples: [
337
+ {
338
+ description: '查看最近5条提交',
339
+ parameters: { max_count: 5 },
340
+ expectedResult: '最近5条提交记录'
341
+ }
342
+ ],
343
+ riskLevel: 'low',
344
+ retryable: true,
345
+ maxRetries: 2
346
+ },
347
+ // ===== 系统操作 =====
348
+ shell_cmd: {
349
+ name: 'shell_cmd',
350
+ category: ToolCategory.SYSTEM,
351
+ description: '执行 Shell 命令',
352
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
353
+ parameters: [
354
+ { name: 'command', type: 'string', description: '要执行的命令', required: true },
355
+ { name: 'timeout', type: 'number', description: '超时时间(秒),默认 30', required: false, default: 30 }
356
+ ],
357
+ returns: '命令执行结果(stdout/stderr)',
358
+ examples: [
359
+ {
360
+ description: '列出当前目录',
361
+ parameters: { command: 'ls -la' },
362
+ expectedResult: '当前目录的文件列表'
363
+ }
364
+ ],
365
+ riskLevel: 'high',
366
+ retryable: false,
367
+ maxRetries: 0
368
+ },
369
+ // ===== 上下文管理工具 =====
370
+ continue_reading: {
371
+ name: 'continue_reading',
372
+ category: ToolCategory.FILE_IO,
373
+ description: '继续读取之前被截断的文件内容',
374
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
375
+ parameters: [
376
+ { name: 'path', type: 'string', description: '文件路径', required: true },
377
+ { name: 'from_position', type: 'number', description: '从哪个字符位置继续读取(默认之前读取的末尾)', required: false },
378
+ { name: 'length', type: 'number', description: '读取长度,默认 2000', required: false, default: 2000 }
379
+ ],
380
+ returns: '从指定位置开始的文件内容',
381
+ examples: [
382
+ {
383
+ description: '继续读取被截断的大文件',
384
+ parameters: { path: 'large-file.log', from_position: 2000, length: 2000 },
385
+ expectedResult: '从位置 2000 开始的 2000 个字符'
386
+ }
387
+ ],
388
+ riskLevel: 'low',
389
+ retryable: true,
390
+ maxRetries: 3
391
+ },
392
+ file_info: {
393
+ name: 'file_info',
394
+ category: ToolCategory.FILE_IO,
395
+ description: '获取文件的元信息(大小、类型、修改时间等)',
396
+ minCapability: CapabilityLevel_1.CapabilityLevel.TEXT,
397
+ parameters: [
398
+ { name: 'path', type: 'string', description: '文件路径', required: true }
399
+ ],
400
+ returns: '文件元信息的 JSON',
401
+ examples: [
402
+ {
403
+ description: '获取文件信息',
404
+ parameters: { path: 'package.json' },
405
+ expectedResult: '{ size: 1234, modified: "2024-01-01", type: "file" }'
406
+ }
407
+ ],
408
+ riskLevel: 'low',
409
+ retryable: true,
410
+ maxRetries: 3
411
+ }
412
+ };
413
+ /**
414
+ * 检查工具是否可以被当前能力等级执行
415
+ */
416
+ function canExecuteTool(toolName, currentCapability) {
417
+ const metadata = exports.TOOL_CAPABILITY_MAP[toolName];
418
+ if (!metadata)
419
+ return false;
420
+ return currentCapability >= metadata.minCapability;
421
+ }
422
+ /**
423
+ * 获取工具的能力要求
424
+ */
425
+ function getToolCapabilityRequirement(toolName) {
426
+ const metadata = exports.TOOL_CAPABILITY_MAP[toolName];
427
+ return metadata ? metadata.minCapability : null;
428
+ }
429
+ /**
430
+ * 根据 capability 级别获取可用的工具列表
431
+ */
432
+ function getAvailableToolsForCapability(capability) {
433
+ return Object.entries(exports.TOOL_CAPABILITY_MAP)
434
+ .filter(([_, metadata]) => capability >= metadata.minCapability)
435
+ .map(([name, _]) => name);
436
+ }
437
+ /**
438
+ * 获取工具的 JSON Schema 定义
439
+ * 用于生成 LLM 的工具定义
440
+ */
441
+ function getToolJSONSchema(toolName) {
442
+ const metadata = exports.TOOL_CAPABILITY_MAP[toolName];
443
+ if (!metadata)
444
+ return null;
445
+ const properties = {};
446
+ const required = [];
447
+ for (const param of metadata.parameters) {
448
+ properties[param.name] = {
449
+ type: param.type,
450
+ description: param.description
451
+ };
452
+ if (param.default !== undefined) {
453
+ properties[param.name].default = param.default;
454
+ }
455
+ if (param.required) {
456
+ required.push(param.name);
457
+ }
458
+ }
459
+ return {
460
+ type: 'object',
461
+ properties,
462
+ required
463
+ };
464
+ }
465
+ /**
466
+ * 生成完整的工具定义列表(用于 LLM System Prompt)
467
+ */
468
+ function generateToolDefinitionsPrompt() {
469
+ let prompt = '=== 可用工具定义 (Available Tools) ===\n\n';
470
+ for (const [name, metadata] of Object.entries(exports.TOOL_CAPABILITY_MAP)) {
471
+ prompt += `## ${name}\n`;
472
+ prompt += `- **描述**: ${metadata.description}\n`;
473
+ prompt += `- **能力要求**: ${capabilityLevelToString(metadata.minCapability)}\n`;
474
+ prompt += `- **风险等级**: ${metadata.riskLevel}\n`;
475
+ prompt += `- **参数**:\n`;
476
+ for (const param of metadata.parameters) {
477
+ const required = param.required ? '必需' : '可选';
478
+ const defaultVal = param.default !== undefined ? ` (默认: ${param.default})` : '';
479
+ prompt += ` - \`${param.name}\` (${param.type}, ${required})${defaultVal}: ${param.description}\n`;
480
+ }
481
+ prompt += `- **示例**:\n`;
482
+ for (const example of metadata.examples) {
483
+ const paramsStr = JSON.stringify(example.parameters, null, 2);
484
+ prompt += ` ${example.description}\n`;
485
+ prompt += ` 参数: ${paramsStr}\n`;
486
+ }
487
+ prompt += '\n';
488
+ }
489
+ return prompt;
490
+ }
491
+ /**
492
+ * 辅助函数:能力等级转字符串
493
+ */
494
+ function capabilityLevelToString(level) {
495
+ switch (level) {
496
+ case CapabilityLevel_1.CapabilityLevel.SEMANTIC: return 'SEMANTIC (极致语义)';
497
+ case CapabilityLevel_1.CapabilityLevel.STRUCTURAL: return 'STRUCTURAL (结构分析)';
498
+ case CapabilityLevel_1.CapabilityLevel.LINE: return 'LINE (行级分析)';
499
+ case CapabilityLevel_1.CapabilityLevel.TEXT: return 'TEXT (文本处理)';
500
+ case CapabilityLevel_1.CapabilityLevel.NONE: return 'NONE (无智能要求)';
501
+ default: return 'UNKNOWN';
502
+ }
503
+ }
504
+ //# sourceMappingURL=toolCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolCapability.js","sourceRoot":"","sources":["../../src/agent/toolCapability.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yuangs",
3
- "version": "5.57.0",
3
+ "version": "5.59.0",
4
4
  "description": "苑广山的个人应用集合 CLI(彩色版)",
5
5
  "author": "苑广山",
6
6
  "license": "ISC",