5.9 KiB
5.9 KiB
实时对话同步与优化迭代机制
核心机制:每次对话结束时自动将对话写入MongoDB,并进行智能优化迭代
一、机制概述
1.1 核心功能
每次对话结束时,realtime_chat_sync.py 自动执行以下操作:
-
实时写入MongoDB
- 将对话记录写入
karuo_site.对话记录 - 将消息内容写入
karuo_site.消息内容 - 同步写入本地 fallback(MongoDB不可用时使用)
- 将对话记录写入
-
智能优化迭代
- 项目自动分类:基于文件路径、对话名称、内容的多维度匹配
- 标签自动提取:基于关键词和项目类型自动生成标签
- 摘要自动生成:提取用户前3条消息的关键信息作为摘要
- 分类规则优化:定期分析未分类对话,建议新关键词
-
优化算法
- 项目分类使用权重匹配(文件路径权重3、名称权重2、内容权重1)
- 标签提取基于关键词库和项目类型
- 摘要生成提取用户消息的前3条关键信息
二、自动触发机制
2.1 Cursor Hook(默认,不占 Agent 终端)
本机 ~/.cursor/hooks.json 注册 afterAgentResponse,调用 ~/.cursor/hooks/karuo_mongo_chat_sync.sh:在 每条 Agent 用户可见回复结束后 后台 执行 realtime_chat_sync.py(自动分类、标签、摘要、写 Mongo、刷新 项目分类 等与原先一致)。日志:聊天记录管理/日志/cursor_hook_chat_sync.log。
规则说明仍见 .cursor/rules/karuo-ai.mdc 与 运营中枢/参考资料/卡若AI_Mongo对话留存闭环.md。修改 Hook 后请重启 Cursor。
显式命令(立即入库、全量、修索引、Hook 不可用等):仍使用
python3 01_卡资(金)/金仓_存储备份/聊天记录管理/脚本/realtime_chat_sync.py(可加 --force / --sync-all 等)。
2.2 执行流程
Agent 回复结束 → Cursor 调 Hook → 后台 realtime_chat_sync.py →
读取 state.vscdb → 智能分类+标签+摘要 → 写入 MongoDB → 同步 fallback
三、使用方法
3.1 自动执行(推荐)
对话结束时,Cursor会自动调用,无需手动操作。
3.2 手动执行
# 同步最新对话
python3 脚本/realtime_chat_sync.py
# 指定对话ID同步
python3 脚本/realtime_chat_sync.py --current-conversation-id <对话ID>
# 强制更新已存在的对话
python3 脚本/realtime_chat_sync.py --current-conversation-id <对话ID> --force
# 优化分类规则(分析未分类对话,建议新关键词)
python3 脚本/realtime_chat_sync.py --optimize-classification
# 查看统计
python3 脚本/realtime_chat_sync.py --stats
四、优化迭代机制
4.1 项目分类优化
当前分类规则(15类):
- 卡若AI、Soul创业、存客宝、玩值电竞、数据处理、神射手、上帝之眼
- 服务器、设备管理、群晖NAS、飞书、微信管理、工具维护、个人、开发
优化方式:
- 定期执行
--optimize-classification分析未分类对话 - 提取高频关键词,建议加入分类规则
- 手动更新
项目分类规则字典
4.2 标签提取规则
自动标签类型:
- 基于项目:自动添加项目名作为标签
- 基于关键词:bug修复、功能开发、优化、部署、数据分析、文档
扩展方式:
- 修改
提取标签()函数中的关键词标签字典
4.3 摘要生成规则
当前规则:
- 提取用户前3条消息
- 每条消息截取前100字符
- 总长度不超过300字符
优化方向:
- 可引入NLP模型提取关键信息
- 可基于对话主题生成更精准摘要
五、数据存储结构
5.1 对话记录集合
{
"对话ID": "uuid",
"名称": "对话名称",
"副标题": "自动生成的摘要",
"项目": "自动分类的项目",
"标签": ["标签1", "标签2"],
"创建时间": ISODate,
"更新时间": ISODate,
"消息数量": 10,
"是否Agent": true,
"模型配置": {},
"关联文件": ["/path/to/file"],
"首条消息": "用户第一条消息摘要",
"来源": "实时同步",
"同步版本": "2.0"
}
5.2 消息内容集合
{
"对话ID": "uuid",
"消息ID": "bubbleId",
"类型": 1, // 1=用户, 2=AI
"角色": "用户",
"内容": "消息文本",
"创建时间": ISODate,
"是否Agent": true,
"Token用量": {},
"工具调用数": 0,
"代码块数": 0
}
六、性能与可靠性
6.1 性能优化
- 增量同步:只同步新对话,已存在对话跳过(除非使用
--force) - 批量写入:消息内容使用
bulk_write批量操作 - 连接复用:MongoDB连接复用,减少连接开销
6.2 容错机制
- MongoDB不可用:自动降级到本地fallback
- state.vscdb不存在:友好提示,不中断流程
- 数据解析失败:跳过该对话,继续处理其他对话
6.3 数据一致性
- upsert操作:使用
update_one的upsert=True确保数据不重复 - 时间戳同步:保留原始创建时间,更新时间实时更新
- fallback同步:MongoDB写入成功后同步写入fallback
七、迭代改进计划
7.1 短期优化
- 引入更智能的NLP模型进行项目分类
- 支持自定义分类规则配置
- 增加对话质量评分机制
7.2 长期优化
- 基于历史对话学习优化分类规则
- 自动生成对话标签建议
- 对话主题聚类分析
- 智能摘要生成(基于LLM)
八、相关文件
- 核心脚本:
脚本/realtime_chat_sync.py - SKILL文档:
SKILL.md - Cursor规则:
.cursor/rules/karuo-ai.mdc - Fallback机制:
脚本/chat_fallback.py
九、版本历史
| 版本 | 日期 | 变更 |
|---|---|---|
| 2.0 | 2026-03-20 | 创建实时同步机制,支持智能分类、标签提取、摘要生成 |
| 1.0 | 2026-03-19 | 初始版本,基础归档功能 |