<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>LLM Wiki on Kalend's Blog</title><link>https://blog.kalend.top/tags/llm-wiki/</link><description>Recent content in LLM Wiki on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Fri, 29 May 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/tags/llm-wiki/index.xml" rel="self" type="application/rss+xml"/><item><title>知识库搭完就完了？加上这两招，效率翻倍</title><link>https://blog.kalend.top/2026/05/29/2026-05-29-knowledge-base-advanced-2.html/</link><pubDate>Fri, 29 May 2026 10:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/05/29/2026-05-29-knowledge-base-advanced-2.html/</guid><description>
 &lt;blockquote&gt;
 &lt;p&gt;备选标题①：别再用 RAG 从零搜了！3 步搭出互联知识库 + 接入 AI 助手
备选标题②：99% 的人卡在&amp;quot;知识库能搜&amp;quot;就停了——你还能再做两步
备选标题③：知识库入门容易精通难：两个进阶玩法效率直接翻倍&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;上篇我们用 MemPalace + ChromaDB + Ollama 搭好了基础知识库。安装、嵌入、搜索、定时扫描，一条龙跑通。&lt;/p&gt;
&lt;p&gt;但说实话，能搜只是起点。&lt;/p&gt;
&lt;p&gt;搜索是&amp;quot;每次从零发现&amp;quot;，你问一次它找一次，找不到就是找不到。知识之间的关系？没有。知识的沉淀和演化？也没有。&lt;/p&gt;
&lt;p&gt;今天讲两个进阶玩法，直接把知识库从&amp;quot;能用&amp;quot;拉到&amp;quot;好用&amp;quot;：&lt;/p&gt;
&lt;p&gt;第一，LLM Wiki 互联知识库。&lt;/p&gt;
&lt;p&gt;第二，接入 AI 助手，让记忆自动流转。&lt;/p&gt;
&lt;h2 id="一llm-wiki从搜文档到用知识"&gt;一、LLM Wiki：从&amp;quot;搜文档&amp;quot;到&amp;quot;用知识&amp;quot;
&lt;/h2&gt;&lt;h3 id="传统-rag-的致命问题"&gt;传统 RAG 的致命问题
&lt;/h3&gt;&lt;p&gt;每次提问，RAG 都要重新检索、重新理解、重新组织答案。同一个知识点问了十遍，它就检索了十遍，没有任何积累。&lt;/p&gt;
&lt;p&gt;这就像每次考试都从头翻课本，从不做笔记。&lt;/p&gt;
&lt;p&gt;LLM Wiki 的思路不一样：一次编译知识，持续更新，互联引用。&lt;/p&gt;
&lt;p&gt;它源自 Karpathy 的 LLM Wiki 模式，用互联的 Markdown 文件构建一个持久化的知识网络。&lt;/p&gt;
&lt;h3 id="三层架构"&gt;三层架构
&lt;/h3&gt;&lt;p&gt;LLM Wiki 的核心是三层分离：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Layer 1：&lt;code&gt;raw/&lt;/code&gt; —— 不可变原始资料。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;放文章、论文、对话记录等原材料。&lt;/p&gt;
&lt;p&gt;一旦放进去就不改，作为知识源头。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Layer 2：Wiki Pages —— AI 拥有的知识页面。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这是核心产出层。&lt;/p&gt;
&lt;p&gt;包含实体页、概念页、对比页、查询页。&lt;/p&gt;
&lt;p&gt;每个页面都是经过消化的结构化知识。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Layer 3：&lt;code&gt;SCHEMA.md&lt;/code&gt; —— 结构规则和标签分类法。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;定义整个 wiki 的域配置、标签体系、页面阈值。&lt;/p&gt;
&lt;p&gt;是整个系统的&amp;quot;宪法&amp;quot;。&lt;/p&gt;
&lt;p&gt;三层分离的好处：原始数据不动，知识页面持续演化，规则独立维护。&lt;/p&gt;
&lt;h3 id="实操5-分钟搭骨架"&gt;实操：5 分钟搭骨架
&lt;/h3&gt;&lt;p&gt;先创建目录结构：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir -p ~/wiki/&lt;span class="o"&gt;{&lt;/span&gt;raw/&lt;span class="o"&gt;{&lt;/span&gt;articles,papers,transcripts,assets&lt;span class="o"&gt;}&lt;/span&gt;,entities,concepts,comparisons,queries&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;创建 &lt;code&gt;SCHEMA.md&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gh"&gt;# Wiki Schema
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Domain
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI Engineering &amp;amp; Knowledge Management
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Taxonomy Tags
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#architecture&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#embedding&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#retrieval&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#integration&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#rag&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#vector&lt;/span&gt;-db
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; &lt;span class="ni"&gt;#workflow&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Page Thresholds
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; entity_min_references: 2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; concept_min_sections: 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; comparison_min_axes: 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; query_max_age_days: 90
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Naming Convention
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;-&lt;/span&gt; lowercase-with-hyphens.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;创建 &lt;code&gt;index.md&lt;/code&gt;（导航中心）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gh"&gt;# Wiki Index
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Entities
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!-- entities listed here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Concepts
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!-- concepts listed here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Comparisons
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!-- comparisons listed here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gu"&gt;## Queries
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;lt;!-- queries listed here --&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;创建 &lt;code&gt;log.md&lt;/code&gt;（操作日志）：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gh"&gt;# Wiki Log
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| Date | Action | Target | Notes |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;|------|--------|--------|-------|
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;完成。这就是一个完整的 LLM Wiki 骨架。&lt;/p&gt;
&lt;h3 id="三个核心操作"&gt;三个核心操作
&lt;/h3&gt;&lt;p&gt;LLM Wiki 围绕三个操作展开：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ingest（摄入）：把原材料变成知识。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;流程是：捕获原始源 → 讨论要点 → 检查已有页面 → 创建或更新页面 → 更新导航。&lt;/p&gt;
&lt;p&gt;不是简单存文件，而是消化、提取、关联、索引一条龙。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Query（查询）：基于已有知识回答。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;关键区别：查完之后，有价值的答案会写回 wiki。知识越用越丰富。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lint（检查）：保持知识库健康。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;检测孤儿页面、断裂链接、索引完整性等六类问题。超过 100 个页面后，不跑 Lint 就是给自己埋雷。&lt;/p&gt;
&lt;h3 id="obsidian-兼容"&gt;Obsidian 兼容
&lt;/h3&gt;&lt;p&gt;LLM Wiki 原生兼容 Obsidian。&lt;code&gt;[[页面名]]&lt;/code&gt; 的 wikilinks 语法直接可用。&lt;/p&gt;
&lt;p&gt;Graph View 可以可视化知识网络。&lt;/p&gt;
&lt;p&gt;把 &lt;code&gt;~/wiki&lt;/code&gt; 当作 Vault 打开就行，零迁移成本。&lt;/p&gt;
&lt;h2 id="二接入-ai-助手让知识自动流转"&gt;二、接入 AI 助手：让知识自动流转
&lt;/h2&gt;&lt;p&gt;知识库搭好了，但每次手动查还是很累。&lt;/p&gt;
&lt;p&gt;更合理的做法是：把知识库变成 AI 助手的长期记忆，对话时自动存取。&lt;/p&gt;
&lt;h3 id="方式-amemoryprovider-深度集成推荐"&gt;方式 A：MemoryProvider 深度集成（推荐）
&lt;/h3&gt;&lt;p&gt;MemPalace 直接作为 AI 助手框架的 memory provider，对话时自动同步记忆。&lt;/p&gt;
&lt;p&gt;在框架配置文件中设置：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;memory&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;memory_enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;user_profile_enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;memory_char_limit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;2200&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;user_char_limit&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1375&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;mempalace&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;nudge_interval&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;10&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;flush_min_turns&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;6&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;再创建 &lt;code&gt;mempalace.json&lt;/code&gt; 配置自动提取：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;auto_extract&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;extract_model&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;glm-4-flash&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这里 &lt;code&gt;extract_model&lt;/code&gt; 用轻量模型做记忆提取，成本极低。&lt;/p&gt;
&lt;p&gt;配置完成后，框架自动注册 6 个工具：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mempalace_recall&lt;/code&gt;（语义搜索）、&lt;code&gt;mempalace_store&lt;/code&gt;（精准存储）、&lt;code&gt;mempalace_knowledge&lt;/code&gt;（查询知识图谱）。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mempalace_kg_add&lt;/code&gt;（添加三元组）。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mempalace_kg_invalidate&lt;/code&gt;（标记过期）、&lt;code&gt;mempalace_status&lt;/code&gt;（记忆总览）。&lt;/p&gt;
&lt;h3 id="三个自动钩子"&gt;三个自动钩子
&lt;/h3&gt;&lt;p&gt;集成后，三个钩子自动工作：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;sync_turn()&lt;/code&gt;&lt;/strong&gt; —— 每轮对话结束，自动把消息持久化到 MemPalace。你不用手动存。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;on_memory_write()&lt;/code&gt;&lt;/strong&gt; —— 框架内置记忆写入时，自动镜像到 MemPalace。双写，不丢。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;on_session_end()&lt;/code&gt;&lt;/strong&gt; —— 对话结束时，自动提取三类记忆：Persona、Episodic、Instruction。提取完直接存入，下次对话自动加载。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;去重机制&lt;/strong&gt;：新记忆与已有记忆做 cosine similarity，超过 0.92 视为重复，跳过存储。防止记忆膨胀。&lt;/p&gt;
&lt;h3 id="方式-bmcp-server备选"&gt;方式 B：MCP Server（备选）
&lt;/h3&gt;&lt;p&gt;如果框架不支持 MemoryProvider，可以用 MCP 协议接入：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;mcp_servers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;mempalace&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;python&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;-m&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;mempalace.mcp_server&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;功能一样，但没有自动钩子方便，适合过渡。&lt;/p&gt;
&lt;h2 id="三多实例隔离别让并发写炸了你的数据库"&gt;三、多实例隔离：别让并发写炸了你的数据库
&lt;/h2&gt;&lt;p&gt;同时跑多个 Agent（主助手 + OpenClaw 定时挖掘 + 其他实验），它们都写同一个 ChromaDB，迟早出问题。&lt;/p&gt;
&lt;p&gt;ChromaDB 不是为高并发写入设计的。多进程同时写，数据损坏只是时间问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解决方案：每个 Agent 用独立的 MemPalace 实例。&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;实例&lt;/th&gt;
 &lt;th&gt;路径&lt;/th&gt;
 &lt;th&gt;使用者&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;主实例&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;~/.mempalace/palace/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;AI 助手主程序&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第二实例&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;~/.mempalace/palace-openclaw/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;OpenClaw 定时挖掘&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;第三实例&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;~/.mempalace/palace-yuan/&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;其他 Agent&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;路径不同，ChromaDB 实例不同，互不干扰。&lt;/p&gt;
&lt;p&gt;OpenClaw 定时挖掘脚本示例：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="cp"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PALACE_DB&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.mempalace/palace-openclaw&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;PALACE_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;/root/.openclaw/workspace-main&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mempalace --palace &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PALACE_DB&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; mine &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$PALACE_PATH&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; --limit &lt;span class="m"&gt;500&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后配置定时执行。用 OpenClaw 自己的 cron，不要用系统 crontab。&lt;/p&gt;
&lt;h2 id="踩坑清单"&gt;踩坑清单
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;1. ChromaDB 并发写必挂。&lt;/strong&gt; 多 Agent 共享一个实例是&amp;quot;能跑&amp;quot;但&amp;quot;迟早崩&amp;quot;。老老实实隔离。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. 记忆提取模型别用大模型。&lt;/strong&gt; &lt;code&gt;extract_model&lt;/code&gt; 用轻量模型就够了。用大模型做提取，成本是收益的十倍。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. LLM Wiki 的 Lint 别偷懒。&lt;/strong&gt; 知识库超过 100 个页面后，孤儿页面和矛盾内容会越来越多。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. wiki 路径别用中文。&lt;/strong&gt; 文件名和目录名都用英文加连字符。中文路径在 wikilinks 中会出奇怪问题。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5. MemPalace 去重阈值 0.92 不要调低。&lt;/strong&gt; 调到 0.85 以下，相似但不同的记忆会被误判为重复丢弃。宁可多存，不可误删。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6. &lt;code&gt;flush_min_turns&lt;/code&gt; 别设太大。&lt;/strong&gt; 设成 20 的话，对话在第 15 轮断了，那 15 轮的记忆都没存。建议 6-8 轮。&lt;/p&gt;
&lt;h2 id="总结"&gt;总结
&lt;/h2&gt;&lt;p&gt;上篇解决了&amp;quot;知识库能存能搜&amp;quot;。&lt;/p&gt;
&lt;p&gt;这篇解决了两个更关键的问题：&lt;/p&gt;
&lt;p&gt;第一，知识库能互联、能演化。LLM Wiki 的三层架构让知识从&amp;quot;孤立文档&amp;quot;变成&amp;quot;互联网络&amp;quot;，越用越丰富。&lt;/p&gt;
&lt;p&gt;第二，知识库能和 AI 助手自动协同。MemPalace 作为 MemoryProvider，对话即存储，查询即回忆，全程自动化。&lt;/p&gt;
&lt;p&gt;加上多实例隔离，多 Agent 并行也不会打架。&lt;/p&gt;
&lt;p&gt;三步走：基础搭建 → 互联知识库 → AI 助手集成。到这步，你的知识库系统才算真正完成。&lt;/p&gt;</description></item><item><title>我给AI建了个全自动知识库：每周自动从对话中提炼知识点</title><link>https://blog.kalend.top/2026/05/26/wiki-auto-knowledge-base.html/</link><pubDate>Tue, 26 May 2026 23:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/05/26/wiki-auto-knowledge-base.html/</guid><description>
 &lt;blockquote&gt;
 &lt;p&gt;和AI聊了几百轮，发现最有价值的知识全散落在聊天记录里。下次遇到类似问题，还得重新问一遍。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;这不是工具推荐，是我自己搭的一套系统。用了一年，从零长到23个知识页面，全是AI自己从对话里提炼出来的。&lt;/p&gt;
&lt;p&gt;先说结论：把AI当知识管理员，比当聊天机器人有用得多。&lt;/p&gt;
&lt;h2 id="一为什么要自动化知识库"&gt;一、为什么要自动化知识库
&lt;/h2&gt;&lt;p&gt;我每天和AI助手聊天，聊技术、聊工具、聊踩坑经验。&lt;/p&gt;
&lt;p&gt;这些对话里藏着大量可复用的知识点：某个工具的配置方法、某个问题的解决方案、某个概念的清晰解释。&lt;/p&gt;
&lt;p&gt;但问题是——它们全在聊天记录里。&lt;/p&gt;
&lt;p&gt;想找的时候翻不到，找到了也不确定是最新的。&lt;/p&gt;
&lt;p&gt;更关键的是，下次遇到类似问题，我又得重新描述一遍背景，重新问一遍。&lt;/p&gt;
&lt;p&gt;所以我想要一个系统：自动扫描对话，自动提炼知识点，自动写入知识库。&lt;/p&gt;
&lt;p&gt;不是什么Notion模板，不是Obsidian手动整理。&lt;/p&gt;
&lt;p&gt;是真正的全自动——我正常聊天，知识库自动生长。&lt;/p&gt;
&lt;h2 id="二方案llm-wiki-规范--定时扫描"&gt;二、方案：LLM Wiki 规范 + 定时扫描
&lt;/h2&gt;&lt;p&gt;我的方案基于Karpathy提出的LLM Wiki规范。&lt;/p&gt;
&lt;p&gt;核心思路：用Markdown文件存知识，用双向链接把知识点串成图谱，用AI定时扫描对话来增量更新。&lt;/p&gt;
&lt;p&gt;整个知识库就是一个文件夹，长这样：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wiki/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; entities/ # 实体页（工具、人物、项目）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; concepts/ # 概念页（方法论、架构、工作流）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; comparisons/ # 对比页（方案选型）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; queries/ # 查询页（常见问题）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; raw/ # 原始素材（对话摘要）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; SCHEMA.md # 规范定义
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; index.md # 全局索引
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; log.md # 操作日志
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;每个页面都有统一的frontmatter格式：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;title&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;页面标题&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;created&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-05-14&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;updated&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ld"&gt;2026-05-25&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;entity | concept | comparison | query&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;ai, tools, open-source]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;sources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;raw/articles/xxx.md]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;confidence&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;high | medium | low&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nn"&gt;---&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;用&lt;code&gt;[[wikilinks]]&lt;/code&gt;语法在页面间建立双向链接。&lt;/p&gt;
&lt;p&gt;比如opencode页面引用了understand-anything，后者又引用了hermes-agent。&lt;/p&gt;
&lt;p&gt;这些链接自动形成知识图谱，不用手动维护。&lt;/p&gt;
&lt;h2 id="三扫描脚本从对话中挖知识点"&gt;三、扫描脚本：从对话中挖知识点
&lt;/h2&gt;&lt;p&gt;核心是一个Python脚本，每周自动扫描最近7天的AI对话记录。&lt;/p&gt;
&lt;p&gt;它的逻辑很简单：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一步&lt;/strong&gt;：扫描会话数据库，找到最近有实质内容的对话。&lt;/p&gt;
&lt;p&gt;筛选标准：消息数≥5条，标题非空，时间在7天内。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二步&lt;/strong&gt;：用关键词匹配分类。我定义了8个类别：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;AI/模型 | 工具/Agent | 数据库 | OSINT
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DevOps | 编程 | 写作 | 记忆/知识库
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;每条匹配规则是多个关键词用管道符连接。&lt;/p&gt;
&lt;p&gt;比如&amp;quot;ai|llm|模型|训练|推理&amp;quot;都归到AI类。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三步&lt;/strong&gt;：过滤掉已有页面覆盖的内容，输出候选清单。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第四步&lt;/strong&gt;：LLM Agent拿到候选清单，判断是否值得入库。&lt;/p&gt;
&lt;p&gt;不是什么都记。有两个硬性门槛：&lt;/p&gt;
&lt;p&gt;同一个知识点出现2次以上，或者来自1个高质量核心来源。&lt;/p&gt;
&lt;p&gt;这样避免了把闲聊当知识的问题。&lt;/p&gt;
&lt;h2 id="四自动化流程定时任务配置"&gt;四、自动化流程：定时任务配置
&lt;/h2&gt;&lt;p&gt;我把扫描脚本配成了定时任务，每周日上午11点自动运行。&lt;/p&gt;
&lt;p&gt;流程是四步：&lt;/p&gt;
&lt;p&gt;扫描脚本输出候选 → LLM判断是否值得入库 → 创建或更新wiki页面 → 追加操作日志&lt;/p&gt;
&lt;p&gt;目前已经跑了5轮自动入库，产生了这些内容：&lt;/p&gt;
&lt;p&gt;实体页13个：hermes-agent、mempalace、opencode、obsidian、karpathy等。&lt;/p&gt;
&lt;p&gt;概念页5个：双向链接、知识库工作流、五层记忆架构、MySQL大表DDL方案、被动验证方法论。&lt;/p&gt;
&lt;p&gt;最有价值的是交叉引用。&lt;/p&gt;
&lt;p&gt;opencode → understand-anything → hermes-agent → openclaw&lt;/p&gt;
&lt;p&gt;这条引用链，把四个工具的定位和关系串了起来。&lt;/p&gt;
&lt;p&gt;下次我需要对比它们，直接看知识库就行。&lt;/p&gt;
&lt;h2 id="五设计思考为什么不用notion"&gt;五、设计思考：为什么不用Notion
&lt;/h2&gt;&lt;p&gt;很多人会问：为什么不直接用Notion？或者Obsidian的插件？&lt;/p&gt;
&lt;p&gt;三个原因：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第一&lt;/strong&gt;，数据主权。我的知识库是本地Markdown文件，git管理。&lt;/p&gt;
&lt;p&gt;不依赖任何云服务，不会因为某天服务下线就丢数据。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第二&lt;/strong&gt;，增量构建。不是一次性搭好架子然后手动填充。&lt;/p&gt;
&lt;p&gt;是每周自动从对话中生长，越用越丰富。&lt;/p&gt;
&lt;p&gt;我正常使用AI，知识库自动变厚。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;第三&lt;/strong&gt;，AI做苦力。扫描、分类、提取、格式化，全部自动化。&lt;/p&gt;
&lt;p&gt;我只做最终决策——这个东西值不值得记。&lt;/p&gt;
&lt;p&gt;当然也有代价：没有Notion那么漂亮的界面，没有协作功能。&lt;/p&gt;
&lt;p&gt;但知识库的本质是&amp;quot;能找到&amp;quot;，不是&amp;quot;好看&amp;quot;。&lt;/p&gt;
&lt;h2 id="六一个真实页面长什么样"&gt;六、一个真实页面长什么样
&lt;/h2&gt;&lt;p&gt;拿hermes-agent这个实体页举例：&lt;/p&gt;
&lt;p&gt;开头是frontmatter，包含标题、日期、类型、标签、来源、置信度。&lt;/p&gt;
&lt;p&gt;然后是正文：概述、核心架构（配置层级表格）、Profile隔离系统、Skill系统、五层记忆架构、多平台网关。&lt;/p&gt;
&lt;p&gt;最后是相关页面链接：nous-research、llm-wiki、obsidian、mempalace。&lt;/p&gt;
&lt;p&gt;每个链接都能跳转，形成知识网络。&lt;/p&gt;
&lt;p&gt;整个页面从创建到现在更新了3次，每次都是自动扫描触发的。&lt;/p&gt;
&lt;p&gt;不是手动维护的&amp;quot;死&amp;quot;文档，而是跟着我的使用持续进化的&amp;quot;活&amp;quot;知识。&lt;/p&gt;
&lt;p&gt;回看log.md的操作记录，5次自动入库覆盖了完全不同的领域：&lt;/p&gt;
&lt;p&gt;从MySQL大表DDL方案到OSINT被动验证方法论。&lt;/p&gt;
&lt;p&gt;这正是自动化的价值——它不会只记你&amp;quot;觉得重要&amp;quot;的东西。&lt;/p&gt;
&lt;p&gt;而是记录你&amp;quot;实际在用&amp;quot;的东西。&lt;/p&gt;
&lt;p&gt;如果你也在大量使用AI工具，强烈建议搭一个自己的知识库。&lt;/p&gt;
&lt;p&gt;不需要复杂，一个文件夹 + 一个扫描脚本就够了。&lt;/p&gt;
&lt;p&gt;关键不是工具选型，而是让知识自动沉淀。&lt;/p&gt;
&lt;p&gt;手动整理的知识库，最后都会变成没人维护的死文档。&lt;/p&gt;
&lt;p&gt;只有自动化的，才能活下来。&lt;/p&gt;
&lt;p&gt;关注 varkm，一起学习，一起成长&lt;/p&gt;
&lt;p&gt;下一篇讲怎么给这个知识库加上语义搜索，让它从&amp;quot;能找到&amp;quot;变成&amp;quot;能联想&amp;quot;&lt;/p&gt;</description></item></channel></rss>