📦 llm-wiki — AI知识库

v1.1.2

复刻 Karpathy 模式,用 Markdown 构建可累积的 LLM 知识库:自动索引、版本日志、可选向量嵌入与 MCP 扩展,让 AI 代理在本地持续读写、检索与更新知识。

0· 146·0 当前·0 累计
by @nemo4110 (T0M0R1N)·MIT
下载技能包
License
MIT
最后更新
2026/4/16
0
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
medium confidence
该技能内部实现与自述目的一致(基于 Markdown 的 LLM 维基):读写维基与源文件,提供可选嵌入服务,不强制无关凭据或隐藏安装;但嵌入/MCP 功能会触发外部调用或本地命令,需审查后启用。
评估建议
该技能确为协议驱动的 Markdown 维基管理器,仅读写仓库内文件。启用前请注意:1) 会读写 sources/、wiki/、log.md、config.yaml,勿放敏感文件;2) 嵌入默认关闭,启用前确认是否愿向 OpenAI 发送文本;3) 若启用 MCP stdio 传输,请检查 config.yaml 中的 command,该命令会被执行;4) 先审查 scripts/ 与所有子进程/网络调用;5) 如需隔离,请在虚拟环境或容器内运行并关闭嵌入。...
详细分析 ▾
用途与能力
名称/描述(llm-wiki / 累积知识管理)与所含文件及运行指令一致:技能读取源、写入 Markdown 页面、维护索引/日志,并可选择构建嵌入索引。可选嵌入提供方(Ollama、OpenAI、MCP)作为语义搜索的合理增强,以可选配置而非强制依赖出现。
指令范围
SKILL.md/CLAUDE.md/AGENTS.md 指示代理读写 sources/ 与 wiki/(创建存根、更新索引、追加 log.md)——符合预期。文档指示使用 PyMuPDF 或 scripts/read_pdf.py 处理 PDF,并可在需要时安装 Python 依赖。协议模式下代理可访问整个项目树(wiki/、sources/、config.yaml)——与技能一致,但授予仓库内广泛文件系统访问权,需留意。
安装机制
技能包内无远程下载/安装;主要为指令级,附带 Python 源码与辅助脚本。安装说明使用标准本地包管理器(pip/conda)及可选 uv 工具。技能本身不通过外部任意 URL 下载或解压归档。
凭证需求
技能未声明必需环境变量,与基线协议模式一致。但代码与配置支持可选嵌入提供方,启用后可能需密钥(OpenAI API key)或运行本地/外部进程(MCP stdio 传输需执行 command)。启用 embedding.openai 将文本发往 OpenAI;启用 MCP stdio command 将启动并通信指定命令。这些可选功能对嵌入有用,但增加数据暴露与本地命令执行面,应仅在可信配置下启用。
持久化与权限
技能未请求 'always: true',也不修改其他技能或全局代理配置。仅写入仓库本地文件(wiki/、log.md、index.md),不要求系统级持久化。默认允许代理自主调用(disable-model-invocation:false)——属平台常规,非本技能独有权限。
安全有层次,运行前请审查代码。

License

MIT

可自由使用、修改和再分发,需保留版权声明。

运行时依赖

无特殊依赖

版本

latestv1.1.22026/4/13

- 新增 `log.md` 用于时间线/变更跟踪。 - 新增 `wiki/index.md` 作为结构化索引入口。 - 更新并重整依赖列表,加入 `pymupdf`、`numpy`、`httpx`、`openai`、`mcp` 以增强 PDF 与嵌入支持。 - 在文档中澄清并扩展 CLI 与安装说明。 - 更新 README 中关于回退 PDF 处理的安全说明。 - 在 AGENTS.md、ROADMAP.md 中改进文档并补充新文件处理细节。

无害

安装命令

点击复制
官方npx clawhub@latest install 041-llm-wiki
镜像加速npx clawhub@latest install 041-llm-wiki --registry https://cn.longxiaskill.com

技能文档

# CLI 参考 ## 协议模式(推荐) 使用自然语言与您的 agent 交互: `` "请摄入 sources/paper.pdf 到 wiki" "查询 wiki: Transformer 和 RNN 有什么区别?" "检查 wiki 健康状况" ` ## CLI 模式(可选) 安装依赖后: `bash # 显示 wiki 状态概览 python -m src.llm_wiki status # 运行健康检查 python -m src.llm_wiki lint # 显示帮助 python -m src.llm_wiki --help ` 注意:CLI 中的 ingestquery 命令仅提供辅助功能(如列出页面)。实际内容处理需通过与 agent 的自然语言交互完成。 # LLM-Wiki Karpathy 的 llm-wiki 模式实现 —— 面向 AI agent 的累积式知识管理。 > 核心哲学:LLM 即程序员,Wiki 即代码库,用户即产品经理。 ## 为何采用 SKILL 形态? | 维度 | 独立应用(如 Sage-Wiki) | 本 SKILL 实现 | |-----------|----------------------------------|---------------------------| | 架构 | Go + SQLite + 嵌入式前端 | 纯 Markdown | | 部署 | 需运行服务 | 零部署 | | 集成 | 通过 MCP 间接 | 原生命令 | | 代码量 | ~1 万行 | ~500 行 | | 数据格式 | 专有 | 纯文本 Markdown | | 编辑器 | 锁定在应用内 | Obsidian/VSCode/任意 | ## 功能 - 📚 协议驱动:自然语言即可,无需安装 - 📝 纯 Markdown:无数据库、无锁定、原生 git - 🔗 Wiki 式链接[[PageName]] 格式,兼容 Obsidian - 🧠 累积学习:每次查询都可创建新知识 - 🔍 健康检查:孤儿页面、死链、过期内容检测 - 🖥️ 可选 CLI:Python 脚本,支持自动化与批处理 ## 快速开始 `bash # 1. 克隆 git clone https://github.com/Nemo4110/llm-wiki.git cd llm-wiki # 2. 添加源材料 cp ~/Downloads/paper.pdf sources/ # 3. 告诉你的 agent "请摄入 sources/paper.pdf 到 wiki" ` ## 安装 ### 协议模式(推荐) 无需安装。Agent 直接读取 CLAUDE.md 并执行。 ### CLI 模式(可选) #### 使用 uv(最快) `bash # 创建虚拟环境并安装依赖 uv venv uv pip install -r src/requirements.txt --python .venv/Scripts/python.exe # 激活环境(Windows) .venv\Scripts\activate # 或 Linux/macOS source .venv/bin/activate ` #### 使用 conda `bash # 创建环境 conda create -n llm-wiki python=3.11 # 激活环境 conda activate llm-wiki # 安装依赖 pip install -r src/requirements.txt ` #### 使用 pip `bash # 创建虚拟环境 python -m venv .venv # 激活环境 source .venv/bin/activate # Linux/macOS .venv\Scripts\activate # Windows # 安装依赖 pip install -r src/requirements.txt ` #### 验证安装 `bash python -c "from src.llm_wiki.core import WikiManager; print('✓ Installation successful')" ` 重要依赖说明: | 依赖 | 版本 | 用途 | 备注 | |------------|---------|---------|-------| | click | >=8.0.0 | CLI 框架 | - | | pyyaml | >=6.0 | YAML 解析 | - | | pymupdf | >=1.25.0 | PDF 处理 | 主 PDF 引擎,CJK 最佳 | 可选依赖(增强功能): - numpy >=1.24.0 — 向量运算,用于 embedding 检索 - httpx >=0.27.0 — HTTP 客户端,用于 Ollama/本地服务 - openai >=1.0.0 — OpenAI embedding API - mcp >=1.0.0 — MCP SDK,用于远程 embedding 提供商 PDF 降级依赖: - pdfplumber >=0.11.8 — 表格提取降级(需安全版本,修复 CVE-2025-64512) - pdfminer.six >=20251107 — PDF 底层库降级 ## 项目结构 ` llm-wiki/ ├── CLAUDE.md # ⭐ 核心协议:Agent 行为准则 ├── AGENTS.md # Agent 实现指南(CLI 用法) ├── SKILL.md # 本文件 ├── log.md # 时间线日志(仅追加) ├── sources/ # 原始材料(用户管理,Agent 只读) │ └── README.md ├── wiki/ # 生成的知识页面(Agent 管理) │ ├── index.md # 入口索引 │ └── .md # 主题页面 ├── assets/ # 模板与配置 │ ├── page_template.md │ └── ingest_rules.md ├── src/ # SKILL 实现(可选,CLI 用) │ ├── llm_wiki/ │ └── requirements.txt ├── scripts/ # 辅助脚本 ├── hooks/ # 平台钩子(可选) └── examples/ # 示例 wiki ` 关于 sources/:默认 git 排除,避免仓库膨胀。Wiki 仅保留提炼知识;原始文件另行管理(云盘、Zotero 等)。详见 sources/README.md 追踪具体文件。 ## 工作原理 ### 数据流 ` +----------+ +--------------------+ +--------------+ | sources/ |---->| LLM Processing |---->| wiki/ | | (Raw) | | (Extract + Link) | | (Structured) | +----------+ +--------------------+ +--------------+ | v +----------+ | log.md | | (Record) | +----------+ ` ### 关键设计 1. CLAUDE.md 作为协议:定义 Agent 行为标准,任何人/任何 Agent 均可遵循 2. 纯 Markdown:无数据库、无锁定、原生 git 版本控制 3. 双向链接[[PageName]] 格式,兼容 Obsidian 4. 累积学习:每次查询都可生成新 wiki 页面,知识持续累加 ## 查询机制 ### 当前实现:符号导航 + LLM 合成(默认) 默认情况下,本 SKILL 无需 Embedding/向量检索。查询通过以下方式完成: ` 用户提问 | v +-------------------------------+ | 1. 读取 index.md | <-- 人工/Agent 维护的分类索引 | 定位相关主题 | +-------------------------------+ | v +-------------------------------+ | 2. 读取相关页面 | <-- 通过 [[链接]] 发现关联 | 及其链接邻居 | +-------------------------------+ | v +-------------------------------+ | 3. LLM 合成 | <-- 基于已读内容生成答案 | 带引用生成 | 引用格式:[[PageName]] +-------------------------------+ ` 可选增强:启用 config.yaml 中的 embedding 设置后,CLI query --semantic 会增加混合搜索(关键词匹配 + 向量搜索 + 链接遍历),更快更准。 示例流程:用户问:“什么是 LoRA?” 1. Agent 读取 wiki/index.md,在“AI/ML”主题下找到 [[LoRA]] 2. Agent 读取 wiki/LoRA.md,发现链接到 [[Fine-tuning]][[Adapter]] 3. Agent 合成 答案: > LoRA(Low-Rank Adaptation)是一种参数高效微调方法——见 [[LoRA]]。 > 相比传统 [[Fine-tuning]],它仅训练低秩矩阵…… ### 为何 Embedding 可选? | 考量 | 当前方案 | Embedding 方案 | |---------------|------------------|-------------------| | 依赖 | 零外部依赖 | 需 Embedding API 或本地模型 | | 成本 | 无额外费用 | 按 token/请求计费 | | 隐私 | 数据不上传 | 必须发送内容到外部服务 | | 准确性 | 精确链接,可解释 | 近似相似,可能召回无关内容 | | 规模 | 适合 0-500 页 | 大规模(1000+ 页)必备 | 结论:个人/小团队知识库,维护好 index.md 与页面链接,比引入 Embedding 更简单有效。Embedding 作为 CLI 可选增强,在规模需要时启用。 ### 何时启用 Embedding? 当 wiki 出现以下特征时,可考虑启用 config.yaml 中的 embedding 设置: - [ ] 页面数 > 500,人工索引难以维护 - [ ] 查询多为模糊语义(“那篇关于优化的论文……”) - [ ] 需跨主题关联(用户未提关键词,但语义相关) 详见 ROADMAP.md。 ## 使用示例 ### 场景 1:研究新领域 `bash # 第 1 天:添加材料 sources/ ├── 2026-04-10-transformer-paper.pdf └── 2026-04-10-lora-blog.md ` ` 用户:请摄入新材料 Claude:已处理 2 份材料 - 创建 [[Transformer]] —— 注意力机制架构 - 创建 [[LoRA]] —— 低秩适配 - 创建 [[Self-Attention]] —— 自注意力细节 - 更新 wiki/index.md ` ### 场景 2:深度探索 ` 用户:LoRA 和全参数微调有什么区别? Claude(读取 wiki/index.md → 找到 [[LoRA]] → 合成答案):基于我们的 wiki: LoRA —— [[LoRA]] - 冻结预训练权重,仅训练低秩矩阵 - 参数量减少约 1 万倍 全参数微调 - 更新全部参数 - 计算成本高 关键区别: 1. 参数量:LoRA 仅训练 0.1%~1% 参数 [[Parameter Efficiency]] 2. 存储:LoRA 仅保存适配器,而非完整模型 3. 组合:可叠加多个 LoRA [[LoRA Composition]] 以上是否有帮助?是否将该回答归档到 wiki? ` ### 场景 3:知识累积 ` 用户:是的,归档此回答 Claude:已创建 [[LoRA vs Full Fine-tuning]] - 从对话中提取对比要点 - 链接到 [[LoRA]] 与 [[Fine-tuning]] - 添加到 wiki/index.md 的 FAQ 部分 ` ## 与 Obsidian 配合使用 1. 在 Obsidian 中打开 wiki/` 目录 2. 享受图谱视图、快速导航、精美渲染 3. Claude Code 负责维护,Obsidian 负责阅读与思考 ## 与替代品对比 | 方案 | 特点 | 最适合 | |----------|----------------|----------| | 本 SKILL | 零依赖、纯文本、Claude Code 原生 | 个人知识管理、研究笔记 | | Sage-Wiki | 功能完整、多模态、独立应用 | 团队知识库、企业部署 | | Obsidian + 插件 | 可视化强、社区丰富 | 已有 Obsidian 工作流 | | Notion/Logseq | 协作、实时同步 | 多人协作、移动端访问 | ## 文档 - CLAUDE.md —— 用户面向的协议(先读) - AGENTS.md —— 面向 agent 开发者的实现指南 - SKILL.md —— 本文件,机器可读规范 - ROADMAP.md —— 未来计划 ## 贡献 欢迎提 Issue 与 PR! ### 当前 TODO - [ ] MCP server 包装(供其他 Agent 使用) - [ ] Obsidian 插件(一键同步) - [x] 增量 embedding,更快检索 - [ ] 多语言支持 ## 许可证 MIT —— 自由使用、修改、分发。 --- 灵感源自 Karpathy's llm-wiki*

数据来源ClawHub ↗ · 中文优化:龙虾技能库