task_plan/generation.json

30 lines
10 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": 42,
"generationId": "codegen_d0add3470891422097f0b7fb8558b115",
"language": "C++",
"status": "completed",
"fileIds": [
693
],
"outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_d0add3470891422097f0b7fb8558b115",
"relativeOutputDir": "codegen-runs/codegen_d0add3470891422097f0b7fb8558b115",
"generatedFiles": [
"CMakeLists.txt",
"README.md",
"events.ndjson",
"include/app.hpp",
"src/app.cpp",
"src/main.cpp",
"tests/basic_test.cpp"
],
"analysisSummary": "### 业务目标\n事件与任务管理软件ETMS作为战场任务规划系统BTPS的核心组件旨在实现从战场临机事件感知到作战任务草案生成的全流程支持。系统通过接入、处理和展示战场态势事件并结合任务模板知识库辅助指挥员在“人环协同”或“自主执行”模式下快速响应突发情况提升作战决策效率与响应速度。最终目标是构建一个高实时性、高可靠性、安全可控的任务生成准备平台支撑野战环境下高效的任务规划能力。\n\n---\n\n### 功能清单\n1. **事件接收与解析**\n - 监听消息队列MQTT/Kafka接收上游模块推送的原始事件数据。\n - 解析JSON格式事件包校验字段完整性并返回ACK确认信号。\n\n2. **事件处理与存储**\n - 对接收到的事件进行清洗、格式化和分类打标。\n - 将合法事件写入数据库t_event表状态标记为“Received”。\n\n3. **事件列表前端展示**\n - 分页查询事件数据,按创建时间倒序渲染至前端列表。\n - 支持滚动加载、点击查看详情,依据事件等级使用颜色标识。\n\n4. **事件排序与交互操作**\n - 提供事件列表自定义排序功能(如按时间、威胁度等维度)。\n - 用户可对事件执行“处理”、“拒绝”等操作,系统给予即时反馈。\n\n5. **待处理事件筛选与准备**\n - 接收标记为“待处理”的事件集合,建立事件与潜在任务的映射关系。\n - 在界面中高亮显示紧迫事件,支持查看详情。\n\n6. **任务模板知识库版本管理**\n - 查询可用的知识库版本列表,供用户选择用于模板生成的基础版本。\n - 支持锁定选定版本以确保一致性。\n\n7. **任务模板接收与更新**\n - 接收上级系统推送的任务模板集合JSON/XML格式。\n - 校验模板完整性后增量更新本地数据库t_task_template表。\n\n8. **任务模板可视化展示**\n - 以前端卡片或网格形式展示所有可用模板,包含名称、图标和简要描述。\n - 支持关键词搜索和分类浏览。\n\n9. **任务模板排序与详情查看**\n - 支持按指定字段(如适用场景、优先级)对模板列表进行排序。\n - 展示模板详细信息,包括树状结构的子任务列表,支持展开/折叠。\n\n10. **人机协同下的模板选择**\n - 在“人环模式”下允许用户手动选择任务模板。\n - 记录选择结果并传递给任务实例化模块。\n\n11. **自主推荐提示**\n - 在“自主执行模式”下根据事件特征自动推荐匹配模板。\n - 前端弹出提示框供用户确认是否采纳推荐方案。\n\n12. **任务生成请求发送**\n - 组装任务生成请求报文含事件引用、初始参数、模板ID等。\n - 通过HTTP协议将请求安全发送至外部任务规划引擎。\n\n---\n\n### 数据结构\n#### 核心数据库表\n**1. 事件表t_event**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 主键ID | id | BIGINT | 自增主键 |\n| 事件ID | event_id | VARCHAR(64) | 全局唯一标识 |\n| 事件类型 | event_type | VARCHAR(20) | 如侦察、打击、预警等 |\n| 时间戳 | timestamp | TIMESTAMP | 事件发生时间 |\n| 事件等级 | level | INTEGER | 数值表示紧急程度 |\n| 经度 | longitude | DOUBLE | 地理位置信息 |\n| 纬度 | latitude | DOUBLE | 地理位置信息 |\n| 描述文本 | description | TEXT | 事件具体内容 |\n| 状态 | status | VARCHAR(20) | Received, Processed, Pending Task, Rejected, Task Generated |\n| 创建时间 | create_time | TIMESTAMP | 记录入库时间 |\n\n**2. 任务模板表t_task_template**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 模板ID | template_id | VARCHAR(64) | 唯一标识 |\n| 名称 | name | VARCHAR(100) | 显示名称 |\n| 版本号 | version | VARCHAR(20) | 关联知识库版本 |\n| 内容路径 | content_path | TEXT | MinIO中模板文件存储路径 |\n| 适用类型 | applicable_type | VARCHAR(50) | 可匹配的事件类型 |\n| 创建时间 | create_time | TIMESTAMP | 模板导入时间 |\n\n**3. 知识库版本表t_kb_version**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 版本ID | version_id | VARCHAR(32) | 如KB-V1.0 |\n| 版本名称 | version_name | VARCHAR(50) | 友好显示名 |\n| 发布时间 | release_time | TIMESTAMP | 版本发布时间 |\n| 状态 | status | VARCHAR(20) | Active / Deprecated |\n\n#### 缓存与文件存储\n- **Redis缓存**:用于缓存热点事件数据、模板元数据及会话信息,提升高并发访问性能。\n- **MinIO对象存储**存放完整的任务模板定义文件JSON/XML通过唯一ID索引访问。\n\n---\n\n### 接口或命令\n#### 外部接口\n| 接口标识 | 名称 | 方向 | 协议 | 数据格式 | 描述 |\n|--------|-----|------|-------|---------|------|\n| SRS-ETMS_I_EVT_RAW | 接收原始事件数据 | 输入 | MQTT | JSON | 上游事件生成模块推送事件流最大4KB含event_id、eventType、timestamp、location等字段 |\n| SRS-ETMS_O_REQ_TSK | 发送任务生成请求 | 输出 | HTTP POST | JSON | 向任务规划引擎提交任务请求需OAuth2.0认证与HTTPS加密传输 |\n\n#### 内部API接口\n| 接口名称 | 方向 | 数据类型 | 描述 |\n|--------|------|----------|------|\n| Query API | 输入 | JSON | 分页查询参数page, size, sortField, sortOrder |\n| List Data | 输出 | JSON Array | 返回事件或模板列表数据 |\n| Sort Rule | 输入 | String | 用户选择的排序规则如threat_level_desc |\n| Version List | 输入 | JSON Array | 获取可用知识库版本列表 |\n| Selected Ver | 输出 | String | 用户选定的版本ID |\n| Template Pack | 输入 | JSON/XML | 接收模板集合数据包 |\n| Select Template | 输入 | String | 用户选择的模板ID |\n\n#### 消息通信机制\n- **消息队列**采用MQTT主题订阅方式实现异步事件接收。\n- **WebSocket**:向前端实时推送事件状态变更通知。\n- **RPC调用**:微服务间通过内部接口同步调用关键业务逻辑。\n\n---\n\n### 约束\n1. **技术栈约束**\n - 开发语言Java基于JVM\n - 框架Spring Boot 微服务架构\n - 前端框架Vue.js\n - 数据库PostgreSQL集群 + Redis缓存\n - 文件存储MinIO对象存储\n - 部署环境Kubernetes集群运行于CentOS/Kylin Linux发行版\n\n2. **安全性约束**\n - 所有敏感字段地理位置、部队番号须使用AES-256或国密SM4算法加密存储。\n - 数据传输全程启用HTTPS/TLS加密。\n - 身份认证采用JWT令牌机制会话超时设置≤30分钟。\n - 实施RBAC权限控制限制敏感操作访问。\n\n3. **性能约束**\n - 事件接收延迟 ≤ 500ms\n - 列表渲染响应时间 ≤ 800ms万级数据量\n - 支持≥1000个并发事件同时处理\n - 前端操作反馈延迟 ≤ 200ms\n\n4. **可靠性约束**\n - 关键路径具备重试机制(网络中断自动重连)\n - 数据库操作使用事务保证一致性\n - 心跳检测监控服务健康状态,异常时自动告警并切换备用节点\n\n5. **部署与环境适应性**\n - 支持内场模拟环境与野战指挥所双场景部署\n - 具备离线缓存能力,网络恢复后自动同步数据\n - 可在低配置服务器上稳定运行最低4核CPU、8GB内存\n\n6. **标准合规性**\n - 符合GJB 438C-2021文档规范要求\n - 界面设计遵循GJB军用软件人机界面标准色调、字体、控件统一\n\n---\n\n### 测试建议\n1. **功能测试**\n - 验证各功能单元是否按需求正确实现,重点覆盖:\n - 事件接收与ACK返回机制\n - 事件状态流转逻辑Received → Processed → Pending Task → Task Generated\n - 模板选择与任务请求组装流程\n - 不同排序规则下的列表展示效果\n\n2. **性能测试**\n - 使用JMeter模拟高并发事件涌入场景如1000+事件/秒)\n - 监测事件处理延迟、数据库写入吞吐量、GC频率\n - 结合Prometheus+Grafana采集CPU、内存、接口耗时指标评估系统瓶颈\n\n3. **安全性测试**\n - 进行SQL注入、XSS攻击模拟验证输入过滤有效性\n - 检查JWT令牌生命周期管理与会话劫持防护机制\n - 审计日志记录完整性,确保所有敏感操作可追溯\n\n4. **可靠性测试**\n - 模拟网络中断、数据库宕机等故障场景,验证系统容错与恢复能力\n - 测试消息队列断线重连与数据重传机制\n - 验证备份策略(全量+增量)的有效性及恢复时效\n\n5. **兼容性测试**\n - 在不同Linux发行版CentOS、Kylin上验证部署与运行稳定性\n - 测试跨浏览器兼容性Chrome、Edge、国产浏览器\n - 验证移动端适配能力(如有触屏操作需求)\n\n6. **可维护性与可观测性测试**\n - 验证ELK日志系统的检索能力能否按模块、级别、时间精准定位问题\n - 测试配置中心动态调整参数功能(无需重启服务)\n - 检查代码注释率与命名规范符合度不低于30%注释率)\n\n7. **集成与端到端测试**\n - 构建Mock服务模拟上游事件源与下游任务引擎开展隔离测试\n - 执行完整链路测试:事件接入 → 展示 → 用户选择模板 → 发起任务请求\n - 验证各微服务间RPC调用与消息总线协作的正确性与稳定性",
"eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_d0add3470891422097f0b7fb8558b115\\events.ndjson",
"repoSettings": {
"username": "root",
"password": "pAssW0rd",
"repoUrl": "http://47.108.255.216:3000/root/task_plan.git",
"branch": "main"
},
"repoUrl": "http://47.108.255.216:3000/root/task_plan.git",
"branch": "main"
}