This commit is contained in:
V-LiuShuang
2026-08-19 16:00:53 +08:00
parent ff62144fcc
commit d3fe5f1dab
2 changed files with 92 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# 需求背景
为了满足用户的skill调试需求,让用户在**个人空间**下为agent添加**调试版本**的skill。调试版本的skill有两种结局,永远不提交发布或者提交发布流程并最终审核通过。
## 源码入口
| 功能 | 文件 | 方法名 |
| --- | --- | --- |
| 查看个人空间的skill分页列表 | mis-visual/mis-tool-server/src/main/java/com/lcfc/mcp/service/impl/SkillServiceImpl.java | getPersonalSpaceByPage |
| 保存并发布skill | mis-visual/mis-tool-server/src/main/java/com/lcfc/mcp/service/impl/ToolApplyServiceImpl.java | addSkillApply |
## 新增Skill的变更
### 修改前
```mermaid
graph LR
A[用户提交] --> B[发布]
B --> C[待审核]
D --> D[审核通过(正式版本)]
D --> E[结束]
```
### 修改后
```mermaid
graph LR
A[用户提交] --> B[保存(调试版本)]
A --> C[发布]
C --> D[待审核]
D --> E[审核通过(正式版本)]
B --> F[结束]
E --> F
```
+57
View File
@@ -0,0 +1,57 @@
# 需求描述
结合文档[mis-agent.md](./mis-agent.md)为**mis-certification**模块实现以下功能。
## 目录结构说明
### 主目录
```text
mis-modules\mis-certification\src\main\
├── java # Java源文件
└── resources
└── mapper\certification\ # Mybatis Mapper XML
└── application.yml # 配置文件
```
### 需求涉及到的源码
```text
com\lcfc\certification\
├── controller\
└── regulations\
├── AgentStaticLoader.java # 通过"init"方法初始化"certificationAgent"对象
├── CertificationAgent.java # 通过"LlmRoutingAgent"把用户请求分派给子智能体
└── ChatController.java # HTTP请求入口"/certificationChat"
```
## 任务内容
收集"LlmRoutingAgent"的工具调用、知识库调用、token消耗、用户ID等信息。你不必使用"AgentChatMetricsCtx.java"对象来收集数据,你最终要构建的对象是"ProjectAgentChatLifeCyclePayload.java"对象。但是请注意,这个智能体是没有集成Skill的,也不会触发工作流,新建一个DTO按需收集数据,使用"certification-agent"作为agentId。以下有一些信息可供你参考:
### MCP工具的配置
```yaml
spring:
ai:
mcp:
client:
streamable-http:
connections:
server1:
url: http://10.159.252.27:30080
endpoint: /tool/mcp
```
### 其它模块的数据收集方式
参考**mis-agent**模块下收集单智能体的监控数据,涉及的关键代码如下:
|文件名|关键词|
|:-----|:-----|
|AgentServiceImpl.java|"misAgentChatMetricsCtl.create"|
|MisAgentChatMetricsCtl.java|"public AgentChatMetricsCtx create(Map<String, Object> metadata)"|
|KbModelHook.java|"saAgentChatMetricsCtl.addKnowledgeIds"|
|ToolMonitoringInterceptor.java|"saAgentChatMetricsCtl.addToolUse","saAgentChatMetricsCtl.addToolResult"|
|AgentChatMetricsFinishListener.java|"onMessage","asyncSendOrHandle","saveAgentChatMetrics"|
|ProjectStatsDataExporter.java|"saveAgentChatMetrics"|