Files
karuo-ai/01_卡资(金)/金仓_存储备份/聊天记录管理/实时同步机制说明.md
2026-07-19 00:21:46 +08:00

5.9 KiB
Raw Blame History

实时对话同步与优化迭代机制

核心机制每次对话结束时自动将对话写入MongoDB并进行智能优化迭代

一、机制概述

1.1 核心功能

每次对话结束时,realtime_chat_sync.py 自动执行以下操作:

  1. 实时写入MongoDB

    • 将对话记录写入 karuo_site.对话记录
    • 将消息内容写入 karuo_site.消息内容
    • 同步写入本地 fallbackMongoDB不可用时使用
  2. 智能优化迭代

    • 项目自动分类:基于文件路径、对话名称、内容的多维度匹配
    • 标签自动提取:基于关键词和项目类型自动生成标签
    • 摘要自动生成提取用户前3条消息的关键信息作为摘要
    • 分类规则优化:定期分析未分类对话,建议新关键词
  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、飞书、微信管理、工具维护、个人、开发

优化方式

  1. 定期执行 --optimize-classification 分析未分类对话
  2. 提取高频关键词,建议加入分类规则
  3. 手动更新 项目分类规则 字典

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_oneupsert=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 初始版本,基础归档功能