44 lines
12 KiB
JSON
44 lines
12 KiB
JSON
{
|
||
"projectId": 53,
|
||
"generationId": "codegen_a24ff7a18fac47aba0293ec8f0265133",
|
||
"language": "java",
|
||
"status": "completed",
|
||
"fileIds": [
|
||
822
|
||
],
|
||
"outputDir": "E:\\pro\\wokspace-ai_agent\\ai-agent-integration\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_a24ff7a18fac47aba0293ec8f0265133",
|
||
"relativeOutputDir": "codegen-runs/codegen_a24ff7a18fac47aba0293ec8f0265133",
|
||
"generatedFiles": [
|
||
"README.md",
|
||
"events.ndjson",
|
||
"pom.xml",
|
||
"src/main/java/com/example/demo/DemoApplication.java",
|
||
"src/main/java/com/example/demo/config/OpenApiConfig.java",
|
||
"src/main/java/com/example/demo/controller/BusinessController.java",
|
||
"src/main/java/com/example/demo/controller/FlowController.java",
|
||
"src/main/java/com/example/demo/controller/HealthController.java",
|
||
"src/main/java/com/example/demo/model/BusinessItem.java",
|
||
"src/main/java/com/example/demo/model/ExecutionFlow.java",
|
||
"src/main/java/com/example/demo/model/dto/AgentRegisterRequest.java",
|
||
"src/main/java/com/example/demo/model/dto/ApiResponse.java",
|
||
"src/main/java/com/example/demo/model/dto/ExecutionResult.java",
|
||
"src/main/java/com/example/demo/model/dto/FlowExecuteRequest.java",
|
||
"src/main/java/com/example/demo/service/BusinessService.java",
|
||
"src/main/java/com/example/demo/service/BusinessServiceImpl.java",
|
||
"src/main/java/com/example/demo/service/FlowService.java",
|
||
"src/main/java/com/example/demo/service/FlowServiceImpl.java",
|
||
"src/main/resources/application.yml",
|
||
"src/test/java/com/example/demo/BusinessServiceTest.java",
|
||
"src/test/java/com/example/demo/DemoApplicationTests.java"
|
||
],
|
||
"analysisSummary": "### 业务目标\n1. 构建一个支持多智能体协同的软件研发辅助系统,实现智能化任务自动化执行。\n2. 提供统一的底座平台,支持智能体注册、发现、调度与管理,促进智能体间的协作。\n3. 实现图形化执行流编排能力,支持用户通过拖拽方式定义复杂的工作流程。\n4. 支持项目全生命周期管理,包括项目创建、代码仓库绑定、执行流程控制等。\n5. 实现上下文在智能体间传递与持久化,保障任务链路中的数据连续性。\n6. 支持第三方智能体快速接入,具备良好的扩展性和兼容性。\n\n---\n\n### 功能清单\n#### 用户系统\n- 用户管理:新增、修改、删除、查询用户\n- 角色管理:新增、修改、删除角色;角色与用户双向绑定;角色绑定菜单及按钮权限\n- 菜单管理:手动录入菜单(支持一级菜单、按钮级别等)\n- 权限管理:维护按钮级操作权限字符\n- 部门管理:部门增删改查;用户与部门双向绑定\n\n#### 项目管理\n- 创建、编辑、删除、归档项目\n- 绑定外部代码仓库(如 Gitea)和文档库地址\n\n#### 智能体注册与发现\n- 智能体注册:Web服务主动向底座注册自身元数据\n- 智能体注销:主动移除注册信息\n- 健康状态检测:定期心跳检查,标记不可用实例\n- 服务发现:根据能力标签或ID查询可用智能体\n- 元数据管理:维护智能体的能力描述、输入输出Schema、流式支持等属性\n- 双向绑定机制:通过`registryId`关联智能体配置与运行实例\n\n#### 执行流编排\n- 图形化拖拽编排界面\n- 支持节点类型:智能体调用、条件判断、结果合并等\n- 定义边关系表示依赖顺序\n- 上下文映射配置:指定输入来源与输出存储位置\n- 支持导入导出JSON/XML格式的执行流配置\n- 支持执行流测试功能\n\n#### 任务调度引擎\n- 解析执行流配置文件(JSON/XML),构建执行图\n- 依赖解析与拓扑排序生成执行计划\n- 支持串行、并行、阻塞/非阻塞执行模式\n- 管理任务队列,支持优先级与并发控制\n- 跟踪节点执行状态(待执行、执行中、完成、失败)\n- 异常捕获与重试机制(可配置重试次数)\n- 流式输出代理:对支持SSE的智能体建立实时推送通道\n\n#### 上下文管理\n- 上下文结构分层:全局数据 + 节点输出 + 元信息\n- 上下文持久化存储于数据库\n- 支持AI汇总上下文内容形成总结文档\n- 在执行过程中自动传递上下文至下游智能体\n\n#### 输入输出标准化\n- 底座提供统一调用接口\n- 支持同步与异步调用模式\n- 智能体自定义输入输出协议,但需符合JSON Schema规范\n\n#### 智能体接入规范\n- 必须为独立运行的Web服务\n- 开发语言不限,但必须暴露标准接口\n- 必须支持流式输出(SSE)\n- 必须实现以下接口:\n - 注册接口\n - 执行接口(POST /execute)\n - 健康检查接口(GET /health)\n\n#### 智能体应用模块\n- **需求分析智能体**:解析自然语言与文件,输出结构化需求项与待澄清问题\n- **文生图智能体**:基于需求生成流程图、架构图等图像\n- **代码生成智能体**:根据需求生成对应语言代码\n- **测试验证智能体**:针对C++工程生成并执行单元测试\n- **文档生成智能体**:生成各类标准技术文档(如设计说明书、测试报告等)\n- **代码检查智能体**:使用cppcheck等工具进行静态代码分析并输出报告\n\n#### 部署与安全\n- 容器化部署(Docker + Kubernetes)\n- 数据存储分离:MySQL(关系型)、MongoDB(文档)、Redis(缓存)、MinIO(文件)\n- 认证授权:JWT + RBAC + API Key(智能体)\n- 安全措施:HTTPS传输加密、敏感数据脱敏、访问审计日志\n- 智能体安全:注册审核、沙箱隔离、资源调用限制(超时、重试)\n\n#### 扩展性设计\n- 核心服务无状态,支持水平扩展\n- 负载均衡与分布式缓存(Redis集群)\n- 智能体热插拔与多版本共存\n- 执行流模板化、版本管理、嵌套调用\n\n---\n\n### 数据结构\n#### 智能体元数据(agents 表)\n```json\n{\n \"id\": \"agent-code-gen-001\",\n \"name\": \"代码生成智能体\",\n \"version\": \"1.0.0\",\n \"service_url\": \"http://service-host:port\",\n \"capabilities\": [\"代码生成\", \"代码补全\"],\n \"input_schema\": { /* JSON Schema */ },\n \"output_schema\": { /* JSON Schema */ },\n \"streaming_support\": true,\n \"health_check_endpoint\": \"/health\",\n \"status\": \"active\",\n \"last_heartbeat\": \"2026-01-01T00:00:00Z\",\n \"registered_at\": \"2026-01-01T00:00:00Z\"\n}\n```\n\n#### 执行流配置(execution_flows 表)\n```json\n{\n \"nodes\": [\n {\n \"nodeId\": \"node-1\",\n \"type\": \"agent_call\",\n \"agentId\": \"agent-req-analyze\",\n \"position\": { \"x\": 100, \"y\": 200 },\n \"config\": { /* 参数配置 */ }\n }\n ],\n \"edges\": [\n {\n \"source\": \"node-1\",\n \"target\": \"node-2\"\n }\n ],\n \"contextMapping\": {\n \"node-2\": {\n \"inputFrom\": \"node-1.output.requirements\"\n }\n }\n}\n```\n\n#### 上下文数据结构(flow_executions.context_snapshot)\n```json\n{\n \"contextId\": \"ctx-20260101-001\",\n \"projectId\": \"proj-xxx\",\n \"flowId\": \"flow-001\",\n \"flowExecutionId\": \"exec-20260101-001\",\n \"globalData\": {\n \"projectName\": \"示例项目\",\n \"repository\": \"https://github.com/xxx/repo.git\"\n },\n \"nodeOutputs\": {\n \"node-1\": { \"requirements\": [...] },\n \"node-2\": { \"sourceCode\": \"...\" }\n },\n \"metadata\": {\n \"startTime\": \"2026-01-01T10:00:00Z\",\n \"status\": \"running\",\n \"currentNode\": \"node-3\"\n }\n}\n```\n\n#### 执行记录(flow_executions 表)\n```json\n{\n \"id\": \"exec-20260101-001\",\n \"flow_id\": \"flow-001\",\n \"project_id\": \"proj-xxx\",\n \"triggered_by\": \"user-001\",\n \"trigger_mode\": \"manual\",\n \"status\": \"completed\",\n \"start_time\": \"2026-01-01T10:00:00Z\",\n \"end_time\": \"2026-01-01T10:15:00Z\",\n \"context_snapshot\": { /* 上下文快照 */ },\n \"error_message\": null\n}\n```\n\n#### 节点执行记录(node_executions 表)\n```json\n{\n \"id\": \"ne-001\",\n \"execution_id\": \"exec-20260101-001\",\n \"node_id\": \"node-1\",\n \"agent_id\": \"agent-req-analyze\",\n \"status\": \"completed\",\n \"input_data\": { /* 输入参数 */ },\n \"output_data\": { /* 输出结果 */ },\n \"start_time\": \"2026-01-01T10:00:00Z\",\n \"end_time\": \"2026-01-01T10:02:00Z\",\n \"retry_count\": 0,\n \"error_message\": null\n}\n```\n\n---\n\n### 接口或命令\n#### 底座系统接口\n| 接口 | 方法 | 路径 | 说明 |\n|------|------|------|------|\n| 智能体注册 | POST | `/api/v1/agent/register` | 注册新智能体 |\n| 智能体注销 | DELETE | `/api/v1/agent/unregister` | 主动注销智能体 |\n| 查询智能体列表 | GET | `/api/v1/agent/list` | 按能力标签或ID查询 |\n| 获取执行流配置 | GET | `/api/v1/flow/{id}` | 获取指定执行流 |\n| 触发执行流 | POST | `/api/v1/flow/execute` | 手动触发执行流 |\n| 获取执行状态 | GET | `/api/v1/execution/{id}` | 查询执行进度与日志 |\n\n#### 智能体标准接口\n| 接口 | 方法 | 路径 | 说明 |\n|------|------|------|------|\n| 健康检查 | GET | `/health` | 返回健康状态 |\n| 执行入口 | POST | `/execute` | 接收任务请求,返回同步结果或启动SSE流 |\n\n---\n\n### 约束\n1. **通信协议**:所有智能体必须提供HTTP(S)接口,支持POST调用与SSE流式响应。\n2. **数据格式**:输入输出必须遵循JSON Schema规范,并在注册时声明。\n3. **流式支持**:所有智能体必须支持流式输出(text/event-stream)。\n4. **语言无关性**:允许任意语言开发,但需封装为Web服务。\n5. **安全性要求**:\n - 智能体调用需携带API Key认证\n - 外部通信必须使用HTTPS\n - 敏感字段(如密码)需加密存储与脱敏展示\n6. **性能约束**:\n - 单个智能体调用默认超时时间为300秒\n - 最大重试次数默认为3次\n7. **注册审核**:第三方智能体需经管理员审核后方可上线使用。\n8. **执行模式限制**:\n - 并行执行需确保无共享资源冲突\n - 阻塞模式下不支持无限等待\n\n---\n\n### 测试建议\n1. **单元测试**\n - 各智能体独立测试其执行接口与健康检查接口\n - 验证输入校验、异常处理、流式输出完整性\n\n2. **集成测试**\n - 模拟智能体注册、心跳、注销全流程\n - 验证任务调度引擎能否正确解析执行流并调度智能体\n - 测试上下文在多个节点间的传递与更新是否准确\n\n3. **端到端测试**\n - 构建完整执行流(如:需求分析 → 文生图 → 代码生成 → 测试验证)\n - 验证整个流程的数据流转、状态跟踪、错误恢复能力\n - 模拟网络延迟、智能体宕机场景下的重试与容错机制\n\n4. **性能测试**\n - 模拟高并发触发多个执行流,评估调度引擎吞吐量\n - 测试大规模上下文(>10MB)传递对系统性能的影响\n - 验证流式输出在长连接下的稳定性\n\n5. **安全测试**\n - 检查JWT令牌有效性与权限越权问题\n - 验证API Key鉴权机制是否防止未授权调用\n - 对智能体输入进行注入攻击模拟(如恶意JSON payload)\n\n6. **可用性测试**\n - 验证图形化编排器的操作流畅性与配置保存准确性\n - 测试执行流导入导出功能的兼容性\n - 检查前端组件在不同浏览器下的适配情况\n\n7. **部署验证**\n - 验证Kubernetes部署后各服务可达性\n - 检查数据库初始化脚本与表结构一致性\n - 验证Redis缓存、MinIO文件存储的读写能力",
|
||
"eventLogFile": "E:\\pro\\wokspace-ai_agent\\ai-agent-integration\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_a24ff7a18fac47aba0293ec8f0265133\\events.ndjson",
|
||
"repoSettings": {
|
||
"username": "root",
|
||
"password": "pAssW0rd",
|
||
"repoUrl": "http://47.108.255.216:3000/root/liuhuaqiang.git",
|
||
"branch": "main"
|
||
},
|
||
"repoUrl": "http://47.108.255.216:3000/root/liuhuaqiang.git",
|
||
"branch": "main"
|
||
} |