On this page

On this page

Plugin guides

Knowledge

knowledge is a bundled plugin that gives each agent an evidence-backed knowledge vault. Agents save pages, claims, and typed relationships as Markdown files with retained source evidence. The Control UI has a read-only explorer for them. Knowledge is also a memory provider: when it owns the memory slot, the agent's memory prompt, recall, and pre-compaction flush use the vault.

Knowledge ships with OpenClaw but stays off until you select it as the memory provider.

How it relates to other memory plugins

Knowledge is a kind: "memory" plugin. Only one plugin owns plugins.slots.memory at a time, so selecting Knowledge replaces memory-core (or another memory plugin) as the active memory provider.

Plugin Role
memory-core (default) MEMORY.md and daily notes, semantic and hybrid search, dreaming, memory_search/memory_get.
memory-wiki Companion plugin. Compiles a wiki beside the active memory plugin; does not own the slot.
memory-lancedb External memory provider with LanceDB vector search and auto-capture.
knowledge Memory provider with typed records, mandatory evidence on claims, keyword retrieval, journaled writes, local Git history, and a native explorer.

Knowledge does not use embeddings. Retrieval is keyword (SQLite FTS5) plus exact identity lookup and structured date queries. Selecting Knowledge does not migrate, change, or delete memory-core data. Switching back leaves the vault intact.

Enable Knowledge

Select Knowledge for the memory slot:

json5
{  plugins: {    slots: {      memory: "knowledge",    },  },}

Selecting the memory slot is enough. A bundled memory plugin selected by plugins.slots.memory is enabled even without a plugins.entries.knowledge entry, and even when plugins.allow does not list it. It stays off if plugins are globally disabled, if knowledge is in plugins.deny, or if plugins.entries.knowledge.enabled is false. When the slot points elsewhere, the memory-slot gate keeps Knowledge disabled.

Slot changes reload the plugin runtime without a Gateway restart. Verify the runtime registration and the live service:

bash
openclaw plugins inspect knowledge --runtime --jsonopenclaw gateway call plugins.sessionAction --params '{"pluginId":"knowledge","actionId":"status","payload":{}}' --json

Open Knowledge in the Control UI sidebar. Native UI from enabled bundled plugins does not need the Custom plugin UI Labs setting. The knowledge_* tools appear after the tool catalog refreshes.

See Apply changes and inspect and Hot reload.

Configuration

All settings live under plugins.entries.knowledge.config. Every key is optional.

json5
{  plugins: {    slots: {      memory: "knowledge",    },    entries: {      knowledge: {        config: {          operatorRead: true,          writesEnabled: true,          stores: {            personal: { label: "Personal", agents: ["main", "research"] },          },          maintenance: {            enabled: true,            schedule: "30 3 * * *",            timezone: "America/Los_Angeles",          },        },      },    },  },}
Key Type Default Meaning
operatorRead boolean true Let authenticated operators with operator.read (or higher) inspect stores in the Control UI and operator RPC.
writesEnabled boolean true Allow agent writes. When false, write tools reject, the memory prompt omits save guidance, and no flush plan is offered.
stores object {} Named shared stores. Keys match ^[a-z][a-z0-9-]{0,47}$. Agents not listed use their own isolated store.
stores.<name>.label string the store key Display name in the Control UI (1–80 characters). Not a path or identity.
stores.<name>.agents string[] required Agent IDs that use this store (at most 100). An empty list keeps the store without members.
maintenance.enabled boolean true Run the scheduled maintenance pass.
maintenance.schedule string "30 3 * * *" Five-field cron expression for the pass.
maintenance.timezone string Gateway host zone IANA time zone for the schedule.
maintenance.reviewJobId string none Automation queued after a pass that leaves private claims unlinked. See Maintenance.

operatorRead and writesEnabled are plugin-wide gates. Changes to plugins.entries.knowledge.config.stores do not reload the plugin; Knowledge applies membership changes in place.

Stores and agent membership

Every agent has an effective knowledge store. By default each agent gets its own isolated store. A named entry under stores assigns several agents to one shared store. An agent can belong to at most one named store; an agent listed twice is unavailable until the duplicate is removed, and is never resolved by first match.

  • Stores are created lazily on an agent's first authorized use. Inspecting a store in the Control UI never creates it.
  • Tools take no store, agent, path, or scope argument. The store comes from the calling agent's host-resolved memory audience on every call.
  • Removing a named store from configuration does not delete its data. The store stays in the inventory as unassigned.
  • Shared stores record which agent published each revision, so authorship survives sharing.

Inside each store, owner-direct turns read and write the store's private partition. Group and other conversation turns are confined to their own conversation partition. Operators can manage membership from Settings → Stores & sharing in the Knowledge page (requires operator.admin).

See Stores and access for the storage layout, authority table, and limits.

Where Knowledge keeps data

Knowledge keeps all state under the Gateway state directory (~/.openclaw by default, or $OPENCLAW_STATE_DIR):

text
<state dir>/knowledge/  registry.sqlite       # store identities, agent bindings, maintenance schedule  registry.id           # registry sentinel  stores/<vaultId>/    state.sqlite        # journal, history, search index, Git queue    vault/              # Markdown records, retained evidence, local .git

The location does not depend on how the plugin was installed. Back up the registry, each store's state.sqlite, and its vault/ directory together. A Markdown-only or Git-only copy is not a complete backup.

Writes and authority

  • Agents publish through journaled operations with revision/hash preconditions and exact-retry semantics. A published receipt means files were written.
  • Claims and relationships require retained, hash-verified evidence. Pages may omit it.
  • Saved records are immediately available. There is no approval or acceptance step.
  • Corrections, withdrawals, and identity merges are explicit agent operations that preserve history. See Corrections and merges.
  • The Control UI is read-only. It hands change requests to chat instead of editing records.
  • Operators cannot save knowledge through operator read access. Changing store assignments needs operator.admin.

Tools

Knowledge registers 35 knowledge_* agent tools. Each tool acts only on the caller's authorized store and partition.

Area Tools
Status and vocabulary knowledge_status, knowledge_ontology, knowledge_diagnostics
Find and read knowledge_lookup, knowledge_grep, knowledge_records, knowledge_record, knowledge_connections, knowledge_evidence_read
Dates knowledge_timeline, knowledge_chronicle_day, knowledge_chronicle_since, knowledge_chronicle_last_seen
Remember and author knowledge_remember, knowledge_save_page, knowledge_edit_body, knowledge_create_claim, knowledge_create_relationship, knowledge_annotate
Evidence files knowledge_attach_file, knowledge_attach, knowledge_attachment, knowledge_reconcile_evidence
Ingestion knowledge_publish_batch, knowledge_verify, knowledge_source_check
Lifecycle knowledge_correct, knowledge_withdraw, knowledge_merge, knowledge_unmerge, knowledge_relink
Automatic recall knowledge_recall
History and recovery knowledge_history, knowledge_revision, knowledge_mutation, knowledge_resume

See Tools for inputs, limits, and pagination.

Bundled skills

Knowledge ships nine skills. They are agent workflows over the tools above, not an autonomous ingestion engine.

Skill Use
knowledge-automation Create and verify scheduled ingestion through the host scheduler with a retained authorized worker.
knowledge-capture Save decisions, preferences, facts, and short notes with attribution and readback.
knowledge-correct Correct or withdraw exact records and inspect affected knowledge.
knowledge-entities Resolve and enrich people, companies, projects, and concepts with sourced profiles.
knowledge-ingest Ingest documents, articles, and conversations; learn lessons from sets of sources (/learn).
knowledge-meeting-ingest Ingest meeting transcripts with attendee enrichment, decisions, commitments, and chronology checks.
knowledge-recall Answer from saved knowledge with inspectable citations. Read-only.
knowledge-source-ingest Incrementally ingest enumerable sources with snapshot manifests and diffing.
knowledge-unlinked-claims Link claims relink left unlinked, create missing pages, retire duplicates, and update page State.

See Ingestion workflows.

Control UI

The Knowledge page has Recent and Browse views, keyword Search, entity pages with linked claims and evidence, typed connections, retained originals, and file history. Settings holds Stores & sharing, Vocabulary, Vault status, and Maintenance. A Knowledge chat side panel lists the records an agent found, read, or changed in the current conversation.

See Control UI.

Local Git history

When writes are enabled and the git executable is available, Knowledge keeps a local Git repository inside each store's vault. It commits each publication with its retained evidence and checkpoints observed external edits. No remote, GitHub account, or opt-in is needed. A failed Git step never undoes a saved record.

See Local history.

Scheduled maintenance

A daily pass (03:30 Gateway host time by default) links claims that knowledge_remember saved without a subject to the one entity page they name. It never calls a model or creates pages. It runs only while writesEnabled is true. It uses the plugin service scheduler, not OpenClaw automations.

See Maintenance.

Capabilities and limits

Capability Status
Scoped listing, evidence inspection, ontology validation Implemented
Pages, claims, relationships, entity metadata Implemented through agent tools; journaled with retry recovery
Revision/hash preconditions, receipts, history Implemented
Keyword retrieval and exact identity lookup Implemented (SQLite FTS5)
Structured date queries Implemented
Original source file attachments Implemented; chunked upload/download, no evidence-count cap
Correction, withdrawal, identity merge Implemented as agent-only, history-preserving operations
Local Git history Automatic when Git is installed and writes are enabled
Interrupted-write recovery and conflict retention Implemented; not a complete backup/restore protocol
Read-only Control UI Implemented; no direct write controls
Scheduled claim relink Implemented, on by default
Embeddings / semantic search Not implemented
Media extraction, OCR, transcription Not implemented; originals are retained and downloadable
Connectors, sync daemons, ingestion scheduler Not implemented; use knowledge-automation with host automations
Git remotes, push, or sync Not implemented
Full backup/restore Not implemented

Knowledge does not replace workspace bootstrap files, dreaming, standing intents, memory-core tools and CLI, or the file-oriented Memory UI.

Moving from a linked or path install

Earlier releases shipped Knowledge as a separate package installed with openclaw plugins install or loaded from a checkout. That copy can still take precedence over the bundled one:

  • A path in plugins.load.paths always wins over a bundled plugin. openclaw plugins install --link adds such a path and also creates an install record.
  • A tracked global install from openclaw plugins install wins over a packaged bundled copy. A bundled copy compiled inside a source checkout wins over a tracked install.

If Knowledge is only listed in plugins.load.paths with no install record, remove that path. The slot and plugins.entries.knowledge settings stay as they are.

If Knowledge has an install record, uninstalling it also clears its settings. openclaw plugins uninstall removes plugins.entries.knowledge.config, resets plugins.slots.memory to memory-core, and leaves an plugins.entries.knowledge.enabled: false marker that also blocks the bundled copy. Restore those settings afterwards:

  1. Copy your plugins.entries.knowledge.config (including stores) somewhere safe.

  2. Preview and run the uninstall. It also removes a linked install's plugins.load.paths entry, but does not delete the linked checkout.

    bash
    openclaw plugins uninstall knowledge --dry-runopenclaw plugins uninstall knowledge
  3. Re-enable the plugin to replace the marker, then set plugins.slots.memory back to "knowledge" and restore plugins.entries.knowledge.config.

    bash
    openclaw plugins enable knowledge
  4. Confirm that the bundled copy is loaded:

    bash
    openclaw plugins inspect knowledge --runtime --json

Vault data and plugin state live under <state dir>/knowledge/, not in the install directory, so switching copies does not move or reset them. Store membership is read from configuration, so restore stores before agents use Knowledge again. Until then, agents from a named store use their own isolated store, and a new empty one is created if none exists. The named store's data is kept. See Discovery precedence and Uninstall.

Was this useful?