memory-wiki 是一个内置插件,会把持久知识编译成可导航的
wiki:确定性页面、带证据的结构化声明、来源、仪表盘,以及机器可读摘要。
它不会替代主动记忆插件。召回、提升、索引和
Dreaming 仍由已配置的记忆后端负责
(memory-core、QMD、Honcho 等)。memory-wiki 位于旁侧,并将
知识编译成一个受维护的 wiki 层。
| 层级 | 负责 |
|---|---|
| 主动记忆插件 | 召回、语义搜索、提升、Dreaming、记忆运行时 |
memory-wiki | 编译后的 wiki 页面、富来源综合、仪表盘、wiki 搜索/获取/应用 |
- 使用
memory_search对已配置的任意语料库执行一次广泛召回 - 当你需要 wiki 专属排序、来源或页面级信念结构时,使用
wiki_search/wiki_get - 当主动记忆插件支持语料库选择时,使用
memory_search corpus=all在一次调用中跨越两个层级
memory-wiki 以 bridge 模式用于持久综合页面。请参阅
配置 下的 QMD + 桥接模式示例。
如果桥接模式报告导出的工件为零,则主动记忆插件
当前没有暴露公共桥接输入。先运行 openclaw wiki doctor,
然后确认主动记忆插件支持公共工件。
Vault 模式
isolated(默认):自己的 vault、自己的来源,不依赖主动记忆插件。用于自包含的精选知识存储。bridge:通过公共插件 SDK 接缝,从主动记忆插件读取公共记忆工件和事件日志。用于编译记忆插件导出的工件,而不触及私有插件内部机制。unsafe-local:面向本地私有路径的显式同机逃生口。刻意保持实验性且不可移植;仅在你理解信任边界,并且确实需要桥接模式无法提供的本地文件系统访问时使用。
bridge.* 配置开关索引:
- 导出的记忆工件(
indexMemoryRoot) - 每日笔记(
indexDailyNotes) - dream 报告(
indexDreamReports) - 记忆事件日志(
followMemoryEvents)
bridge.readMemoryArtifacts 时,
openclaw wiki status、openclaw wiki doctor 和 openclaw wiki bridge import 会通过正在运行的 Gateway 网关路由,因此它们看到的主动记忆
插件上下文与智能体/运行时记忆相同。如果桥接被禁用或工件
读取已关闭,这些命令会保持本地/离线行为。
Vault 布局
sources/:导入的原始材料,以及由桥接/unsafe-local支撑的页面entities/:持久事物、人物、系统、项目、对象concepts/:想法、抽象、模式、策略(也是 OKF 导入的落点)syntheses/:编译后的摘要和受维护的汇总reports/:生成的仪表盘
Open Knowledge Format 导入
memory-wiki
将其转换为 OpenClaw 原生概念页面和编译摘要。
- 非保留的
.md文件是概念文档 - 每个导入的概念都需要非空的
typefrontmatter 字段;缺少type会产生missing-type警告,并跳过该文件 - 未知
type值会作为通用概念接受 index.md和log.md是保留文件,永远不会作为概念导入- 损坏的或外部 Markdown 链接会保持不变
concepts/ 下,因此现有的编译、搜索、获取和
仪表盘流程无需第二棵 wiki 树即可看到它们。每个页面都会保留
原始 OKF 概念 ID、来源路径、type、resource、tags、时间戳,
以及完整的生产者 frontmatter。内部 OKF 链接会重写到生成的
wiki 概念页面,并且还会发出带有 kind: okf-link 的结构化
relationships 条目。
结构化声明和证据
页面携带结构化的claims frontmatter,而不只是自由格式文本。每个
声明可以包含 id、text、status、confidence、evidence[] 和
updatedAt。每个证据条目可以包含 kind、sourceId、path、
lines、weight、confidence、privacyTier、note 和 updatedAt。
这让 wiki 像一个信念层,而不是被动的笔记堆。
声明可以被跟踪、评分、质疑,并解析回来源。
面向智能体的实体元数据
实体页面携带通用路由元数据,可用于人物、团队、 系统、项目或任何其他实体类型:entityType:例如person、team、system、projectcanonicalId:跨别名和导入的稳定身份键aliases:解析到同一页面的名称、handle 或标签privacyTier:自由格式字符串;public会被视为无需审核,任何其他值(例如local-private、sensitive、confirm-before-use)都会在reports/privacy-review.md中标记bestUsedFor/notEnoughFor:紧凑路由提示lastRefreshedAt:来源刷新时间戳,独立于页面编辑时间personCard:可选的人物专属路由卡(handle、社交账号、电子邮件、时区、lane、适合询问、不适合询问、置信度、隐私层级)relationships:指向相关页面的类型化边(目标、类型、权重、置信度、证据类型、隐私层级、备注)
reports/person-agent-directory.md 开始,然后在使用联系方式或推断事实前,
用 wiki_get 打开人物页面。
编译流水线
编译会读取 wiki 页面,规范化摘要,并在以下位置输出稳定的 面向机器的工件:.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
仪表盘和健康报告
当启用render.createDashboards 时,编译会维护 reports/ 下的仪表盘:
| 报告 | 跟踪 |
|---|---|
reports/open-questions.md | 存在未解决问题的页面 |
reports/contradictions.md | 矛盾笔记集群 |
reports/low-confidence.md | 低置信度页面和声明 |
reports/claim-health.md | 缺少结构化证据的声明 |
reports/stale-pages.md | 过时或新鲜度未知的页面 |
reports/person-agent-directory.md | 人物/实体路由卡 |
reports/relationship-graph.md | 结构化关系边 |
reports/provenance-coverage.md | 证据类别覆盖 |
reports/privacy-review.md | 使用前需要审核的非公开隐私层级 |
搜索和检索
两个搜索后端:shared:在可用时使用共享记忆搜索流程local:在本地搜索 wiki
wiki、memory、all。
wiki_search/wiki_get会在可能时使用编译摘要作为首轮- 声明 ID 会解析回所属页面
- 被质疑/过时/新鲜的声明会影响排序
- 来源标签会保留到结果中
--mode / 工具 mode 参数):
| 模式 | 提升 |
|---|---|
auto | 均衡默认值 |
find-person | 类人物实体、别名、handle、社交账号、规范 ID |
route-question | 智能体卡、适合询问/最适合用途提示、关系上下文 |
source-evidence | 来源页面和结构化证据元数据 |
raw-claim | 匹配结构化声明;返回声明/证据元数据 |
wiki_search 会在其详细信息 payload 中返回
matchedClaimId、matchedClaimStatus、matchedClaimConfidence、
evidenceKinds 和 evidenceSourceIds。可用时,文本输出
会包含紧凑的 Claim: 和 Evidence: 行。
智能体工具
| 工具 | 用途 |
|---|---|
wiki_status | 当前 vault 模式、健康状态、Obsidian CLI 可用性 |
wiki_search | 搜索 wiki 页面,并在已配置时搜索共享记忆语料库;接受 mode,用于人物查找、问题路由、来源证据或原始声明下钻 |
wiki_get | 按 ID/路径读取 wiki 页面;当启用共享搜索且查找未命中时,回退到共享记忆语料库 |
wiki_apply | 无需自由格式页面手术即可执行窄范围综合/元数据变更 |
wiki_lint | 结构检查、来源缺口、矛盾、未解决问题 |
memory_search 和 memory_get 可以访问 wiki。
提示和上下文行为
当context.includeCompiledDigestPrompt 启用时,记忆提示词章节会
从 agent-digest.json 追加一个紧凑的已编译快照:仅包含置顶页面、
置顶声明、矛盾数量、问题数量、置信度/新鲜度限定词。这是可选功能,因为它会改变提示词形态;它主要影响显式消费记忆
补充内容的上下文引擎或提示词组装。
配置
将配置放在plugins.entries.memory-wiki.config 下:
| 键 | 取值 / 默认值 | 说明 |
|---|---|---|
vaultMode | isolated(默认)、bridge、unsafe-local | |
vault.path | 默认 ~/.openclaw/wiki/main | |
vault.renderMode | native(默认)、obsidian | |
bridge.readMemoryArtifacts | 默认 true | 导入主动记忆插件的公开产物 |
bridge.followMemoryEvents | 默认 true | 在 bridge 模式中包含事件日志 |
unsafeLocal.allowPrivateMemoryCoreAccess | 默认 false | 运行 unsafe-local 导入所必需 |
unsafeLocal.paths | 默认 [] | 在 unsafe-local 模式中要导入的显式本地路径 |
search.backend | shared(默认)、local | |
search.corpus | wiki(默认)、memory、all | |
context.includeCompiledDigestPrompt | 默认 false | 向记忆提示词章节追加紧凑摘要快照 |
render.createBacklinks | 默认 true | 生成确定性的相关区块 |
render.createDashboards | 默认 true | 生成仪表盘页面 |
示例:QMD + bridge 模式
当你希望用 QMD 进行召回,并用memory-wiki 维护
知识层时使用此配置。每一层都保持专注:QMD 让原始笔记、会话
导出和额外集合可被搜索,而 memory-wiki 编译
稳定实体、声明、仪表盘和来源页面。
memory-wiki 专注于
已编译页面和仪表盘,并且在你有意启用已编译摘要提示词之前保持提示词形态不变。
CLI
wiki okf import、wiki apply metadata、wiki unsafe-local import、
wiki chatgpt import / wiki chatgpt rollback,以及完整的 wiki obsidian
子命令集。
Obsidian 支持
当vault.renderMode 为 obsidian 时,该插件会写入 Obsidian 友好的
Markdown,并且可以选择使用官方 obsidian CLI 来进行状态
探测、知识库搜索、打开页面、调用命令,以及跳转到
每日笔记。这是可选的;即使没有 Obsidian,wiki 仍可在 native 模式下工作。