Grizzly 5 mēneši atpakaļ
vecāks
revīzija
10ddca71fb

+ 0 - 115
mcp访问.md

@@ -1,115 +0,0 @@
-# MCP 接口使用文档(Java + 终端直连)
-本文基于 沛沛 提供的 MCP 服务与智能路由接口,
-适配**单行终端命令**与**Java 调用**,包含前置鉴权、会话获取、消息发送、智能路由全流程。
-
----
-
-## 基础信息
-- **基础 MCP 地址**:`https://ai-paas-mcp-endpoint.njuu.top/mcp`
-- **智能路由地址**:`https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting`
-- **鉴权**:所有请求必须带 Header
-    - `Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX`
-    - `Content-Type: application/json`
-
----
-
-## 一、基础 MCP 标准接口(/mcp)
-### 1.1 前置:获取 Session ID(必须先执行)
-#### 功能
-建立 SSE 长连接,获取后续请求必须的 `sessionId`
-
-#### 终端访问(单行 curl)
-```bash
-curl -N -H "Accept: text/event-stream" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" https://ai-paas-mcp-endpoint.njuu.top/mcp
-```
-- 返回示例(提取 sessionId):
-```
-event: endpoint
-data: /mcp?sessionId=550e8400-e29b-41d4-a716-446655440000
-```
-- 记录:`550e8400-e29b-41d4-a716-446655440000`
-
-
-
----
-
-### 1.2 发送 MCP 标准消息(POST)
-必须携带:`mcp-session-id` + 鉴权头
-
-#### 终端访问(单行 curl)
-**示例1:调用 tools/list 获取工具列表**
-```bash
-curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 你的sessionId" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}" https://ai-paas-mcp-endpoint.njuu.top/mcp
-```
-
-**示例2:调用 tools/call 执行求和工具(真实可用)**
-```bash
-curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 你的sessionId" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"everything_get-sum\",\"arguments\":{\"a\":1,\"b\":2}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp
-```
-
-## 二、智能路由接口(/mcp/airouting)
-### 2.1 前置:获取智能路由专属 Session ID
-#### 功能
-智能路由需使用专属 Session ID(与基础MCP不通用),通过SSE获取
-
-#### 终端访问(单行 curl)
-```bash
-curl -N -H "Accept: text/event-stream" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting
-```
-- 返回示例(提取 sessionId):
-```
-event: endpoint
-data: /mcp/airouting?sessionId=c9b1733a-6030-493b-a553-f3c0b01d19bd
-```
-- 记录:`c9b1733a-6030-493b-a553-f3c0b01d19bd`
-
-### 2.2 智能路由核心操作(两步法:搜索工具→执行工具)
-#### 步骤1:搜索工具(search_tools)
-##### 终端访问(单行 curl)
-```bash
-curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search_tools\",\"arguments\":{\"query\":\"求和\",\"limit\":5}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting
-```
-
-#### 步骤2:执行工具(execute_tool)
-##### 终端访问(单行 curl)
-```bash
-curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"execute_tool\",\"arguments\":{\"toolName\":\"everything_get-sum\",\"arguments\":{\"a\":1,\"b\":2}}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting
-```
-
-### 2.3 智能路由工具列表查询
-#### 终端访问(单行 curl)
-```bash
-curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting
-```
-
-#### Java 接入(补充到AirRoutingToolCall)
-```java
-// 4. 查询智能路由工具列表
-String listJson = "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/list\",\"params\":{}}";
-String listResult = callAirRoutingTool(airRoutingSessionId, listJson);
-```
-```
-
-### 二、关键补充说明(文档末尾)
-```markdown
----
-
-## 三、注意事项
-1. **Session ID 隔离**:基础MCP与智能路由的Session ID不通用,需分别获取;
-2. **鉴权头规范**:无需添加 `Bearer` 前缀,直接使用纯密钥;
-3. **工具名规范**:智能路由搜索工具名是 `search_tools`(复数),非 `search_tool`;
-
-   ```
-5. **异常处理**:实际使用需添加try-catch、超时配置(OkHttpClient可设置readTimeout);
-6. **兼容性**:所有终端命令适配Windows CMD(单行无换行),Linux/Mac可直接复用。
-```
-
-### 总结
-1. 修正了原有文档中Java解析Session ID的逻辑错误、工具名错误、格式层级问题;
-2. 补充了智能路由的完整流程:专属Session ID获取→搜索工具→执行工具→工具列表查询;
-3. Java示例做了模块化封装(复用方法+区分地址),可直接复制运行;
-4. 所有终端命令保持单行式,适配Windows CMD无换行的特点;
-5. 新增注意事项,覆盖鉴权、Session ID、依赖等关键细节。
-
-文档现在完整、准确、可落地,你可以直接使用,也可以告诉我需要补充的其他细节(比如异常处理、超时配置等)。
-

+ 1 - 3
src/main/java/edu/nju/software/aipaasagent/OllamaAiInvoke.java → src/test/java/edu/nju/software/aipaasagent/agent/model/OllamaAiInvoke.java

@@ -1,12 +1,10 @@
-package edu.nju.software.aipaasagent;
+package edu.nju.software.aipaasagent.agent.model;
 
 import jakarta.annotation.Resource;
-import org.springframework.ai.chat.client.ChatClient;
 import org.springframework.ai.chat.model.ChatModel;
 import org.springframework.ai.chat.model.ChatResponse;
 import org.springframework.ai.chat.prompt.Prompt;
 import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
 
 /**
  * Ollama AI 调用测试类

+ 1 - 3
src/main/java/edu/nju/software/aipaasagent/OllamaStreamAiInvoke.java → src/test/java/edu/nju/software/aipaasagent/agent/model/OllamaStreamAiInvoke.java

@@ -1,11 +1,9 @@
-package edu.nju.software.aipaasagent;
+package edu.nju.software.aipaasagent.agent.model;
 
 import jakarta.annotation.Resource;
 import org.springframework.ai.chat.model.ChatModel;
-import org.springframework.ai.chat.model.ChatResponse;
 import org.springframework.ai.chat.prompt.Prompt;
 import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
 import reactor.core.publisher.Flux;
 
 /**