liuhuaqiang/generation.json

44 lines
12 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"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"
}