-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathtest-discover-agents.mjs
More file actions
74 lines (60 loc) · 2.67 KB
/
test-discover-agents.mjs
File metadata and controls
74 lines (60 loc) · 2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/env node
/**
* 测试WebAgentManager的Agent发现功能
*/
import { WebAgentManager } from './packages/core/dist/cli/webAgentManager.mjs';
console.log('🧪 测试 WebAgentManager Agent发现功能...\n');
async function testAgentDiscovery() {
const webManager = new WebAgentManager();
try {
console.log('🔍 测试1: 发现当前目录下的Agent');
const currentDirAgents = await webManager.discoverAgents();
console.log(`发现结果: ${currentDirAgents.length}个Agent\n`);
console.log('🔍 测试2: 发现当前目录下的Agent(不包含全局)');
const localOnlyAgents = await webManager.discoverAgents(undefined, {
includeGlobal: false
});
console.log(`本地发现结果: ${localOnlyAgents.length}个Agent\n`);
console.log('🔍 测试3: 发现指定路径下的Agent');
const testPath = './packages'; // 测试目录
const pathAgents = await webManager.discoverAgents(testPath);
console.log(`指定路径发现结果: ${pathAgents.length}个Agent\n`);
// 如果发现了Agent,测试批量启动
if (currentDirAgents.length > 0) {
console.log('🚀 测试4: 批量启动发现的Agent(禁用MCP和任务调度器)');
try {
const startedAgents = await webManager.discoverAndStartAgents(undefined, {
includeGlobal: false, // 只启动本地Agent
enableMCP: false, // 禁用MCP避免复杂初始化
enableTaskScheduler: false, // 禁用任务调度器
maxAgents: 3, // 最多启动3个Agent
});
console.log(`✅ 成功启动${startedAgents.length}个Agent`);
// 显示启动的Agent信息
console.log('\n📋 已启动的Agent列表:');
const summaries = await webManager.getAgentSummaries();
summaries.forEach((summary, index) => {
console.log(` ${index + 1}. ${summary.config.name} (${summary.path})`);
console.log(` 聊天记录: ${summary.chatLogsCount}, MCP配置: ${summary.hasMCPConfig}, 任务: ${summary.tasksCount}`);
});
} catch (error) {
console.log(`❌ 批量启动失败: ${error.message}`);
}
} else {
console.log('⚠️ 没有发现可用的Agent,跳过批量启动测试');
}
console.log('\n✅ Agent发现功能测试完成!');
} catch (error) {
console.error('❌ 测试过程中发生错误:', error);
} finally {
// 清理资源
try {
await webManager.destroy();
console.log('🧹 资源清理完成');
} catch (error) {
console.error('清理资源时出错:', error);
}
}
}
// 运行测试
testAgentDiscovery().catch(console.error);