Skip to content

Latest commit

 

History

History
151 lines (115 loc) · 4.37 KB

File metadata and controls

151 lines (115 loc) · 4.37 KB

工程师对话功能实现说明

功能概述

为DeepSOC系统实现了工程师与AI助手的独立对话功能,允许工程师在作战室中直接与AI助手进行交流,获取专业的安全建议和协助,同时保持与多Agent系统的完全隔离。

核心特性

1. 统一消息存储

  • 所有消息(Agent消息 + 工程师对话)统一存储在Message表中
  • 通过message_category字段区分消息类型('agent' / 'engineer_chat')
  • 确保作战室按时间顺序正确显示所有消息流

2. 对话会话管理

  • 每个工程师-事件对应一个独立的对话会话
  • 通过chat_session_id管理对话会话
  • 支持轮次限制(默认10轮),达到限制后可创建新会话

3. 事件上下文感知

  • 每次对话自动携带最新的事件概要信息
  • 检测概要更新并通知AI助手
  • 保持对话与事件状态的同步

4. 智能上下文构建

  • 自动获取对话历史(最近10轮)
  • 动态检测事件概要变更
  • 为AI提供完整的上下文信息

技术实现

数据库扩展

扩展了Message表,添加以下字段:

-- 工程师对话相关字段
message_category VARCHAR(32) DEFAULT 'agent'  -- 消息分类
chat_session_id VARCHAR(64)                   -- 对话会话ID
sender_type VARCHAR(32)                       -- 发送者类型
event_summary_version VARCHAR(64)             -- 事件概要版本

后端架构

1. EngineerChatController

  • 核心业务逻辑控制器
  • 处理对话历史管理
  • 实现上下文构建和AI调用
  • 确保与Agent系统隔离

2. API端点

POST /api/engineer-chat/send          # 发送消息
GET  /api/engineer-chat/history       # 获取对话历史
POST /api/engineer-chat/new-session   # 创建新会话
GET  /api/engineer-chat/status        # 获取对话状态

3. WebSocket集成

  • 工程师对话消息自动通过WebSocket广播
  • 保持实时通信体验
  • 与现有消息流完美集成

前端实现

1. 用户交互

  • @开头的消息自动识别为工程师对话
  • 普通消息继续参与Agent协作
  • 智能输入提示和状态反馈

2. 消息显示

  • 工程师问题:右侧显示,蓝色主题
  • AI助手回复:左侧显示,绿色主题,支持Markdown渲染
  • 与Agent消息清晰区分

3. 样式设计

  • 响应式布局适配
  • 科技感视觉风格
  • 支持代码高亮和格式化

使用方式

基本用法

  1. 在作战室输入框中输入以@开头的消息
  2. 消息将发送给AI助手进行独立对话
  3. AI助手会基于当前事件上下文提供回复

示例对话

工程师: @这个安全事件的风险等级如何?
AI助手: 根据当前事件信息,这是一个中等风险的安全事件...

工程师: @建议采取什么应急措施?
AI助手: 基于事件分析,建议采取以下措施:1. 立即隔离...

轮次管理

  • 每个会话最多支持10轮对话
  • 达到限制时系统提示创建新会话
  • 历史对话记录永久保存

系统隔离性

1. 数据隔离

  • 工程师对话使用独立的Controller和Service
  • 通过字段标识区分消息类型
  • 不影响Agent系统的业务逻辑

2. 功能隔离

  • 独立的API路由和处理逻辑
  • 独立的AI调用通道
  • 独立的会话管理机制

3. 显示隔离

  • 前端明确区分不同类型消息
  • 独立的样式和交互逻辑
  • 统一的时间线显示

配置和部署

环境要求

  • 现有DeepSOC系统环境
  • LLM服务配置(使用现有配置)
  • 数据库迁移支持

部署步骤

  1. 运行数据库迁移:flask db upgrade
  2. 重启DeepSOC服务
  3. 功能自动可用,无需额外配置

测试验证

使用提供的测试工具验证功能:

python tools/test_engineer_chat.py

未来扩展

预留功能

  1. 自动总结:对话轮次达到限制时自动总结
  2. 多轮次管理:支持更复杂的会话管理策略
  3. 个性化设置:支持用户自定义对话参数
  4. 智能路由:根据消息内容智能判断处理方式

扩展接口

  • 配置化的轮次限制
  • 可插拔的AI服务提供者
  • 自定义上下文构建策略

总结

工程师对话功能成功实现了人机协作的新模式,在保持系统架构清晰的同时,为安全工程师提供了强大的AI助手支持。该功能设计精良,实现完善,为DeepSOC系统的智能化运营提供了重要支撑。