74 lines
2.7 KiB
JavaScript
74 lines
2.7 KiB
JavaScript
#!/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); |