乐于分享
好东西不私藏

Openclaw + llm-wiki Skill 打造个人知识库

Openclaw + llm-wiki Skill 打造个人知识库

Windows 环境下 Openclaw + llm-wiki Skill 打造个人知识库


一、两种方案,先看清再选

1.1 方案一:Obsidian + Claude Code——自己写菜谱请厨师做饭

📌 方案详情:关于方案一的完整实战,见昨天公众号文章 《Obsidian + Claude Code 搭建 LLM Wiki 新型个人知识库》,本文仅做对比,不再展开。

这条路的核心思路是:Obsidian 管数据,Claude Code 干重活

你在 Vault 里建好 raw/wiki/outputs/ 三个文件夹,把 Karpathy 的 Gist 喂给 Claude Code,让它生成一份 CLAUDE.md 或 AGENTS.md 作为「说明书」,之后用Prompt 指挥 AI。

Obsidian 提供了原生的双向链接、知识图谱、1500+ 插件生态,Claudian 把 Claude Code 直接嵌进侧边栏,做到「一个窗口完成所有操作」。

这条路的优点是灵活可定制、知识结构随你设计、图谱可视化成熟;代价是要先懂 Obsidian、LLM Wiki 思想、Prompt 写作,以及 Schema 规范——学习曲线稍陡。

1.2 方案二:Agent + Skills——点外卖,别人做好半成品

这条路的核心思路是:Agent 是大脑,Skill 是工具包

Agent 本身只懂对话;做实事靠 Skills(技能插件)。一个 Skill = 一个完整的「知识库建设 + 维护」工作流。

代表性项目是 GitHub 上的 sdyckjq-lab/llm-wiki-skill,基于 Karpathy 的方法论,一个 Skill 同时支持 4 个 Agent 平台:Claude Code、Codex、OpenClaw、Hermes。装完只需对 Agent 说一句「帮我消化这篇:<链接>」,整套 Ingest / Query / Lint 流程自动跑起来。

这条路的核心优势:

维度
Prompt 模式(方案一)
Agent+Skills 模式(方案二)
上手成本
高(要会写 Prompt)
低(一行命令安装)
知识结构
每次重新生成
一次构建,持续维护
更新机制
手动重写
Ingest 自动更新
多平台
不通用
Claude / Codex / OpenClaw / Hermes
可视化
Obsidian 原生图谱
数字山水风离线 HTML 图谱
缓存去重
需自己实现
SHA256 自动去重
健康检查
需手动维护
/lint 一键体检
适合人群
开发者 / 技术能手
办公人员 / 写作党

一句话总结:方案一 ≈ 自己写菜谱请厨师做饭,方案二 ≈ 点外卖——别人已做好半成品,你只需下单。

1.3 怎么选?

  • 第一次接触个人知识库
    选方案二,30 秒上手,跑起来最重要
  • 想深度定制、玩 Obsidian 插件生态
    选方案一,灵活可改
  • 已经在用 Claude Code / Codex
    两个方案都能选,但方案二更省心
💡 本文后续内容针对方案二 + OpenClaw 平台 + Windows 11 环境展开,如果你符合上面任意一条,继续往下看就对了。

二、准备工作:5 分钟把环境搭好

2.1 你电脑上要有的(全部已装)

工具
版本 / 位置
用途
OpenClaw
2026.6.11 (e085fa1)
跑 skill
Node.js D:\Program Files\nodejs\node.exe

(≥ 22.19.0)
图谱引擎、workbench
Python
3.13.14(PATH 里同时有 python 和 python3
知识库脚本
uv C:\...\astral-sh.uv_...\uv.exe
微信公众号提取器
Git
Windows 版(PATH 里)
clone / pull

2.2 按需补齐(没有就装一下)

工具
用途
装法
jq
知识库健康检查 + 图谱构建脚本
winget install jqlang.jq
bun

(或 npm)
网页 / X / 公众号提取器
winget install Oven-sh.Bun

(npm 也行)

2.3 ⚠️ PowerShell 编码问题(必看,否则必踩)

Windows 11 自带的 PowerShell 5.1 默认:

  • console code page:936(GBK)
  • $OutputEncoding:ASCII
  • Python 子进程 sys.stdout.encoding:GBK

直接影响:跑 bash install.sh 时中文输出 + hook JSON 全部乱码。比如 openclaw skills list 会输出 涓汉鐭ヨ瘑搴? 这种鬼字。

修复方案(三选一)

方案 A(推荐):用仓库自带的 install.ps1,自动把 console / $OutputEncoding / PYTHONIOENCODING 设为 UTF-8。

方案 B:手动设置后再跑

chcp 65001[Console]::OutputEncoding = [System.Text.Encoding]::UTF8$OutputEncoding = [System.Text.Encoding]::UTF8$env:PYTHONIOENCODING = 'utf-8'bash install.sh --platform openclaw

方案 C(终极方案):升级到 PowerShell 7+

winget install Microsoft.PowerShell# 之后用 pwsh 跑就行,默认 UTF-8

三、安装 Skill:走 OpenClaw 自家 git install

3.1 为什么我们不直接跑 install.sh

install.sh 是任意 bash 代码,仓库 README 自承:

「第三方 Skill 只有显式安装并启用后才作为受信任本地代码运行。」

对 GitHub 第三方 skill,走 OpenClaw 自己的 git-install 机制是「信任 GitHub 仓库代码,但不执行任意 bash」的折中——只读取 SKILL.mdscripts/hooks/,不触发 install 脚本里的任意代码。

3.2 标准安装(踩坑版)

按理说,OpenClaw 官方推荐的做法是:

# 1. clone 到临时目录$tmp = "$env:TEMP\llm-wiki-skill-src"if (Test-Path $tmp) { Remove-Item $tmp -Recurse -Force }git clone --depth 1 https://github.com/sdyckjq-lab/llm-wiki-skill.git $tmp# 2. 让 OpenClaw 装本地目录openclaw skills install $tmp

但 OpenClaw 2026.6.11 这个版本有个稳定 bug——openclaw skills install 走 stage-install 流程时,在 rename 这一步稳定 EPERM 失败:

Installing to C:\Users\lgzhu\.openclaw\workspace\skills\llm-wiki…failed to install skill: Error: EPERM: operation not permitted,rename '...\skills\.openclaw-install-stage-XXXX' -> '...\skills\llm-wiki'

已确认git: URL 和本地目录路径都中招,--global 装到 C:\Users\lgzhu\.openclaw\skills\ 也中招,跟 hot reload watcher / 杀毒 / 残留目录无关,不是临时性问题,重试 5 次都失败

3.3 手动复制(推荐)——绕开 EPERM bug

既然官方 stage-install 有问题,那就绕过它,直接用 PowerShell 的 Copy-Item 把仓库复制到 OpenClaw 的 skills 目录。OpenClaw 的 chokidar watcher 会自动发现这个目录,不需要手动重载或重启 agent。

$src = "C:\Users\lgzhu\AppData\Local\Temp\llm-wiki-skill-src"$dst = "C:\Users\lgzhu\.openclaw\workspace\skills\llm-wiki"# 清掉旧安装if (Test-Path $dst) { Remove-Item $dst -Recurse -Force }# 复制(注意是 Copy-Item,不是 git clone)Copy-Item -Path $src -Destination $dst -Recurse -Force# 删掉 .git(skill 目录里不应该有 .git)Remove-Item "$dst\.git" -Recurse -Force# 验证 OpenClaw 自动发现了openclaw skills list | Select-String "llm-wiki"# 应该看到: ✅ ready | llm-wiki | ... | openclaw-workspace
💡 复制完成后 OpenClaw 的 chokidar watcher 自动发现,不需要手动重载。

3.4 验证装好了

# 1. 看 skill 在不在openclaw skills list | Select-String "llm-wiki"# 2. 看健康状况openclaw skills check# 3. 看 SKILL.md 是不是能被读Get-Content "C:\Users\lgzhu\.openclaw\workspace\skills\llm-wiki\SKILL.md" -TotalCount 15

期望:skill 状态 ✅ ready,没有 missing requirements,出现在「Ready and visible to model」列表。


四、使用 Skill:三句话让 AI 帮你建知识库

4.1 初始化第一个知识库

在 OpenClaw 对话窗口说:

帮我初始化一个知识库

skill 会引导你:

  1. 选择知识库根目录(建议放 C:\Users\lgzhu\knowledge\<name>\ 或 workspace\knowledge\
  2. 自动生成目录结构 + 模板 + purpose.md(研究方向)
  3. 在 index.md 注册,创建 log.md 操作日志

初始化后目录长这样:

你的知识库/├── raw/                    # 原始素材(不可变)│   ├── articles/           # 网页文章│   ├── tweets/             # X / Twitter│   ├── wechat/             # 微信公众号│   ├── xiaohongshu/        # 小红书│   ├── zhihu/              # 知乎│   ├── pdfs/               # PDF│   ├── notes/              # 笔记│   └── assets/             # 图片等附件├── wiki/                   # AI 生成的知识库│   ├── entities/           # 实体页(人物/概念/工具)│   ├── topics/             # 主题页│   ├── sources/            # 素材摘要│   ├── comparisons/        # 对比分析│   └── synthesis/          # 综合分析│       └── sessions/       # 对话结晶├── purpose.md              # 研究方向与目标├── index.md                # 索引├── log.md                  # 操作日志├── .wiki-schema.md         # 配置└── .wiki-cache.json        # 素材去重缓存

4.2 消化素材——一句话入 wiki

最常用的指令是「消化」:

帮我消化这篇: <链接>帮我消化这个 PDF: <路径>帮我消化这段文字: <粘贴>

skill 会自动:

  1. 从 raw/ 读取或自动提取内容(支持 PDF / Markdown / HTML / 网页 / X / 公众号 / YouTube / 知乎)
  2. 分析 → 生成实体页 / 主题页 / 素材摘要
  3. 用 [[双向链接]] 互联
  4. 标注置信度:EXTRACTED / INFERRED / AMBIGUOUS / UNVERIFIED
  5. 写入 .wiki-cache.json(SHA256 去重,已处理过的素材自动跳过)

例如,下载了一篇网页文章,保存为 2026-07-08-network-architecture-ip-cloud-ai-continuum.md,然后让 OpenClaw「跑一次完整 ingest,让知识库从空库变成有 1 个 source + 几个 entity + 1 个 topic 的起步状态」。

💡 核心优势知识「编译一次,持续维护」,而不是每次查询都从原始文档重新推导。

这个知识库可以用 Obsidian 打开,可以直观地查看和搜索知识库内容。

4.3 查询——让 AI 帮你回忆知识库

直接对 OpenClaw 提问即可,skill 会从 wiki/index.md 出发,沿双向链接 + 摘要,拼出综合回答:

「Transformer 与 Mamba 的区别?」

回答里每段都标注来源source: [[...]]),能追到原始素材。如果回答有保存价值:

把这个回答存到 wiki 里

skill 会把这次回答沉淀到 wiki/synthesis/,自动建立双向链接。反复查询 = 知识不断积累,临时思考变成永久资产

4.4 健康检查——别让错误复利

Karpathy 自己说过一句狠话:「当输出被归档回去时,错误也会复利。」 这意味着 AI 写错的内容如果不修正,下一轮问答会基于错的继续。所以每月跑一次体检:

帮我做一次知识库健康检查

会跑两个层面:

  • 脚本层
    (需要 jq):孤立页面 / 断链 / index 一致性
  • AI 层
    :矛盾 / 交叉引用

五、故障排查:这 5 个坑我都替你踩过了

5.1 openclaw skills install EPERM rename 失败(稳定复现)

症状:见 §3.2 的报错。

状态:OpenClaw 2026.6.11 自家 stage-install 流程的稳定 bug。绕路:走 §3.3 的「手动复制」流程。

5.2 PowerShell 中文乱码

openclaw skills list 输出 涓汉鐭ヨ瘑搴? 这种鬼字 → 见 §2.3 的编码修复方案 A/B/C。

5.3 可选提取器没装

如果消化微信公众号 / X / YouTube / 知乎时,提示「提取器未启用」,不要直接跑 install.ps1 --with-optional-adapters(它会改 ~/.openclaw/ 全局配置,等同于执行任意 install.sh 代码)。

替代方案:手动跑对应提取器:

# 微信公众号uv tool run wechat-article-to-markdown <url># X / Twitter / 网页bunx baoyu-url-to-markdown <url># YouTube# 复制字幕粘贴

5.4 健康检查报「jq 缺失」

winget install jqlang.jq# 重启 PowerShell 让 PATH 生效

5.5 知识库目录权限

skill 用 PowerShell 跑 mkdir / cp / python 时,知识库目录不能在 OneDrive 同步路径下(OneDrive 锁会冲突)。建议放:

  • C:\Users\lgzhu\knowledge\
    (主用户目录,不在 OneDrive 下)
  • D:\knowledge\
    (数据盘,不在 OneDrive 下)
  • workspace\knowledge\
    (在 workspace 内,不在 OneDrive 下)

六、升级 / 卸载:速查命令卡

# ========== 装 ==========$src = "C:\Users\lgzhu\AppData\Local\Temp\llm-wiki-skill-src"$dst = "C:\Users\lgzhu\.openclaw\workspace\skills\llm-wiki"if (Test-Path $src) { Remove-Item $src -Recurse -Force }git clone --depth 1 https://github.com/sdyckjq-lab/llm-wiki-skill.git $srcif (Test-Path $dst) { Remove-Item $dst -Recurse -Force }Copy-Item -Path $src -Destination $dst -Recurse -ForceRemove-Item "$dst\.git" -Recurse -Force# ========== 验 ==========openclaw skills list | Select-String "llm-wiki"openclaw skills check# ========== 升 ==========cd $env:TEMP\llm-wiki-skill-src; git pull# 然后跑上面的「装」流程的后半段# ========== 卸 ==========Remove-Item "C:\Users\lgzhu\.openclaw\workspace\skills\llm-wiki" -Recurse -Force# 知识库本身不会被删,那个是你自己的数据# ========== 清理临时 clone ==========Remove-Item "C:\Users\lgzhu\AppData\Local\Temp\llm-wiki-skill-src" -Recurse -Force

七、安全备忘

  • 仓库自承
    「第三方 Skill 显式安装并启用后才作为受信任本地代码运行」——我们手动复制 + 让 OpenClaw 自动发现,等价于显式启用。
  • 当前安装的版本是 main 分支当前快照,未固定到具体 tag。如果对版本稳定性敏感,可以 clone 后手动 git checkout v3.6.33 再复制。
  • 如果哪天 openclaw skills verify 报 link invalid,大概率是 origin.json 跟 lock.json 的 installedAt 漂几 ms 触发严格相等比对失败,手动对齐时间戳即可,不需要重装

八、写在最后

整套系统的核心组件其实只有一个 Skill:llm-wiki-skill(一行命令起步,跨 4 个平台)。装好之后你就在 OpenClaw 聊天窗口说话就行,三句话搞定一切

  • 一句话建一个知识库:帮我初始化一个知识库
  • 一句话把一篇文章变成 wiki:帮我消化这篇
  • 一句话检查一次系统:帮我做一次健康检查

参考链接

  • llm-wiki-skill 仓库:https://github.com/sdyckjq-lab/llm-wiki-skill
  • OpenClaw 文档:https://docs.openclaw.ai/cli/skills