Some checks failed
ClawSweeper Dispatch / dispatch (push) Has been cancelled
CodeQL / Security High (actions) (push) Has been cancelled
CodeQL / Security High (channel-runtime-boundary) (push) Has been cancelled
CodeQL / Security High (core-auth-secrets) (push) Has been cancelled
CodeQL / Security High (mcp-process-tool-boundary) (push) Has been cancelled
CodeQL / Security High (network-ssrf-boundary) (push) Has been cancelled
CodeQL / Security High (plugin-trust-boundary) (push) Has been cancelled
CodeQL / Security High (process-exec-boundary) (push) Has been cancelled
Docs Sync Publish Repo / sync-publish-repo (push) Has been cancelled
Docs / docs (push) Has been cancelled
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Has been cancelled
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Has been cancelled
Workflow Sanity / no-tabs (push) Has been cancelled
Workflow Sanity / actionlint (push) Has been cancelled
Workflow Sanity / generated-doc-baselines (push) Has been cancelled
CI / runner-admission (push) Has been cancelled
CI / preflight (push) Has been cancelled
CI / security-fast (push) Has been cancelled
CI / pnpm-store-warmup (push) Has been cancelled
CI / build-artifacts (push) Has been cancelled
CI / native-i18n (push) Has been cancelled
CI / ${{ matrix.check_name }} (push) Has been cancelled
CI / ${{ matrix.checkName }} (push) Has been cancelled
CI / checks-node-compat-node22 (push) Has been cancelled
CI / check-bundled-channel-config-metadata (push) Has been cancelled
CI / check-dependencies (push) Has been cancelled
CI / check-guards (push) Has been cancelled
CI / check-lint (push) Has been cancelled
CI / check-prod-types (push) Has been cancelled
CI / check-shrinkwrap (push) Has been cancelled
CI / check-test-types (push) Has been cancelled
CI / check-additional-boundaries-a (push) Has been cancelled
CI / check-additional-boundaries-bcd (push) Has been cancelled
CI / check-additional-extension-bundled (push) Has been cancelled
CI / check-additional-extension-channels (push) Has been cancelled
CI / check-additional-extension-package-boundary (push) Has been cancelled
CI / check-additional-runtime-topology-architecture (push) Has been cancelled
CI / check-session-accessor-boundary (push) Has been cancelled
CI / check-session-transcript-reader-boundary (push) Has been cancelled
CI / check-docs (push) Has been cancelled
CI / skills-python (push) Has been cancelled
CI / macos-swift (push) Has been cancelled
CI / ios-build (push) Has been cancelled
CI / ci-timings-summary (push) Has been cancelled
Native App Locale Refresh / Refresh native fa (push) Has been cancelled
Native App Locale Refresh / Refresh native fr (push) Has been cancelled
Native App Locale Refresh / Refresh native hi (push) Has been cancelled
Native App Locale Refresh / Refresh native id (push) Has been cancelled
Native App Locale Refresh / Refresh native it (push) Has been cancelled
Native App Locale Refresh / Refresh native ja-JP (push) Has been cancelled
Control UI Locale Refresh / plan (push) Has been cancelled
Control UI Locale Refresh / Refresh ${{ matrix.locale }} (push) Has been cancelled
Control UI Locale Refresh / Commit control UI locale refresh (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
Native App Locale Refresh / Refresh native ar (push) Has been cancelled
Native App Locale Refresh / Refresh native de (push) Has been cancelled
Native App Locale Refresh / Refresh native es (push) Has been cancelled
Native App Locale Refresh / Refresh native ko (push) Has been cancelled
Native App Locale Refresh / Refresh native nl (push) Has been cancelled
Native App Locale Refresh / Refresh native pl (push) Has been cancelled
Native App Locale Refresh / Refresh native pt-BR (push) Has been cancelled
Native App Locale Refresh / Refresh native ru (push) Has been cancelled
Native App Locale Refresh / Refresh native sv (push) Has been cancelled
Native App Locale Refresh / Refresh native th (push) Has been cancelled
Native App Locale Refresh / Refresh native tr (push) Has been cancelled
Native App Locale Refresh / Refresh native uk (push) Has been cancelled
Native App Locale Refresh / Refresh native vi (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-CN (push) Has been cancelled
Native App Locale Refresh / Refresh native zh-TW (push) Has been cancelled
Native App Locale Refresh / Commit native locale refresh (push) Has been cancelled
Plugin Init Scaffold Validation / Validate provider scaffold (push) Has been cancelled
Plugin NPM Release / preview_plugins_npm (push) Has been cancelled
Plugin NPM Release / Validate release publish approval (push) Has been cancelled
Plugin NPM Release / preview_plugin_pack (push) Has been cancelled
Plugin NPM Release / publish_plugins_npm (push) Has been cancelled
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Website Installer Sync / static (push) Has been cancelled
Website Installer Sync / linux-docker (push) Has been cancelled
Website Installer Sync / macos-installer (push) Has been cancelled
Website Installer Sync / windows-installer (push) Has been cancelled
Website Installer Sync / sync-website (push) Has been cancelled
Adolf is a fork/vendored clone of github.com/openclaw/openclaw (v2026.6.11), free to diverge. Tree copied sans upstream .git; upstream remote added for future syncs. Node pinned to 24 (.nvmrc); engines already require >=22.19. Preserves docs/ARCHITECTURE.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LeqyaxJF2nbRXJtae2kNB2
180 lines
5.6 KiB
Markdown
180 lines
5.6 KiB
Markdown
# @openclaw/memory-wiki
|
|
|
|
Persistent wiki compiler and Obsidian-friendly knowledge vault for **OpenClaw**.
|
|
|
|
This plugin is separate from the active memory plugin. The active memory plugin still handles recall, promotion, and dreaming. `memory-wiki` compiles durable knowledge into a navigable markdown vault with deterministic indexes, provenance, structured claim/evidence metadata, and optional Obsidian CLI workflows.
|
|
|
|
When the active memory plugin exposes shared recall, agents can use `memory_search` with `corpus=all` to search durable memory and the compiled wiki in one pass, then fall back to `wiki_search` / `wiki_get` when wiki-specific ranking or provenance matters.
|
|
|
|
## Modes
|
|
|
|
- `isolated`: own vault, own sources, no dependency on `memory-core`
|
|
- `bridge`: reads public memory artifacts and memory events through public seams
|
|
- `unsafe-local`: explicit same-machine escape hatch for private local paths
|
|
|
|
Default mode is `isolated`.
|
|
|
|
## Config
|
|
|
|
Put config under `plugins.entries.memory-wiki.config`:
|
|
|
|
```json5
|
|
{
|
|
vaultMode: "isolated",
|
|
|
|
vault: {
|
|
path: "~/.openclaw/wiki/main",
|
|
renderMode: "obsidian", // or "native"
|
|
},
|
|
|
|
obsidian: {
|
|
enabled: true,
|
|
useOfficialCli: true,
|
|
vaultName: "OpenClaw Wiki",
|
|
openAfterWrites: false,
|
|
},
|
|
|
|
bridge: {
|
|
enabled: false,
|
|
readMemoryArtifacts: true,
|
|
indexDreamReports: true,
|
|
indexDailyNotes: true,
|
|
indexMemoryRoot: true,
|
|
followMemoryEvents: true,
|
|
},
|
|
|
|
unsafeLocal: {
|
|
allowPrivateMemoryCoreAccess: false,
|
|
paths: [],
|
|
},
|
|
|
|
ingest: {
|
|
autoCompile: true,
|
|
maxConcurrentJobs: 1,
|
|
allowUrlIngest: true,
|
|
},
|
|
|
|
search: {
|
|
backend: "shared", // or "local"
|
|
corpus: "wiki", // or "memory" | "all"
|
|
},
|
|
|
|
context: {
|
|
includeCompiledDigestPrompt: false, // opt in to append a compact compiled digest snapshot to memory prompt sections
|
|
},
|
|
|
|
render: {
|
|
preserveHumanBlocks: true,
|
|
createBacklinks: true, // writes managed ## Related blocks with sources, backlinks, and related pages
|
|
createDashboards: true,
|
|
},
|
|
}
|
|
```
|
|
|
|
## Vault shape
|
|
|
|
The plugin initializes a vault like this:
|
|
|
|
```text
|
|
<vault>/
|
|
AGENTS.md
|
|
WIKI.md
|
|
index.md
|
|
inbox.md
|
|
entities/
|
|
concepts/
|
|
syntheses/
|
|
sources/
|
|
reports/
|
|
_attachments/
|
|
_views/
|
|
.openclaw-wiki/
|
|
```
|
|
|
|
Generated content stays inside managed blocks. Human note blocks are preserved.
|
|
|
|
Key beliefs can live in structured `claims` frontmatter with per-claim evidence, confidence, and status. Compile also emits machine-readable digests under `.openclaw-wiki/cache/` so agent/runtime consumers do not have to scrape markdown pages.
|
|
|
|
When `render.createBacklinks` is enabled, compile adds deterministic `## Related` blocks to pages. Those blocks list source pages, pages that reference the current page, and nearby pages that share the same source ids.
|
|
|
|
When `render.createDashboards` is enabled, compile also maintains report dashboards under `reports/` for open questions, contradictions, low-confidence pages, and stale pages.
|
|
|
|
Unmanaged raw Markdown can live under `sources/` without OpenClaw page frontmatter. Add `<!-- openclaw:wiki:raw-source -->` near the top of the page body to opt it out of wiki page metadata and freshness lint; generated or source-sync tracked imports still require their structured metadata.
|
|
|
|
## CLI
|
|
|
|
```bash
|
|
openclaw wiki status
|
|
openclaw wiki doctor
|
|
openclaw wiki init
|
|
openclaw wiki ingest ./notes/alpha.md
|
|
openclaw wiki compile
|
|
openclaw wiki lint
|
|
openclaw wiki search "alpha"
|
|
openclaw wiki get entity.alpha --from 1 --lines 80
|
|
|
|
openclaw wiki apply synthesis "Alpha Summary" \
|
|
--body "Short synthesis body" \
|
|
--source-id source.alpha
|
|
|
|
openclaw wiki apply metadata entity.alpha \
|
|
--source-id source.alpha \
|
|
--status review \
|
|
--question "Still active?"
|
|
|
|
openclaw wiki bridge import
|
|
openclaw wiki unsafe-local import
|
|
|
|
openclaw wiki obsidian status
|
|
openclaw wiki obsidian search "alpha"
|
|
openclaw wiki obsidian open syntheses/alpha-summary.md
|
|
openclaw wiki obsidian command workspace:quick-switcher
|
|
openclaw wiki obsidian daily
|
|
```
|
|
|
|
## Agent tools
|
|
|
|
- `wiki_status`
|
|
- `wiki_lint`
|
|
- `wiki_apply`
|
|
- `wiki_search`
|
|
- `wiki_get`
|
|
|
|
The plugin also registers a non-exclusive memory corpus supplement, so shared `memory_search` / `memory_get` flows can reach the wiki when the active memory plugin supports corpus selection.
|
|
|
|
`wiki_apply` accepts structured `claims` payloads for synthesis and metadata updates, so the wiki can store claim-level evidence instead of only page-level prose.
|
|
|
|
When `context.includeCompiledDigestPrompt` is enabled, the memory prompt supplement also appends a compact snapshot from `.openclaw-wiki/cache/agent-digest.json`. Legacy prompt assembly sees that automatically, and non-legacy context engines can pick it up when they explicitly consume memory prompt supplements via `buildActiveMemoryPromptSection(...)`.
|
|
|
|
## Gateway RPC
|
|
|
|
Read methods:
|
|
|
|
- `wiki.status`
|
|
- `wiki.doctor`
|
|
- `wiki.search`
|
|
- `wiki.get`
|
|
- `wiki.obsidian.status`
|
|
- `wiki.obsidian.search`
|
|
|
|
Write methods:
|
|
|
|
- `wiki.init`
|
|
- `wiki.compile`
|
|
- `wiki.ingest`
|
|
- `wiki.lint`
|
|
- `wiki.bridge.import`
|
|
- `wiki.unsafeLocal.import`
|
|
- `wiki.apply`
|
|
- `wiki.obsidian.open`
|
|
- `wiki.obsidian.command`
|
|
- `wiki.obsidian.daily`
|
|
|
|
## Notes
|
|
|
|
- `unsafe-local` is intentionally experimental and non-portable.
|
|
- Bridge mode reads the active memory plugin through public seams only.
|
|
- Wiki pages are compiled artifacts, not the ultimate source of truth. Keep provenance attached to raw sources, memory artifacts, and daily notes.
|
|
- The compiled agent digests in `.openclaw-wiki/cache/agent-digest.json` and `.openclaw-wiki/cache/claims.jsonl` are the stable machine-facing view of the wiki.
|
|
- Obsidian CLI support requires the official `obsidian` CLI to be installed and available on `PATH`.
|