DEV Community

Manoir Yantai
Manoir Yantai

Posted on

别让 AI Agent 活在真空里:KMM v0.0.2 把外部世界塞进记忆系统

大多数 AI Agent 的记忆系统只解决一个问题:记住。gbrain 存知识图谱,Hindsight 存向量,memory tool 存偏好。三个仓库堆满数据,但当你问「我刚才看的那篇公众号文章说了什么」——它答不上来。

这不是记不住的问题,是没有采集层的问题。

Knowledge-and-Memory-Management(KMM)的定位很明确:不是另一个记忆数据库,而是一个 知识采集 → 精炼 → 召回 → 云同步 的全链路插件,为 hermes-memory-installer 的记忆底座做能力扩展。

架构:把采集和存储拆开

KMM 不做存储,只做三件事:拉进来、洗干净、送出去

采集层(40+ 工具) → 分析层(AI 处理) → 存储层(三层记忆)
  ├─ 网页引擎(9)      ├─ 笔记自动生成     ├─ Hot (memory tool)
  ├─ 视频引擎(12)     ├─ 知识图谱提取     ├─ Warm (Hindsight)
  ├─ 文档/OCR(9)      ├─ 知识发现         └─ Cold (gbrain)
  └─ 知识管理(4)      └─ 书籍自动精炼
                                  → 云盘同步(rclone, 12+ 驱动)
Enter fullscreen mode Exit fullscreen mode

每个采集器输出统一的 CollectionResult,传给 generate_note() 走笔记管线。不耦合任何特定 Agent。

三层召回:不让任何知识掉队

lightweight_recall.py 是检索入口。先查本地 FTS5(毫秒级),没命中走 Hindsight 向量(语义近似),再不中就落 gbrain 知识图谱(关联推理)。三个来源相互兜底,单一来源不可用时自动降级。

代码:云盘同步引擎

KMM 不造轮子——直接用 rclone 做统一同步层,支持 12+ 云盘:

import subprocess

class CloudSyncEngine:
    """云盘同步引擎 — rclone 统一接口"""

    DRIVERS = {
        "onedrive":    {"auth": "oauth"},
        "googledrive": {"auth": "oauth"},
        "aliyundrive": {"auth": "token"},
        "baidu":       {"auth": "oauth"},
        "dropbox":     {"auth": "oauth"},
        "mega":        {"auth": "password"},
        "tianyi":      {"auth": "password"},
        # + WebDAV / S3 / 115 / 夸克等
    }

    def __init__(self):
        self._check_rclone()

    def _check_rclone(self):
        result = subprocess.run(["rclone", "version"],
                                capture_output=True, text=True)
        if result.returncode != 0:
            raise RuntimeError("rclone 未安装")

    def bidirectional_sync(self, local_path, remote_path):
        """双向增量同步"""
        cmd = ["rclone", "bisync", local_path, remote_path, "--resync"]
        return subprocess.run(cmd)
Enter fullscreen mode Exit fullscreen mode

核心思路很简单:用 rclone bisync 做双向增量同步,每 4 小时 cron 自动执行。v0.0.1 版本试过直接调各云盘 REST API,token 刷新加断点续传的维护成本太高——切到 rclone 后问题归零。

一个完整的采集流

用户丢来一个抖音视频链接:

  1. douyin_video_intake 拉元数据 + 字幕
  2. 并行走三条线:yt-dlp 下音频 → Whisper ASR 转文字 → PaddleOCR 提关键帧文字
  3. 汇总后 generate_note() 写结构化笔记(YAML frontmatter + Markdown 正文)
  4. create_note() 入 gbrain 知识图谱
  5. sync_to_cloud() 推 OneDrive

全自动,零人工。采集器只管拉,去重交给 gbrain 的 content_hash,职责分离。

值得一提的细节

  • 知识发现:每周日自动扫描 OneDrive,把未入库的笔记自动录入 gbrain,不依赖人工导入
  • 本地优先 + 全网回落augmented_search() 先查本地笔记,score < 0.6 时走 AnySearch 垂直搜索,结果自动标注来源
  • 书籍精炼自动触发book_cache_manager 缓存完 PDF 后自动走 book_to_skill 管线,710+ 本书的索引按需精炼

适用场景

你的 Agent 已经跑了一段时间,积累了几千条笔记和几百个知识图谱节点,但你仍然觉得「它好像什么都不懂」——问题很可能出在知识摄入链路上。KMM 适合你已经有一套记忆系统,缺的是一个自动化的知识采集和云同步层。

仓库:github.com/mage0535/Knowledge-and-Memory-Management,MIT 协议。

Top comments (0)