知识库自动化 - 微信文章自动同步与AI编译系统
📅 更新时间: 2026-05-11 | 标签: Python | OpenClaw | sage-wiki
项目概述
知识库自动化是一个全自动的微信公众号文章采集与AI知识库编译系统。通过微信机器人采集文章、同步到腾讯云服务器、使用sage-wiki进行AI编译,最终生成Obsidian知识库中的概念图谱。
| 特性 | 说明 |
|---|---|
| 自动化采集 | OpenClaw微信机器人自动抓取公众号文章 |
| 服务器同步 | SSH从腾讯云定期拉取文件到本地 |
| AI编译 | sage-wiki + DeepSeek + Ollama 双Provider架构 |
| 知识库 | 输出到Obsidian(F:/MyVault) |
一、系统架构
1.1 整体架构
┌─────────────────────────────────────────────────────────────────────────┐ │ 腾讯云服务器 (159.75.8.159) │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ OpenClaw 微信机器人 │ │ │ │ → 接收微信链接(公众号文章、B站视频) │ │ │ │ → 存入 /root/.openclaw/workspace/ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ sage-wiki compile --watch ← 监听新文件,自动编译 │ │ │ │ → Sources: 微信文章/ bilibili_output/ transcripts/ research/ │ │ │ │ → Output: wiki/concepts/ + wiki/summaries/ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ Ollama v0.23.2 (端口 11434) │ │ │ │ → nomic-embed-text:8k (embedding, 768维, 8192 tokens 上下文) │ │ │ └────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────┘ ↓ 同步 ┌─────────────────────────────────────────────────────────────────────────┐ │ 本地 Windows │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ wechat_sync.py (定时同步) │ │ │ │ → 同步服务器 workspace → 本地 F:/MyVault/ │ │ │ └────────────────────────────────────────────────────────────────────┘ │ │ ┌────────────────────────────────────────────────────────────────────┐ │ │ │ sage-wiki 本地编译 │ │ │ │ → Go 1.26.2 + sage-wiki 最新版 │ │ │ │ → DeepSeek API (chat) + Ollama (embedding) │ │ │ └────────────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────────┘1.2 组件状态
| 组件 | 版本 | 状态 | 说明 |
|---|---|---|---|
| OpenClaw | - | ✅ 运行中 | 微信机器人,接收链接 |
| sage-wiki | 最新版 | ✅ 编译成功 | 知识库编译引擎 |
| Ollama | v0.23.2 | ✅ 运行中 | 本地模型服务 |
| nomic-embed-text:8k | - | ✅ 已就绪 | 768维,8192 tokens |
| DeepSeek API | - | ✅ 正常 | deepseek-v4-flash |
二、数据流向
微信/浏览器 → OpenClaw → 服务器 workspace/ ↓ sage-wiki compile --watch ↓ wiki/ (concepts + summaries) ↓ wechat_sync.py 同步 ↓ 本地 F:/MyVault/wiki/三、项目结构
知识库自动化/ ├── src/ │ ├── core/ # 核心模块 │ │ ├── ai_processor.py # AI处理/摘要/标签 │ │ ├── file_manager.py # 归档到Obsidian │ │ ├── dedup.py # 去重 │ │ ├── knowledge_base.py # 知识库管理 │ │ ├── vector_store.py # 向量存储 │ │ └── transcriber.py # Whisper转录 │ ├── pipelines/ # 流水线 │ │ ├── wechat_article_pipeline.py # 文章归档 │ │ └── video_pipeline.py # 视频处理 │ ├── bots/ # 机器人 │ │ ├── feishu_bot.py # 飞书机器人 │ │ ├── feishu_server.py # Webhook服务 │ │ └── email_handler.py # 邮箱监控 │ └── sync/ # 同步 │ ├── wechat_sync.py # 服务器同步 │ └── wechat_monitor.py # 公众号监控 ├── scripts/ │ ├── ssh_helper.py # SSH封装工具 │ └── cleanup_wechat_images.py # 图片清理 ├── docs/ │ ├── 复盘.md # 项目历史 │ ├── 知识库管理手册.md # Hermes运维指南 │ └── 服务器wiki使用说明.md # 服务器操作 └── data/ └── config_test.yaml # 同步配置四、核心模块详解
4.1 文件同步 (src/sync/wechat_sync.py)
功能:通过 SSH/SFTP 从服务器拉取文件到本地
同步目录:
| 名称 | 远程路径 | 本地路径 |
|---|---|---|
| wechat_articles | /root/.openclaw/workspace/微信文章 | F:/MyVault/00_Inbox/微信文章 |
| bilibili_output | /root/.openclaw/workspace/bilibili_output | F:/MyVault/04_视频转录/B站 |
| wiki_concepts | /root/.openclaw/workspace/wiki/concepts | F:/MyVault/wiki/concepts |
| wiki_summaries | /root/.openclaw/workspace/wiki/summaries | F:/MyVault/wiki/summaries |
核心代码:
fromsrc.sync.wechat_syncimportServerSyncimportyamlwithopen('data/config_test.yaml','r')asf:config=yaml.safe_load(f)sync=ServerSync(config)result=sync.sync_directory_by_name('wiki_concepts')print(result)4.2 SSH 工具 (scripts/ssh_helper.py)
功能:封装 SSH 连接,供 Hermes 远程执行服务器命令
# 查看磁盘空间python scripts/ssh_helper.py"df -h /"# 查看 Ollama 模型python scripts/ssh_helper.py"sudo ollama list"# 查看编译日志python scripts/ssh_helper.py"sudo tail -50 /var/log/sage-wiki/compile.log"配置:
HOST='159.75.8.159'USERNAME='ubuntu'KEY_FILE='D:/python学习历程/自制项目/tencent_ed25519.pem'4.3 文章流水线 (src/pipelines/wechat_article_pipeline.py)
功能:微信文章 → AI 处理 → 归档到 Obsidian
fromsrc.pipelines.wechat_article_pipelineimportWechatArticlePipeline# 初始化pipeline=WechatArticlePipeline(config)# 处理所有待处理文章pipeline.process_all()五、配置文件
5.1 同步配置 (data/config_test.yaml)
server_sync:host:159.75.8.159port:22username:ubuntukey_file:D:/python学习历程/自制项目/tencent_ed25519.pemdirectories:-name:wiki_conceptsremote:/root/.openclaw/workspace/wiki/conceptslocal:F:/MyVault/wiki/conceptsinclude_subdirs:false-name:wiki_summariesremote:/root/.openclaw/workspace/wiki/summarieslocal:F:/MyVault/wiki/summariesinclude_subdirs:false5.2 服务器 sage-wiki 配置
位置:/root/.openclaw/workspace/config.yaml
api:provider:openai-compatibleapi_key:YOUR_API_KEYbase_url:https://api.deepseek.com/v1models:summarize:deepseek-v4-flashextract:deepseek-v4-flashwrite:deepseek-v4-flashembed:provider:openai-compatibleapi_key:ollamabase_url:http://localhost:11434/v1model:nomic-embed-text:8ksearch:chunk_size:1000compiler:max_parallel:2mode:standard关键配置点:
search.chunk_size: 1000- 文本分块,解决 embedding 长度限制compiler.mode: standard- 禁用 batch 模式(DeepSeek 不支持)embed.model: nomic-embed-text:8k- 扩展上下文模型
六、编译结果
| 指标 | 数值 |
|---|---|
| Sources | 29 |
| Summarized | 20 |
| Concepts | 15 |
| Articles | 15 |
| Errors | 9 (图片格式) |
| 成本 | ~$0.19/次 |
七、运维指南
7.1 日常检查
# 1. 服务器磁盘空间python scripts/ssh_helper.py"df -h /"# 2. Ollama 模型状态python scripts/ssh_helper.py"sudo ollama list"# 3. sage-wiki 编译状态python scripts/ssh_helper.py"cat /root/.openclaw/workspace/.sage/status.json"7.2 触发编译
# 服务器全量编译python scripts/ssh_helper.py"cd /root/.openclaw/workspace && sage-wiki compile --project . --fresh"# 本地编译cdF:/MyVault&&sage-wiki compile--project.--fresh7.3 故障排查
| 问题 | 解决方案 |
|---|---|
| 磁盘空间不足 | sudo apt-get clean -y |
| Embedding 报错 | 检查search.chunk_size: 1000 |
| Batch API 404 | 设置compiler.mode: standard |
| 图片处理失败 | 确认 ignore 列表包含*.jpg/*.png |
八、知识库闭环
服务器编译 (sage-wiki) → 本地同步 (wechat_sync.py) → 本地 wiki 目录闭环验证
| 同步目标 | 服务器 | 本地 | 状态 |
|---|---|---|---|
| wiki_concepts | /root/.openclaw/workspace/wiki/concepts | F:/MyVault/wiki/concepts | ✅ 15 文件 |
| wiki_summaries | /root/.openclaw/workspace/wiki/summaries | F:/MyVault/wiki/summaries | ✅ 12 文件 |
九、相关文档
| 文档 | 说明 |
|---|---|
| docs/复盘.md | 项目开发历史记录 |
| docs/知识库管理手册.md | Hermes Agent 运维指南 |
| docs/服务器wiki使用说明.md | 服务器操作速查 |
更新日志
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0 | 2026-05-11 | 初始版本,包含完整架构和运维指南 |
享受自动化知识管理的乐趣!🎉
s | F:/MyVault/wiki/summaries | ✅ 12 文件 |
九、相关文档
| 文档 | 说明 |
|---|---|
| docs/复盘.md | 项目开发历史记录 |
| docs/知识库管理手册.md | Hermes Agent 运维指南 |
| docs/服务器wiki使用说明.md | 服务器操作速查 |
更新日志
| 版本 | 日期 | 说明 |
|---|---|---|
| v1.0 | 2026-05-11 | 初始版本,包含完整架构和运维指南 |
享受自动化知识管理的乐趣!🎉
