# Conversations(对话管理) **模块:** `gateway/core/conversations/` ## 文档维护规范 0. **先改文档,再动代码** - 新功能或重大修改需先完成文档更新、并完成审阅后,再进行代码实现 1. **文档分层,链接代码** - 关键实现需标注代码文件路径;格式:`module/file.py:function_name` 2. **简洁快照,日志分离** - 只记录已确认的设计 --- ## 模块职责 对话管理,包括: - **对话管理**:管理用户和 Agent 的对话 - **消息历史存储**:存储和查询消息历史 - **消息队列和调度**:管理消息队列,调度 Agent 执行 --- ## 核心概念 ### Conversation(对话) - **定义**:一个用户和一个 Agent 的永久对话 - **特点**: - 每个对话有独立的消息历史 - 对话是永久的 - 对话 ID 格式:`conversation:{trace_id}:{user_id}` ### 消息历史 - 每个对话的消息按时间顺序存储 - 包含用户消息和 Agent 回复 - 支持查询历史消息 ### 消息队列 - 管理待处理的消息 - 支持消息调度 - 防止并发冲突 --- ## 模块结构 ``` gateway/core/conversations/ ├── conversation_manager.py # 对话管理 ├── message_store.py # 消息历史存储 └── message_queue.py # 消息队列和调度 ``` --- ## 关键功能 ### 对话管理 **实现位置:** `gateway/core/conversations/conversation_manager.py` **职责:** - 创建对话 - 查询对话信息 - 列出所有对话 ### 消息历史存储 **实现位置:** `gateway/core/conversations/message_store.py` **职责:** - 存储消息 - 查询消息历史 - 消息持久化 ### 消息队列和调度 **实现位置:** `gateway/core/conversations/message_queue.py` **职责:** - 消息入队 - 消息调度 - 调用 Agent 执行 --- ## 两种 Agent 类型的对话管理 ### 个人助理型 Agent - 每个用户有独立的 Trace - 每个用户有独立的对话 - 对话 ID:`conversation:trace-alice-001:user_alice` ### 数字员工型 Agent - 所有用户共享一个 Trace - 每个用户有独立的对话 - 对话 ID:`conversation:trace-receptionist:user_alice` - Agent 可以查看所有对话的消息历史 --- ## 相关文档 - [需求规划](../requirements.md):对话管理需求 - [架构设计](../architecture.md):模块在整体架构中的位置 - [两种 Agent 类型](../requirements.md#两种-agent-类型):详细说明