{ "projectId": 42, "generationId": "codegen_25f844ab0f1d40e2830597665310b2ce", "language": "C++", "status": "completed", "fileIds": [ 981 ], "outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_25f844ab0f1d40e2830597665310b2ce", "relativeOutputDir": "codegen-runs/codegen_25f844ab0f1d40e2830597665310b2ce", "generatedFiles": [ "CMakeLists.txt", "README.md", "events.ndjson", "include/app.hpp", "src/app.cpp", "src/main.cpp", "tests/basic_test.cpp" ], "analysisSummary": "### **业务目标** \n1. 实现从战场事件感知到任务生成、执行监控的闭环管理,提升指挥决策效率与响应速度。 \n2. 解决战场态势感知滞后、任务规划效率低、执行过程不透明等问题,适应现代战争快节奏、高动态需求。 \n3. 支持人机协同(HITL)与自主执行两种模式,辅助指挥员完成任务生成、计划重配置及分布式计划管理。 \n4. 确保系统在国产化软硬件平台上的稳定运行,满足军事级可靠性、安全性与环境适应性要求。\n\n---\n\n### **功能清单** \n#### **核心功能模块**\n1. **事件接收与处理**\n - 接收来自上游系统的临机事件和规划事件(JSON/XML格式)\n - 数据完整性校验、断点续传、本地缓存\n - 高优先级实时数据传输支持\n\n2. **事件标准化处理**\n - 过滤无用字段,减少存储压力\n - 时间戳、坐标系等数据格式统一转换\n - 封装为标准内部事件模型并添加元数据(接收时间、处理节点ID)\n\n3. **事件展示与操作**\n - 前端可视化展示事件列表(表格/卡片视图)\n - 支持按时间、优先级排序及分页加载\n - 提供“处理”“拒绝”等交互操作按钮\n\n4. **任务模板管理**\n - 接收并解析推送的任务模板集合(JSON/XML)\n - 模板版本比对与增量/全量更新\n - 页面可视化展示模板库,支持搜索、排序\n - 展示模板详情及子任务树状结构\n - 支持用户手动选择模板或系统自动推荐最优模板(基于匹配算法)\n\n5. **任务生成**\n - 用户勾选一个或多个待处理事件后触发任务生成\n - 结合选定模板与用户输入参数生成任务草案\n - 支持失败重试机制,保留用户输入状态\n\n6. **计划管理**\n - 集中式计划列表管理,支持基于权重的偏好排序\n - 计划图谱可视化展示,HITL节点标记与通知\n - 计划重配置功能,高亮显示变更部分\n - 分布式计划聚合、依赖关系构建与一致性检查\n\n7. **方案分发**\n - 将最终任务方案下发至卫星、无人机、雷达等作战资产\n - 支持异构通信协议(军用数据链、UDP/TCP)\n - ACK确认机制与重传策略,状态指示灯实时反馈\n\n8. **状态监控**\n - 实时接收遥测数据,刷新频率不低于1Hz\n - 监控主计划与子任务执行状态,异常时触发报警\n - 通信中断时显示最后已知状态并标记“数据陈旧”\n\n9. **人机交互界面**\n - 深色系UI设计,适应强光/弱光野外环境\n - 关键操作提供Tooltips提示与向导式指引\n - 响应式布局,适配不同分辨率设备\n\n---\n\n### **数据结构** \n#### **数据库表结构**\n1. **事件表(Event)**\n - 字段:事件ID、事件类型、发生时间、标题、描述、位置坐标、优先级、状态、创建时间\n\n2. **任务模板表(TaskTemplate)**\n - 字段:模板ID、名称、适用场景、内容、版本号、生效时间、过期时间、创建时间\n\n3. **模板版本表(TemplateVersion)**\n - 字段:版本ID、模板ID、版本号、发布状态、更新时间\n\n4. **任务计划表(TaskPlan)**\n - 字段:计划ID、关联事件ID、使用模板ID、计划状态、生成时间、负责人、备注\n\n5. **计划节点表(PlanNode)**\n - 字段:节点ID、计划ID、父节点ID、任务类型、执行单位、开始时间、结束时间、状态\n\n6. **分发日志表(DistributionLog)**\n - 字段:日志ID、计划ID、目标资产、发送时间、响应状态、重发次数、错误码\n\n7. **状态日志表(StatusLog)**\n - 字段:记录ID、资产ID、时间戳、状态码、详细信息、是否异常\n\n8. **用户表(User)**\n - 字段:用户ID、姓名、角色、权限等级、登录账号、联系方式\n\n#### **文件存储结构**\n- **模板文件**:按`/templates/{version}/{type}/`目录分类存储\n- **日志文件**:按日期滚动命名(如`app_20250405.log`),保留30天,旧日志自动归档压缩\n- **配置备份文件**:`/backup/config/YYYYMM/`\n- **导入导出报表**:`/export/reports/YYYYMMDD/`\n\n---\n\n### **接口或命令** \n#### **外部接口**\n| 接口标识 | 名称 | 类型 | 协议 | 数据格式 | 方向 | 描述 |\n|--------|------|------|-------|----------|--------|------|\n| SRS-TPS_I_EVT_IN | 事件数据接口 | 实时数据传送 | TCP/IP + 自定义应用层协议 | JSON/XML | 输入 | 接收原始事件数据包,含心跳与断点续传机制 |\n| SRS-TPS_I_TMP_IN | 模板数据接口 | 批量数据传送 | HTTPS + RESTful API | JSON/XML | 输入 | 接收模板集合,含数字签名验证 |\n| SRS-TPS_O_TASK_OUT | 任务分发接口 | 可靠数据传送 | 军用数据链 / UDP/TCP | 二进制/JSON | 输出 | 下发任务方案,带ACK确认与重传机制 |\n| SRS-TPS_I_STAT_IN | 状态遥测接口 | 实时遥测数据 | 军用数据链 / UDP | 二进制 | 输入 | 接收资产状态,含时间戳与校验和 |\n\n#### **内部服务接口**\n| 模块 | 接口名 | 方向 | 数据类型 | 功能说明 |\n|------|--------|--------|------------|-------------|\n| SU-01 | receiveEvent | 输入 | JSON/XML | 接收原始事件 |\n| SU-01 | sendAck | 输出 | String | 返回接收确认 |\n| SU-01 | pushToQueue | 输出 | Object | 推送至缓存队列 |\n| SU-02 | getRawEvent | 输入 | Object | 获取原始事件对象 |\n| SU-02 | processEvent | 处理 | Void | 执行过滤转化逻辑 |\n| SU-02 | saveStandardEvent | 输出 | Object | 输出标准化事件 |\n| SU-03 | queryEvents | 输入 | Map | 查询条件(时间、优先级等) |\n| SU-03 | renderList | 输出 | HTML/JSON | 渲染事件列表 |\n| SU-04 | getPendingEvents | 输入 | List | 获取待处理事件 |\n| SU-04 | generateTask | 输入 | Object | 提交任务参数 |\n| SU-04 | submitTask | 输出 | Object | 提交任务草案 |\n| SU-05 | receiveTemplates | 输入 | JSON/XML | 接收模板包 |\n| SU-05 | getTemplateList | 输出 | List | 返回模板列表 |\n| SU-05 | selectTemplate | 输入 | String | 用户选择模板ID |\n| SU-05 | getConfig | 输出 | Map | 获取配置参数 |\n| SU-06 | getPlanList | 输出 | List | 获取所有计划 |\n| SU-06 | sortPlans | 输入 | Map | 排序权重设置 |\n| SU-06 | reconfigurePlan | 输入 | Object | 提交重配置请求 |\n| SU-06 | notifyHITL | 输出 | Message | 发送人工干预通知 |\n| SU-07 | distributePlan | 输入 | Object | 启动分发流程 |\n| SU-07 | receiveAck | 输入 | String | 接收响应状态 |\n| SU-07 | updateStatus | 输出 | Void | 更新UI状态 |\n| SU-08 | receiveTelemetry | 输入 | Binary | 接收遥测数据 |\n| SU-08 | parseData | 处理 | Void | 解析遥测数据 |\n| SU-08 | triggerAlarm | 输出 | Message | 触发异常报警 |\n\n---\n\n### **约束** \n1. **运行环境约束**\n - 操作系统:银河麒麟V10 SP2及以上\n - 硬件平台:国产八核处理器(≥2.5GHz)、32GB ECC内存、512GB SSD + 2TB RAID5存储\n - 网络:100Mbps以上带宽,支持TCP/IP、军用数据链协议\n\n2. **技术架构约束**\n - 分层架构:展示层、业务逻辑层、数据访问层、基础设施层\n - 数据库:达梦DM8 或 人大金仓KingbaseES,主从复制+读写分离\n - 消息机制:内部采用消息队列实现异步解耦\n\n3. **安全约束**\n - 数据静态加密:采用国密算法\n - 身份认证:强密码策略 + 多因素认证\n - 权限控制:RBAC模型,遵循最小权限原则\n - 网络安全:HTTPS传输,输入数据严格校验防注入攻击\n\n4. **性能约束**\n - 事件处理延迟 ≤ 500ms\n - 事件列表加载时间 ≤ 1秒\n - 状态监控刷新频率 ≥ 1Hz\n - 支持并发用户数 ≥ 50,长时间运行稳定性测试 ≥ 72小时\n\n5. **可靠性约束**\n - 关键模块双机热备\n - 核心进程看门狗监控,异常自动重启\n - 平均无故障时间(MTBF)高,平均修复时间(MTTR)低\n\n6. **环境适应性约束**\n - 通过高低温、湿热、振动、电磁兼容试验(符合GJB 151B)\n - 支持车载加固平台部署,具备宽温宽湿工作能力\n - 在网络受限或资源紧张时支持降级运行\n\n7. **可维护性约束**\n - 代码注释率 > 30%\n - 支持配置化参数调整,无需重新编译\n - 日志级别可配置,便于问题定位\n - 支持在线平滑升级\n\n---\n\n### **测试建议** \n1. **单元测试**\n - 对每个软件单元(SU-01 ~ SU-08)编写独立测试用例\n - 覆盖正常流程、边界条件、异常输入(如非法JSON、空事件)\n - 使用模拟数据验证事件处理、模板解析、任务生成等核心逻辑\n\n2. **集成测试**\n - 验证模块间接口调用是否正确(如SU-01 → SU-02 → SU-03的数据流)\n - 测试消息队列通信稳定性与数据一致性\n - 检查数据库事务完整性与索引性能\n\n3. **性能测试**\n - 使用JMeter或LoadRunner进行并发压测,验证系统在50+并发下的响应能力\n - 监控CPU、内存、磁盘IO、网络带宽使用情况\n - 测试事件批量处理吞吐量与延迟指标\n\n4. **可靠性测试**\n - 模拟网络中断、服务宕机,验证断点续传与双机切换能力\n - 长时间运行测试(≥72小时),观察内存泄漏与系统稳定性\n - 触发看门狗机制,验证异常恢复流程\n\n5. **安全测试**\n - 进行SQL注入、XSS攻击模拟,验证输入校验有效性\n - 检查敏感数据加密存储与传输合规性\n - 审计RBAC权限控制是否严格执行\n\n6. **环境适应性测试**\n - 在高低温箱中进行温度循环测试(-40℃ ~ +70℃)\n - 开展湿热试验(95% RH, 40℃, 48h)\n - 进行振动与冲击试验,验证车载平台适用性\n - 电磁兼容测试(RE102、CE101等项目)\n\n7. **可用性测试**\n - 组织真实用户(指挥员、参谋)进行操作体验评估\n - 评估界面布局合理性、操作流畅度、学习成本\n - 收集Tooltips提示、向导指引的实际帮助效果反馈\n\n8. **回归测试**\n - 每次版本迭代后执行全量回归测试\n - 利用自动化测试脚本覆盖关键路径\n - 结合持续集成(CI)流程,确保代码变更不影响既有功能", "eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_25f844ab0f1d40e2830597665310b2ce\\events.ndjson", "repoSettings": { "username": "root", "password": "pAssW0rd", "repoUrl": "http://47.108.255.216:3000/root/task_plan_execute.git", "branch": "main" }, "repoUrl": "http://47.108.255.216:3000/root/task_plan_execute.git", "branch": "main" }