让每一次对话,都成为你的长期知识资产。
Turn conversations into a private knowledge base that keeps growing with you.
产品价值 · 核心能力 · 全链路架构 · 快速开始 · 完整教程 · 架构文档
微信和 QQ 里保存着大量有价值的东西:一次关键讨论、一条踩坑经验、某位专家的判断、一个尚未实现的想法,以及团队在无数轮争论后形成的决策。
但聊天窗口并不是知识系统。消息会被新消息淹没,经验会在群成员之间反复重讲,重要结论最终只剩一句“我记得以前有人说过”。
ChatMemory v1.4 希望结束这种损耗。
它将授权的微信与 QQ 聊天记录导出、清洗并重新理解,把碎片化对话组织成一个保存在本地、可以持续增量更新、能够搜索与追溯的私人知识库。知识不再被锁在聊天平台里,而是以 Markdown、JSON、双向链接、时间线和知识图谱的形式沉淀到你真正拥有的空间中。
这不只是聊天备份。 这是一个把群聊经验转化为个人长期记忆的对话知识基础设施。
| 过去 | ChatMemory v1.4 |
|---|---|
| 聊天记录不断向上滚动 | 持续生长的私人知识库 |
| 只能依赖关键词翻找 | 实体、关系、时间线与图遍历 |
| 同一个问题被反复讨论 | 经验归并、证据聚合与矛盾发现 |
| 报告生成后即成为静态文件 | 知识成熟度与新鲜度持续校准 |
| 数据被困在微信和 QQ | 本地 Markdown / JSON / Obsidian Vault |
| 开始新项目时重新收集上下文 | 按项目描述装配相关知识子图 |
- 谁在某个方向上持续贡献高质量经验;
- 某项工具如何配置、依赖什么、解决什么问题;
- 团队做过哪些决定,以及决定形成的上下文;
- 不同群聊对同一个问题是否存在冲突观点;
- 一条知识是刚出现的线索,还是被多次验证的稳定经验;
- 一个新项目最相关的概念、人物、工具、资源与知识缺口。
ChatMemory 早期版本聚焦“导出、清洗、生成报告”。v1.4 在此基础上建立了完整的知识图谱与知识治理链路。
- 对话线程分离:依据时间窗口、回复关系和文本相似度,降低多人并行讨论造成的上下文串线。
- 候选知识生成:从问答、陈述、决策和共同出现关系中生成高召回候选。
- 语义实体抽取:识别工具、人物、概念、决策和资源五类实体。
- 17 类关系体系:覆盖使用、依赖、实现、配置、比较、替代、矛盾、上下文等知识连接。
- 实体归并:跨群合并别名与重复实体,并将低置信度结果留给人工复核。
- 矛盾处理:发现冲突主张,并将关系标记为
preferred、normal或deprecated。 - 双轴知识校准:通过
maturity_state与freshness_weight区分线索、成长知识、稳定知识和归档知识。 - Schema v4 校验:在写入知识库前检查实体、关系、置信度和引用完整性。
- 混合召回与图遍历:从关键词种子向相关人物、工具和概念扩展,而不是只返回一行文本。
- 项目上下文装配:根据项目描述生成相关知识子图、可用能力和待补知识缺口。
ChatMemory 会生成可以直接打开的 Obsidian Vault:
vaults/default/
├── concepts/ # 概念与方法
├── people/ # 人物与专家线索
├── tools/ # 工具、模型与平台
├── decisions/ # 决策与结论
├── resources/ # 链接、论文与资料
├── _moc/ # 自动维护的知识地图
├── _timeline/ # 按日期组织的知识演化
└── .obsidian/ # Graph View / Juggl 配置
每个知识节点都可以包含 Frontmatter 元数据、双向链接、来源消息、证据数量、成熟状态与更新时间。你可以继续在 Obsidian 中编辑、连接和扩展它,而不是被锁定在某个不可迁移的云端系统里。
当前版本采用 Markdown + JSON/JSONL + Obsidian Vault 构成文件型知识数据库。它具备增量更新、Manifest、实体合并和图谱索引,但尚未内置 SQLite、向量数据库或云数据库服务。
| 能力层 | 功能 | 主要实现 |
|---|---|---|
| 数据接入 | 微信 WeFlow API、QQ OneBot API | wechat_export.py、qq_export.py |
| 消息理解 | XML 解析、噪声过滤、碎片合并、问答保护 | chat_cleaner.py、message_normalizer.py |
| 链接知识化 | GitHub / 网页 / 微信文章展开,Robots 与 SSRF 防护 | link_expander.py |
| 线程重建 | 回复候选、时间窗口、相似度与置信度分层 | thread_disentangler.py |
| 图谱生成 | 候选实体、候选关系、语义分析 | candidate_generator.py、semantic_analyzer.py |
| 知识治理 | 实体归并、矛盾处理、成熟度与新鲜度校准 | entity_resolver.py、contradiction_resolver.py、graph_calibrator.py |
| 质量门禁 | Schema v4 与 17 类关系注册表 | schema_validator.py、relation_registry.py |
| 私人知识库 | Vault、MOC、时间线、双向链接、增量写入 | obsidian_writer.py |
| 跨群融合 | 多群图谱合并、候选复核、Vault 同步 | vault_merger.py |
| 知识使用 | 图遍历、混合召回、项目上下文装配 | graph_traversal.py、context_assembler.py |
| 深度研究 | NotebookLM 周报、专题报告、思维导图 | chatmemory_notebooklm.py |
你的聊天记录
→ 你的本地缓存
→ 你的知识图谱
→ 你的 Obsidian Vault
→ 由你决定是否上传 NotebookLM
NotebookLM 是可选增强能力。仅使用 Obsidian 知识库时,主要数据处理与知识文件均保留在本地。
| 产物 | 格式 | 用途 |
|---|---|---|
| 清洗对话 | TXT | 去噪、合并并保留上下文的可读记录 |
| 知识卡片 | JSON | 主题、参与者、锚点与来源消息 |
| 候选图谱 | JSON | 线程、实体候选、关系候选和时间线 |
| 校准图谱 | JSON Schema v4 | 实体、关系、证据、成熟度与新鲜度 |
| 私人知识库 | Obsidian Vault | 可编辑、可迁移、可导航的长期知识空间 |
| 合并图谱 | JSON / JSONL | 跨群实体归并与人工复核候选 |
| 项目上下文 | Markdown / JSON | 面向具体项目的知识子图与缺口 |
| 分析报告 | 日报、周报和专题深度报告 | |
| 思维导图 | JSON | NotebookLM 或本地降级生成的结构化导图 |
- Windows 10/11;
- Python 3.7+;
- 微信数据源:WeFlow 4.5.1;
- QQ 数据源:QCE / NapCatQQ;
- 可选:Obsidian;
- 可选:NotebookLM CLI。
# 1. 克隆项目
cd E:\
git clone https://github.com/head-tea/chatmemory.git
cd chatmemory
# 2. 初始化目录、配置与 Obsidian 模板
python setup.py init
# 3. 安装 Python 依赖
pip install -r requirements.txt
# 4. 检查环境
python setup.py check微信用户需要配置 WeFlow Token:
$env:CHATMEMORY_WEFLOW_TOKEN="你的 Token"详细安装、WeFlow/QCE 配置与故障排查见 TUTORIAL.md。
# 微信
python scripts/wechat_export.py --contact "群名" --days 7
# QQ
python scripts/qq_export.py --contact "群名" --days 7也可以使用 --all 导出全部会话,或增加 --exact 进行精确名称匹配。
python scripts/chat_cleaner.py "cache/raw_exports/群名/导出文件.txt" --obsidian只生成知识图谱,不继续常规输出:
python scripts/chat_cleaner.py "导出文件.txt" --obsidian-only全量重建或指定 Vault:
python scripts/chat_cleaner.py "导出文件.txt" --obsidian --no-incremental
python scripts/chat_cleaner.py "导出文件.txt" --obsidian --vault-path "D:/MyKnowledgeVault"python scripts/vault_merger.py merge --generate-vault
python scripts/vault_merger.py candidates --verbose
python scripts/vault_merger.py syncpython scripts/chat_cleaner.py "导出文件.txt" --obsidian --assemble "构建一个面向科研团队的多智能体文献分析系统"python scripts/chatmemory_notebooklm.py inspect
python scripts/chatmemory_notebooklm.py upload --group "群名" --notebooklm-enrich
python scripts/chatmemory_notebooklm.py weekly --group "群名" --notebooklm-enrich
python scripts/chatmemory_notebooklm.py deep --group "群名" --anchor "关键词" --notebooklm-enrich
python scripts/chatmemory_notebooklm.py mind-map --group "群名"也可以一条命令完成图谱生成与 NotebookLM 上传:
python scripts/chat_cleaner.py "导出文件.txt" --obsidian-then-notebooklm执行 python setup.py init 会自动安装微信、QQ 与 Obsidian 三个核心 Skill;仓库还提供以下可选知识搜索、升级与复核 Skill,可按需复制到 Claude Code Skills 目录:
| 命令 | 用途 |
|---|---|
/chatmemory-wechat |
微信导出与清洗 |
/chatmemory-qq |
QQ 导出与清洗 |
/chatmemory-obsidian |
生成 Obsidian 私人知识库 |
/chatmemory-obsidian-then-notebooklm |
图谱与 NotebookLM 联动 |
/chatmemory-obsidian-upgrade |
升级并重新校准旧图谱 |
/cm-obsidian-search |
搜索知识库 |
/cm-obsidian-fd-expert |
发现相关专家线索 |
/cm-obsidian-weak |
查找知识缺口 |
/cmv-check-wx-qq |
复核跨群实体合并候选 |
完整 Skill 说明见 SKILL.md。
chatmemory/
├── scripts/
│ ├── wechat_export.py # 微信导出
│ ├── qq_export.py # QQ 导出
│ ├── chat_cleaner.py # 主清洗与知识库管道
│ ├── thread_disentangler.py # 对话线程分离
│ ├── candidate_generator.py # 候选知识生成
│ ├── semantic_analyzer.py # 本地语义分析
│ ├── graph_extractor.py # 图谱抽取与降级流程
│ ├── entity_resolver.py # 实体归并
│ ├── contradiction_resolver.py # 矛盾处理
│ ├── graph_calibrator.py # 知识校准
│ ├── schema_validator.py # Schema 质量门禁
│ ├── obsidian_writer.py # Vault 写入
│ ├── vault_merger.py # 跨群图谱融合
│ ├── graph_traversal.py # 类型化图遍历
│ ├── context_assembler.py # 项目上下文装配
│ └── chatmemory_notebooklm.py # NotebookLM 分析
├── obsidian_template/ # Obsidian 模板与图谱配置
├── sub-skills/ # Claude Code 工作流技能
├── config.json # 统一配置
├── cleaning_rules.json # 清洗策略
├── architecture.md # 架构细节
└── TUTORIAL.md # 完整教程
- 原始导出、清洗结果、图谱和 Vault 默认保存在本地;
- Token 通过环境变量读取,不应写入仓库;
- 缓存、聊天记录、生成 Vault、密钥和本地工具均由
.gitignore排除; - 外部上传仅在用户主动使用 NotebookLM 功能时发生。
链接展开模块会检查 robots.txt,遵守 Robots Exclusion Protocol(RFC 9309),并对私有地址、Loopback、Link-local 和其他潜在 SSRF 目标进行限制。项目不会通过伪装浏览器或绕过访问控制来获取内容。
请仅处理你拥有或已获得授权的数据:
- ✅ 分析自己的聊天记录;
- ✅ 处理研究或团队中获得明确授权的数据;
- ❌ 未经同意收集或公开他人的私人聊天;
- ❌ 绕过平台访问控制或违反适用法律与服务条款;
- ❌ 将知识图谱中的自动推断当作未经复核的事实。
ChatMemory 提供知识整理与分析能力,不替代事实核验、法律判断或专业决策。
- 数据接入工具目前主要面向 Windows;
- WeFlow 与 QQ 客户端兼容性受上游版本影响;
- 语义图谱包含规则与模型推断结果,重要知识应保留来源并人工复核;
- 文件型知识数据库适合个人与中小规模团队,超大规模数据仍需要未来的数据库与向量检索后端;
- Obsidian Graph View 的呈现效果取决于 Vault 规模及插件配置。
ChatMemory 建立在 WeFlow、QQChatExporter / NapCatQQ、Obsidian、NotebookLM、Claude Code 以及 Python 开源生态之上。感谢所有帮助用户重新拥有自己数据与知识的工具作者。
Your conversations are temporary. Your knowledge does not have to be.
把对话留在当下,把知识带向未来。

