惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
S
Schneier on Security
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
U
Unit 42
Hacker News - Newest:
Hacker News - Newest: "LLM"
V2EX - 技术
V2EX - 技术
T
The Blog of Author Tim Ferriss
V
Visual Studio Blog
H
Heimdal Security Blog
H
Hacker News: Front Page
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Cloudbric
Cloudbric
Google DeepMind News
Google DeepMind News
C
Cisco Blogs
The Cloudflare Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
MyScale Blog
MyScale Blog
F
Fortinet All Blogs
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
D
DataBreaches.Net
N
News and Events Feed by Topic
Security Archives - TechRepublic
Security Archives - TechRepublic
Forbes - Security
Forbes - Security
Simon Willison's Weblog
Simon Willison's Weblog
F
Full Disclosure
The Register - Security
The Register - Security
L
LINUX DO - 热门话题
Webroot Blog
Webroot Blog
Google Online Security Blog
Google Online Security Blog
AI
AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
I
Intezer
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
K
Kaspersky official blog
云风的 BLOG
云风的 BLOG
博客园 - 叶小钗
T
Threatpost
Spread Privacy
Spread Privacy
小众软件
小众软件
AWS News Blog
AWS News Blog
S
Secure Thoughts
S
Security @ Cisco Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks

碎言

不懂就别瞎掰掰:【程序员的常识】写的什么玩意? AI 辅助编程下的程序设计与代码编写 使用 Next.js 和 Tailwind CSS 构建可编辑和删除的 ToDo 待办事项应用 探索编程新境界:MarsCode 助你一臂之力 使用 Next.js 和 Tailwind CSS 搭建静态图片展示站点并部署到 Vercel AI 辅助编程:免费工具的优缺点及官网一览 GitHub push更新总是失败,写个python脚本解决 把博客从GitHub迁移到到了vercel ComfyUI 和 Flux.1 安装与使用教程 Flux.1 入门必知:硬件、环境、模型 Git项目的子文件夹中的内容无法同步到远程仓库的解决方法 blender流体Fluid使用中没有流体、流体穿模等一些问题的解决方法 博客聚合网站:积薪,竟然关闭了! blender日常使用中的一些技巧 虽然只有我自己在用,但还是更新了碎言博客的源代码, 与其在迷茫中困惑,不如在努力中前进 差点忘了我还有一个博客... 秧歌、博客和AI 终于熬到了新手上路 好久没有更新博客了。。。 老妈大腿骨骨折,最近一直在医院护理 Hello, September! Ubuntu开机自动启动Docker容器运行WordPress Docker 简单快速安装部署WordPress Docker下安装MySQL 加碘盐能防核辐射的话,还怕什么核战争? shields.io 一个简洁、一致、清晰的徽章 Ubuntu下使用root登录ssh的设置 GitHub Actions 构建、部署 Next.js项目 我又用回了"IE"--edge ubuntu-22-live-server 设置固定IP Next项目部署GitHub pages的一些坑 整理了一个下午的收藏夹...... 短暂而忙碌的暑假即将谢幕 GitHub Actions 是干什么用的? 放弃Next.js重构博客:经验、教训与未来技术探索 关于Google LCP 问题:超过了2.5秒 验证已通过 仅用了几个小时就使用next.js重构博客的所有功能 关于使用Next.js重构博客构思的记录 使用Tailwind css和JavaScript实现一个简单的返回顶部功能 罗技K380 F1-F12 功能键锁定 PHILIPS猛禽SPK8404机械键盘手感真是超赞! 局域网的DNS设置192.168.0.1与8.8.8.8,114.114.114.114有什么区别? 史诗结合的浪漫:《长安三万里》 聊 聊 友 情 链 接 1767个中文博客的数据洞察:中文博主都喜欢干啥? python requests 设置读取超时时间 八月回顾:博客之路,一路前行 Docker基础学习笔记和常用命令汇总 vim常用命令整理 Ubuntu 22 安装Docker过程记录 使用python结合feedparser模块编写自己的私人RSS订阅程序 博客大数据分析:38880条博文揭示博主最爱写什么? Windows下国产杀毒软件还有选择吗?火绒安全可以一试。 export exports module.exports 这三个命令的区别是什么如何使用? 时代的变迁:从56K拨号上网到1G光纤的回忆 理工计算机专业准大学生如何选配笔记本? 使用JavaScript编写自己的私人RSS订阅程序 如何使用CSS为博客标题设置彩虹颜色? 最终还是决定使用传统的网线来解决千兆速率问题。 1300M USB双频2.4+5G无线网卡的一些常识和使用技巧 Python Gui新框架:NiceGui之初体验 pycharm 正在关闭项目(closing project)无法关闭退出程序的解决方法! 速度与优雅:博客性能优化之旅 久了,博客主题就会一直做减法 七月的焦虑 在react中使用复制插件clipboard.js react中如把HTML代码转成字符串进行渲染? react useEffect()中使用lodash库中的防抖debounce react useEffect() 为什么在开发模式的时候会执行两次? 七年之痒!别了我曾深爱的MacBookPro 前端React+Material UI开发环境的快速搭建 一键更新Github部署的静态博客 编程新手学习过程中如何更好的提问? Typed.js 一款有意思的网页打字机效果库 解决错误 ERROR [WinError 10049] 在其上下文中,该请求的地址无效。 Stable Diffusion 相关教程与模型的记录 Stable Diffusion ControlNet openpose 报错无法使用 在react或vue中使用localStorage存储数据 使用React+Vite+TailwindCSS+daisyUI打造一个简单的ToDos 碎言静态博客 聊聊Python中的装饰器 npm更换源与nrm安装与配置 pip临时修改下载源 Vue快速学习笔记(9)Vuetify配置及简单使用 Vue快速学习笔记(8)webpack4.X配置Vue开发打包环境 Vue快速学习笔记(5)使用路由vue-router(1) Vue快速学习笔记(4)Vue组件中的数据传递 Vue快速学习笔记(3)Vue的组件 Vue快速学习笔记(2)Vue中的监听与计算属性 Vue快速学习笔记(1)Vue实例基础 基于Django构建的小学生英文单词背写检测考试系统。 如何在Python程序中使用配置文件.ini(ConfigParser) 写在我的博客PV10万时:聊聊编程与画画 python3函数学习笔记简单总结 PythonINI配置文件读写的简单方法 Python open()函数文件打开、读、写操作总结 Python os.path模块中一些常用方法的整理总结 Python 采集数据三步曲之[Requests + re.py模块进行数据采集] Python 采集数据三步曲之[Requests开源协议的HTTP 库]
OpenClaw本地知识库搭建完全指南
J.sky · 2026-04-09 · via 碎言

每次都要重复解释自己的偏好?AI 答不上你之前写的笔记?用这个方法,让 AI 真正变成你的”第二大脑”。

一、为什么要知识库?

1.1 问题背景

在使用 AI 助手时,你是否遇到以下情况:

  • 每次都要重复说明自己的偏好和背景
  • AI 无法回答你之前记录的技术笔记
  • 想要一个”第二大脑”,让 AI 能回答你积累的知识

知识库就是解决这些问题的:让 AI 能”记住”并”理解”你积累的文档。

1.2 什么是知识库?

知识库是一个结构化的信息集合,AI 可以从中检索相关内容来回答你的问题。

简单比喻:

  • 普通对话:AI 靠”记忆”(上下文)回答
  • 知识库:AI 有了”图书馆”,可以查阅你积累的文档

二、搜索技术的演进

2.1 文件系统搜索(最原始)

直接遍历文件夹,找文件名或内容包含关键词的文件。

工作原理

用户搜索:"安装 docker"
系统:遍历所有 .md 文件,查找包含"安装 docker"的文件

缺点

  • 只能精确匹配
  • 搜”安装程序”找不到”如何安装软件”
  • 搜”docker setup”找不到”docker 安装”

2.2 关键词搜索(BM25)

搜索引擎使用的技术,如 Elasticsearch、Algolia。

工作原理

  • 统计词频(TF)
  • 计算词的重要性(IDF)
  • 给文档打分,返回最相关的

优点:比文件系统搜索聪明,能处理同义词

缺点:还是基于关键词,无法理解语义

2.3 向量搜索(语义搜索)

这是革命性的技术突破。

核心概念:向量(Embedding)

  1. 向量化:把文字转换成一段数字(向量/embedding)

    • “狗” → [0.1, -0.3, 0.8, …]
    • “猫” → [0.1, -0.2, 0.7, …] # 和”狗”很接近
    • “汽车” → [0.9, 0.1, -0.2, …] # 和”狗”距离远
  2. 语义理解:向量接近的词,意思也接近

    • “如何安装docker” → 向量A
    • “docker setup教程” → 向量B
    • 向量A和B很接近,所以能匹配上

优点

  • 能理解语义(“安装”和”setup”是一回事)
  • 支持自然语言提问
  • 跨语言搜索

结合关键词搜索 + 向量搜索的优势。

OpenClaw 默认使用混合搜索

  • 70% 向量权重(语义理解)
  • 30% 关键词权重(精确匹配)

三、数据库 vs 文件系统

3.1 为什么需要数据库?

维度文件系统数据库
搜索方式遍历文件索引加速
速度慢(百万文件遍历很慢)快(毫秒级)
向量支持有(向量数据库)
查询能力强(复杂查询)
扩展性

关键点

  • 数据库不是简单的”存文件”,而是提供高效的检索能力
  • 向量搜索需要数据库支持(SQLite、PG、MongoDB 等)

3.2 我们的情况

OpenClaw 使用 SQLite 存储向量索引

  • 路径:~/.openclaw/memory/main.sqlite
  • 自动管理,无需手动操作

SQLite 的优势

  • 无需安装额外的数据库软件
  • 零配置,开箱即用
  • 性能足够个人使用

四、OpenClaw 记忆系统详解

4.1 记忆的三个层次

┌─────────────────────────────────────────────────┐
│                  长期记忆                        │
│           MEMORY.md(启动时加载)                 │
└─────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────┐
│                  短期记忆                        │
│      memory/YYYY-MM-DD.md(今天+昨天)            │
└─────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────┐
│                  对话记忆                        │
│        当前会话的上下文(不断变化)                 │
└─────────────────────────────────────────────────┘

4.2 记忆文件说明

文件作用何时加载
MEMORY.md长期记忆,重要事实和偏好每次 DM 会话开始
memory/YYYY-MM-DD.md每日笔记今天+昨天自动加载
DREAMS.md梦境日记(实验性)不自动加载

4.3 memory_search 工具

AI 可以用两个工具访问记忆:

memory_search("问题")  # 语义搜索记忆
memory_get("文件路径")  # 读取具体文件

五、Builtin 搜索引擎详解

5.1 什么是 Builtin?

Builtin 是 OpenClaw 内置的默认记忆搜索引擎,专门针对 Markdown 文件优化。

5.2 技术原理

技术说明
存储SQLite 数据库(per-agent)
关键词搜索FTS5 全文索引 + BM25 评分
向量搜索可选,需要 API Key
混合搜索关键词 + 向量组合
中文支持CJK trigram 分词

5.3 工作流程

搜索查询 

SQLite FTS5 全文索引

BM25 算法评分

返回相关结果

5.4 索引方式

  1. 分块:把 MEMORY.md 和 memory/*.md 切成小块(约400 tokens)
  2. 重叠:80 tokens 重叠(保证上下文连续)
  3. 存储:存入 SQLite + FTS5 全文索引
  4. 自动更新:文件变化自动触发重新索引

5.5 核心特点

  • ✅ 开箱即用,不需要额外依赖
  • ✅ 速度快(毫秒级响应)
  • ✅ 无需 API Key(只用关键词搜索)
  • ✅ 支持中文(CJK trigram)
  • ✅ 可选向量搜索(需要配置)

5.6 Builtin vs 向量搜索

模式需要 API Key搜索方式
纯关键词❌ 不需要BM25 精确匹配
向量搜索✅ 需要语义理解
混合搜索✅ 需要关键词 + 向量组合

六、如何搭建本地知识库?

只需配置 extraPaths

{
  "agents": {
    "defaults": {
      "memorySearch": {
        "extraPaths": [
          "~/笔记目录1",
          "~/笔记目录2",
          "~/技术文档"
        ]
      }
    }
  }
}

示例(使用别名)

{
  "agents": {
    "defaults": {
      "memorySearch": {
        "extraPaths": [
          "~/笔记/我的笔记",
          "~/笔记/技术文档",
          "~/笔记/项目文档"
        ]
      }
    }
  }
}

工作原理

  1. OpenClaw 会扫描这些目录
  2. 对所有 .md 文件做向量 embedding
  3. 存入 SQLite 数据库
  4. 搜索时从数据库检索

6.2 注意事项

  • 删除内容:直接从 Obsidian 删除即可,索引会自动忽略
  • 修改内容:修改后等待自动刷新,或手动重建索引
  • 大文件:超过 10MB 的文件不会被索引

七、日常使用

7.1 AI 如何使用知识库?

当你问我问题时:

用户:Ubuntu 怎么安装 Docker?

OpenClaw 调用 memory_search("Ubuntu 怎么安装 Docker")

在向量数据库中搜索相关文档

找到 ~/技术文档/软件安装/Docker.md

读取文件内容,结合上下文回答

7.2 搜索测试

手动测试搜索:

openclaw memory search "如何安装docker"

7.3 强制重建索引

如果新增文档没被索引:

openclaw memory index --force

八、RAG 是什么?

8.1 RAG 定义

RAG = Retrieval-Augmented Generation(检索增强生成)

简单说:AI 回答问题时,先去知识库检索相关资料,再结合资料生成回答。

用户问题 → 检索知识库 → 把结果给 AI → AI 生成回答

8.2 OpenClaw RAG 特点

特点说明
本地 RAG数据不离开电脑,完全隐私
免费不需要 API Key(基础版)
无缝集成问 AI 就自动搜知识库
自动搜索不需要手动操作,AI 自动调用

8.3 自动搜索 vs 手动搜索

方式需要操作
自动❌ 只需要正常提问,AI 自动检索
手动需要说”帮我搜索知识库”

OpenClaw 是自动的!

当你问我问题时,OpenClaw 会自动:

  1. 分析问题
  2. 调用 memory_search 检索知识库
  3. 找到相关内容
  4. 结合上下文回答

8.4 RAG 搜索流程

1. 你正常提问

2. OpenClaw 自动调用 memory_search

3. 在 SQLite 知识库中检索

4. 找到相关文档片段

5. 把片段 + 问题发给 AI

6. AI 生成回答

九、主流知识库方案对比

9.1 方案对比表

方案类型费用部署方式隐私速度
OpenClaw Builtin本地 RAG免费本地✅ 完全隐私
Notion AI云端 AI付费云端❌ 上传云端
Obsidian + Copilot本地 AI付费本地
腾讯 ima云端免费云端
AnythingLLM本地 RAG免费本地取决于硬件

9.2 OpenClaw Builtin 优势

优势说明
免费不需要任何 API Key
隐私数据 100% 本地,不上传云端
简单不用安装额外软件,配置就行
SQLite FTS5 毫秒级响应
集成和 AI 助手无缝集成

9.3 不足之处

不足说明
向量搜索需要 API Key要语义搜索需要配置
不适合大型团队个人使用足够
没有 UI只有配置文件

9.4 适合人群

用户群体推荐方案
个人用户OpenClaw Builtin ✅
专业用户Obsidian + Copilot
企业团队Notion AI / 腾讯ima

十、如何更新知识库?

10.1 自动更新

  • 新增的 .md 文件会自动被索引
  • 定时任务会定期刷新

10.2 手动更新

# 强制重建整个索引
openclaw memory index --force

十一、整体架构图

┌──────────────────────────────────────────────────────────────┐
│                         用户提问                              │
│                   "如何安装 OpenClaw?"                       │
└──────────────────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────────────────┐
│                    memory_search 工具                         │
│              (语义搜索)                                        │
└──────────────────────────────────────────────────────────────┘

         ┌────────────────────────────────────┐
         │       向量数据库 (SQLite)           │
         │   ~/.openclaw/memory/main.sqlite   │
         └────────────────────────────────────┘
                      ↑                 │
         ┌────────────┘                 │
         │                               ↓
┌────────────────────┐    ┌─────────────────────────────────┐
│    extraPaths      │    │      原始 Markdown 文件          │
│  (索引的目录)       │    │                                 │
│  - 笔记/技术资料  │    │  - 技术文档/软件安装/Docker.md     │
│  - 笔记/项目A    │    │  - 文档/入门指南/xxx.md         │
│  - 笔记/项目B    │    │  - 文档/学习笔记/xxx.md         │
└────────────────────┘    └─────────────────────────────────┘

十二、常见问题

Q1: 为什么需要向量数据库?

:文件太多时,遍历太慢。向量数据库把文档转成数字(向量),搜索时计算向量距离,毫秒级返回结果。

Q2: 为什么不直接读文件?

:文件少时可以。但当有几千个文档时,AI 不知道读哪个。向量搜索帮 AI 找到最相关的文件。

Q3: Builtin 够用吗?

:Builtin 对于个人使用(< 1万文档)完全够用。配置简单,速度快,不需要额外安装。

Q4: Obsidian 和知识库的关系?

Obsidian 是管理 Markdown 文件的工具,知识库是让 AI 能搜索这些文件。两者是互补关系:Obsidian 用来写和看,AI 用来搜索和回答。

Q5: 隐私问题?

:所有数据都在本地(SQLite 文件),不上传云端。非常适合存储个人笔记、技术文档。


十三、总结

概念作用
向量文字的数字表示,让AI理解语义
向量数据库存储向量,提供快速搜索
SQLite轻量级数据库,我们当前使用
BuiltinOpenClaw 默认记忆后端
extraPaths配置要索引哪些目录
RAG检索增强生成,让AI结合知识库回答

推荐方案

  1. 用 Obsidian 写笔记
  2. 配置 extraPaths 指向笔记目录
  3. 用 Builtin 向量搜索
  4. 搞定!

文档创建:2026-04-08 基于 OpenClaw 2026.4.8 版本