UNPKG

youling-agent-mcp

Version:

MCP服务器实现POMDP研发任务拆解

70 lines 2.32 kB
/** * MCP客户端测试代码 * 用于测试POMDP任务拆解服务器 */ import axios from 'axios'; import dotenv from 'dotenv'; // 加载环境变量 dotenv.config(); const SERVER_URL = 'http://localhost:3000/mcp'; const RESOURCE_TYPE = 'pomdp-task-decomposer'; /** * 发送任务拆解请求 * @param taskDescription 任务描述 * @returns 拆解结果 */ async function sendTaskDecompositionRequest(taskDescription) { try { console.log('发送任务拆解请求...'); // 步骤1: 初始化请求 const initResponse = await axios.post(`${SERVER_URL}/initiate`, { resourceType: RESOURCE_TYPE, question: taskDescription }); console.log('初始化响应:', initResponse.data); if (initResponse.data.status !== 'accepted') { throw new Error(`初始化请求失败: ${JSON.stringify(initResponse.data)}`); } // 步骤2: 获取资源 const resourceResponse = await axios.post(`${SERVER_URL}/resource`, { resourceType: RESOURCE_TYPE, question: taskDescription }); console.log('资源响应状态:', resourceResponse.data.status); if (resourceResponse.data.status !== 'success') { throw new Error(`获取资源失败: ${JSON.stringify(resourceResponse.data)}`); } return resourceResponse.data.content; } catch (error) { console.error('请求过程中发生错误:', error); throw error; } } /** * 主函数 */ async function main() { try { // 测试任务描述 const taskDescription = ` 开发一个智能客服系统,需要支持以下功能: 1. 能够理解和回答用户的常见问题 2. 支持多种语言 3. 具备对话上下文保持能力 4. 能够在必要时将用户转接给人工客服 5. 提供使用情况分析报告 `; console.log('测试任务描述:\n', taskDescription); // 发送请求 const result = await sendTaskDecompositionRequest(taskDescription); console.log('\n==== 任务拆解结果 ====\n'); console.log(result); } catch (error) { console.error('测试失败:', error); } } // 执行主函数 main(); //# sourceMappingURL=test-client.js.map