知识库自动化流水线:NAS+微信+Hermes+Obsidian 全链路打通

作者:浅木·先生 | 2026-06-16

一、认识"财政剁手党"的自我修养

作为一个在财政系统摸爬滚打多年的"老财",我最深的体会是:信息差才是最大的成本

每天打开微信,工作群、政策群、行业交流群里的消息像潮水一样涌来。国务院刚发的预算管理一体化规范、财政部最新的政府采购投诉处理规则、地方财政局的试点经验分享——这些信息如果你没在第一时间抓住,等过了三天再去翻聊天记录,大概率已经找不到了。

更痛苦的是,就算你当时看了、收藏了,到了月底写分析报告的时候,依然需要翻遍各个角落去找那条"我记得看过"的文章。

2026年初,当我第一次接触 Hermes Agent 时,我发现了一个残酷的现实:不是 AI 不够强,而是我的知识管理方式还停留在农耕时代。

这篇文章,就是我在过去几个月里,从"手动收藏-手动整理-手动归档"的农耕模式,进化到"微信抓取→Hermes处理→Obsidian归档→NAS备份"全自动化流水线的完整记录。踩过的坑、填过的代码、重装过的系统,都在这里了。

二、架构总览:一条水管贯通四个池子

在动手之前,我先画了一张架构图(用 Mermaid 在 Obsidian 里),虽然最终实现时调整了不少细节,但大方向是对的:

微信文章 ──→ OpenClaw 微信技能 ──→ Markdown 落盘
                      │
                      ▼
               Hermes Agent
           (LLM 摘要 + 自动打标)
                      │
                      ▼
         Obsidian Vault /Inbox 目录
                      │
                      ▼
        Obsidian 模板引擎 → 正式归档
                      │
                      ▼
              NAS 定时同步备份

整个链条的核心逻辑只有一句话:让信息在无人值守的情况下,自己完成从原始文本到结构化知识的转变。

具体到每个环节,我使用的工具链如下:

环节 工具 版本/部署方式
微信文章抓取 OpenClaw v3.7,部署在极空间 Z4Pro NAS
内容处理引擎 Hermes Agent v0.6.2,本地部署 + NAS Docker
知识存储 Obsidian v1.8.9,Windows 客户端
文件备份 极空间 NAS ZDR 模式,双向同步
模型后端 DeepSeek V4 / Claude 混合路由

三、Step 1:微信文章自动抓取——从"人找信息"到"信息找人"

3.1 OpenClaw 微信技能配置

第一个要解决的问题是:微信里的文章怎么自动流入我的系统?

手动复制链接?太原始。截图 OCR?精度不够。

最终方案是用 OpenClaw 的微信机器人技能 + Webhook 联动。配置过程如下:

首先,在 OpenClaw 中启用 WeChat MCP 插件:

# 在 OpenClaw 工作目录下安装微信插件
openclaw plugin install @openclaw/plugin-wechat-mcp

# 验证插件状态
openclaw plugin list | grep wechat
# 输出应包含: wechat-mcp (enabled, v1.2.3)

然后在 config.yaml 中配置微信监听规则:

plugins:
  wechat-mcp:
    auto_login: true
    listen_groups:
      - "财政政策交流群"
      - "预算管理一体化研讨"
      - "地方政府债务管理"
    listen_users:
      - "财政部信息中心"
      - "财政科学研究院"
    output_dir: "/data/hermes/inbox/wechat"
    format: "markdown"
    include_metadata: true

这里有个大坑要注意:微信 Web 协议的登录策略经常变化。第一次配置时,我花了整整一个下午去处理扫码登录超时的问题。

踩坑记录 #1:扫码登录二维码超时

现象:二维码生成后 30 秒内未扫码就过期,但手机扫码后一直显示"登录中"。

解决方案:检查后发现是 NAS 系统时间与手机时间不同步导致的。在极空间后台执行:

# 同步系统时间
sudo ntpdate ntp.aliyun.com
# 或使用 timedatectl
timedatectl set-ntp true
timedatectl status

时间同步后,扫码登录在 3 秒内完成,再也没有超时过。

3.2 文章自动转发与抓取

配置完成后,只要有人在群里或通过公众号发了一篇文章,OpenClaw 就会自动执行以下流程:

  1. 检测到链接(微信公众号文章、网页链接)
  2. 使用 article_fetch 工具抓取全文内容
  3. 转换为标准 Markdown 格式
  4. 保存到指定目录,文件名格式为 {日期}_{公众号名称}_{标题}.md

为了验证配置是否生效,我写了一个简单的测试脚本:

# 查看最近抓取的文章
ls -lt /data/hermes/inbox/wechat/ | head -10
# 输出示例:
# 2026-06-15_财政部_关于加强预算绩效管理的指导意见.md
# 2026-06-15_中国财政杂志社_地方政府专项债券发行情况分析.md
# 2026-06-14_国务院_关于进一步深化预算管理制度改革的意见.md

看到文章一条条自动落盘的那一刻,那种"被信息洪流淹没"的焦虑感瞬间减轻了 80%。

四、Step 2:Hermes Agent 内容处理——让 AI 帮你读文章

4.1 Hermes 处理流水线配置

文章抓取下来只是第一步,原始 Markdown 文件动辄几千字,没有人会每天手动去读十几篇政策文件。我需要的是 AI 自动摘要 + 关键信息提取 + 标签系统

这一步我使用了 Hermes Agent 的 Skills 机制,编写了一个自定义的"财政政策处理"技能:

# skills/fiscal-policy-processor.yaml
name: fiscal-policy-processor
version: "1.0"
description: 自动处理财政政策类文章的摘要与归档

trigger:
  type: watch
  path: "/data/hermes/inbox/wechat/"
  pattern: "*.md"
  debounce: 60  # 60秒防抖,避免批量文件同时触发

steps:
  - name: extract_summary
    model: deepseek-v4
    prompt: |
      你是一个财政政策分析专家。请对以下文章进行结构化分析:
      
      1. 一句话摘要(30字以内)
      2. 核心要点(3-5条,每条不超过50字)
      3. 涉及的政策领域标签(从以下列表中选择:预算管理/政府采购/债务管理/绩效评价/非税收入/财政监督/其他)
      4. 文件级别(法律/行政法规/部门规章/规范性文件/政策解读)
      5. 关键日期(如果有)
      6. 关联文件(如果有)
      
      文章内容:{{content}}

  - name: generate_tags
    model: deepseek-v4
    prompt: |
      基于以上分析,生成 3-5 个 Obsidian 双链标签,格式为 [[标签名]]
      优先使用已有标签库中的标签。

  - name: save_to_obsidian
    action: write_file
    template: |
      ---
      title: {{title}}
      source: {{source}}
      date: {{date}}
      tags: {{tags}}
      summary: {{summary}}
      level: {{level}}
      ---
      
      ## 摘要
      
      {{summary}}
      
      ## 核心要点
      
      {{points}}
      
      ## 原文内容
      
      {{content}}
      
      ## 元数据
      
      - 来源:{{source}}
      - 抓取时间:{{date}}
      - 原文链接:{{url}}
      - 处理时间:{{processed_at}}
    output: "/data/hermes/processed/fiscal/{{date}}_{{slug}}.md"

这个 Skills 配置有几个设计上的巧思:

防抖机制debounce: 60 是关键。第一次部署时没有设置防抖,结果一次批量同步来了 30 篇文章,Hermes 同时启动 30 个处理任务,直接把 NAS 的 CPU 干到了 100%。加了 60 秒防抖后,文件会排队处理,系统负载保持在 30% 以下。

双链标签自动生成:在 generate_tags 步骤中,我要求模型优先使用已有标签库中的标签。这是为了保持标签体系的一致性——如果每次生成的标签都不一样,几个月后标签系统就会变成一团乱麻。

4.2 模型选型的心得

在内容处理这个环节,我试过三种模型组合,踩了不少坑:

模型 摘要质量 处理速度 Token 消耗 结论
DeepSeek V4 ★★★★★ 推荐
Claude Sonnet ★★★★☆ 质量好但贵
GPT-4o ★★★★☆ 不划算
本地小模型(Qwen 7B) ★★☆☆☆ 极快 0 摘要质量不够

踩坑记录 #2:本地小模型不够用

我最开始想用本地部署的 Qwen 7B 来处理,毕竟省 Token 费用。结果发现它对政策文件的专业术语理解很差,经常把"预算绩效管理"理解成"预算效果管理",把"专项债券"归类到"一般债券"。

最后折中方案是:摘要和标签生成用 DeepSeek V4(API),关键词提取用本地小模型(离线)。这样既保证了核心质量,又把 API 调用量压到了最低。

五、Step 3:Obsidian 归档与知识网络

5.1 收件箱到归档的自动化

Hermes 处理完的文章会写入 /data/hermes/processed/fiscal/ 目录。但这还不是终点——这些文件需要进入 Obsidian 的正式知识库体系。

我的 Obsidian Vault 结构如下:

Fiscal-KB/
├── Inbox/           ← 新文章进入的地方
├── Daily/           ← 每日财政动态
├── Policies/        ← 按政策领域分类归档
│   ├── 预算管理/
│   ├── 政府采购/
│   ├── 债务管理/
│   └── 绩效评价/
├── Templates/       ← Obsidian 模板
├── Attachments/     ← 附件
└── .obsidian/       ← 配置目录

为了实现自动归档,我使用了 Obsidian 的 Templater 插件 + QuickAdd 插件组合:

# .obsidian/scripts/auto-classify.js
// 这是一个 Dataview 查询脚本
// 自动将 Inbox 中超过 24 小时的文章按标签移动到 Policies 目录

const inbox = app.vault.getFolder('Inbox');
const files = inbox.children.filter(f => f.extension === 'md');

const tagToPath = {
  '预算管理': 'Policies/预算管理',
  '政府采购': 'Policies/政府采购',
  '债务管理': 'Policies/债务管理',
  '绩效评价': 'Policies/绩效评价',
  '财政监督': 'Policies/财政监督',
  '非税收入': 'Policies/非税收入',
};

files.forEach(async (file) => {
  const metadata = app.metadataCache.getFileCache(file);
  const tags = metadata?.frontmatter?.tags || [];
  
  for (const tag of tags) {
    const cleanTag = tag.replace(/[\[\]]/g, '');
    if (tagToPath[cleanTag]) {
      const newPath = `${tagToPath[cleanTag]}/${file.name}`;
      if (file.path !== newPath) {
        await app.fileManager.renameFile(file, newPath);
        console.log(`Moved ${file.name} to ${newPath}`);
      }
      break;
    }
  }
});

5.2 知识图谱的复利效应

Obsidian 最强大的地方不是单篇笔记,而是笔记之间的连接

我建立了一个"财政政策关联图谱",每当新文章进入知识库,我都会让 Hermes 自动扫描已有笔记,建立双向链接:

# 在 Hermes 技能中增加关联分析步骤
steps:
  - name: link_existing_notes
    action: hermes_skill
    skill: obsidian-linker
    params:
      vault_path: "/obsidian/Fiscal-KB"
      similarity_threshold: 0.7
      max_links: 5
      create_backlinks: true

效果是什么?举个例子:当我新抓取一篇《地方政府专项债券资金管理办法》时,系统会自动发现它和《预算管理一体化规范》、《政府投资条例》之间的关联,在笔记底部自动生成"相关笔记"区块:

## 相关笔记

- [[预算管理一体化规范(2025年修订版)]]
- [[政府投资条例]]
- [[地方政府债务风险评估指引]]
- [[专项债券项目资金绩效管理办法]]
- [[财政部关于进一步规范地方政府举债融资行为的通知]]

这个功能在日常工作中帮了我大忙。原本需要半小时的"这篇文章跟哪些政策有关联"的脑力劳动,现在变成了一键查看。

六、Step 4:NAS 备份与灾难恢复

6.1 备份策略

知识库一旦建立起来,就变成了数字资产。我绝不能接受"硬盘坏了所有笔记都没了"这种悲剧。

我的备份策略是三层防御:

本地 SSD (工作区)
    │
    ├── 实时同步 → 极空间 NAS (ZDR 模式)
    │                    │
    │                    ├── 每日快照 → NAS 冷存储
    │                    │
    │                    └── 每周增量 → 阿里云 OSS
    │
    └── 手动触发 → 移动硬盘 (每月一次)

在极空间 NAS 上配置 ZDR 同步:

# 在极空间 SSH 终端中
# 查看 ZDR 同步状态
zdrctl status
# 输出:
# Sync target: /mnt/zdr/fiscal-kb-backup
# Status: SYNCED
# Last sync: 2026-06-16 03:00:00
# Files: 1,847 synced, 0 pending

# 如果需要手动触发同步
zdrctl sync --now

6.2 踩坑:文件路径长度问题

踩坑记录 #3:Windows 路径长度限制

这是一个极其隐蔽但破坏力巨大的问题。

Hermes 在处理文件时生成的文件名包含完整日期和标题,例如:

2026-06-15_财政部_关于印发《预算管理一体化规范(2025年修订版)》的通知_附:预算编制与执行操作规程的补充说明.md

这个文件名长达 80+ 个字符。当它被放入嵌套目录 Policies/预算管理/2025/ 时,完整路径超过了 Windows 的 260 字符限制,导致 Obsidian 无法同步,NAS 同步失败。

解决方案有两个:

  1. 启用 Windows 长路径支持(注册表修改):
# 以管理员身份运行
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
  1. 修改文件名生成规则(更推荐):
# 在 Hermes 技能配置中限制文件名长度
output: "/data/hermes/processed/fiscal/{{short_date}}_{{slug_40}}.md"

我选择了方案 2,文件名改为 2026-06-15_预算管理一体化规范补充说明.md,既保留了关键信息,又避免了路径过长。

七、全链路测试与日常维护

7.1 端到端验证

配置完成后,我跑了一个完整的端到端测试:

# 1. 模拟微信文章推送
echo "https://mp.weixin.qq.com/s/test-article" | openclaw wechat-simulate

# 2. 等待 Hermes 处理(约 2-3 分钟)
sleep 180

# 3. 检查处理结果
ls /obsidian/Fiscal-KB/Inbox/
# 预期看到自动生成的 Markdown 文件

# 4. 检查 NAS 同步状态
zdrctl status | grep "Last sync"
# 预期看到最近的同步时间

7.2 日常维护 checklist

经过几个月的运行,我总结了一套日常维护清单:

  • 每日检查:OpenClaw 登录状态(微信登录偶尔会掉线)
  • 每周检查:NAS 同步状态、磁盘空间
  • 每月检查:标签体系是否混乱、是否需要新建分类目录
  • 每季度:清理重复文件、合并相似笔记

八、效果与反思

经过三个多月的运行,这套流水线的效果远超我的预期:

  • 文章自动抓取:日均 15-20 篇财政领域文章
  • 摘要与分类:准确率约 85%(人工抽检)
  • Obsidian 归档:累计 1,847 篇笔记,无遗漏
  • NAS 备份:零数据丢失
  • 查询效率:原来找一篇政策需要 5-10 分钟,现在通过 Obsidian 搜索 + 双链,平均 30 秒

最重要的是,这套系统让我从"信息的搬运工"变成了"知识的整合者"。我不再需要每天花 2 小时去手动整理信息,而是可以把精力放在更高价值的分析、判断和决策上。

当然,远非完美。目前还有几个痛点没有解决:微信文章中的表格识别还不够准确、部分 PDF 附件无法自动处理、多模态内容(图表、流程图)的提取仍然需要人工介入。这些是下一步改进的方向。

但至少,我的"财政知识库"已经不再是一个静态的文件夹,而是一个每天都在自我生长的有机体。它记住我看过的每一篇文章,理解它们之间的关联,在我需要的时候准确地把最相关的信息推到我面前。

这种感觉,挺好。


如果你也在搭建自己的知识库自动化流水线,欢迎交流。下一篇文章我会写关于 Agent Memory 与 AI 测试新范式的思考,敬请期待。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐