CLAUDE.md said ZeroClaw "imports this as a Cargo feature (clawhdf5 feature flag)" and uses clawhdf5 as its memory backend; the agent crate called itself the "ZeroClaw agent memory HDF5 backend"; the migrator claimed to read "the ZeroClaw layout". Checked on 2026-09-25 against ZeroClaw v0.8.5 (its latest release), the osobh/zeroclaw fork (on v0.8.5) and both histories back to February 2026: - no `clawhdf5` feature, dependency or memory backend has ever existed in ZeroClaw; its backends are sqlite, lucid, postgres, qdrant, markdown and none, behind its own `Memory` trait; - ZeroClaw's SQLite schema is a single `memories` table (id, key, content, category, embedding, created_at, updated_at); the migrator's memory_chunks/sessions/entities/relations layout never existed in ZeroClaw, so it cannot read a ZeroClaw database. Decision: withdraw the claims (as with OpenClaw); clawhdf5 is a standalone library with no framework integration. The migrator's default layout is documented as its own. ZEROCLAW_VERSION keeps its name and value (it is the persisted `edgehdf5_version` writer tag) with a doc comment saying it is unrelated to ZeroClaw. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
4.5 KiB
OpenClaw: not supported
clawhdf5 does not currently work as an OpenClaw
memory backend, and never has. Earlier versions of these docs described a
"drop-in" backend enabled with memory.backend = "clawhdf5". That
configuration was never valid: from v2026.2 through v2026.7 OpenClaw's
memory.backend accepted only "builtin" or "qmd" and rejected unknown
keys, and since v2026.8.1 ("OpenClaw 2.0") the key no longer exists. A Gateway
given that config refuses to start. No plugin was ever built or tested against
OpenClaw, and the @redclaw/clawhdf5 npm package was never published.
As of 2026-09-25 we are not pursuing an OpenClaw plugin, and clawhdf5 has no framework integration at all (ZeroClaw, also named as a consumer in older docs, does not use it either). This page records what an OpenClaw plugin would need, for when that changes.
What OpenClaw expects today (v2026.9.6)
Checked against the OpenClaw source at tag v2026.9.6 and its docs on
2026-09-25. OpenClaw marks every plugin API as experimental, so re-check before
building anything.
- Memory lives in Markdown files, which are the source of truth:
MEMORY.md,USER.md, daily notes inmemory/YYYY-MM-DD.mdin the agent workspace. The memory engine is an index over them (concepts/memory). - A memory plugin is selected with
plugins.slots.memory: "<plugin-id>"(defaultmemory-core), its settings underplugins.entries.<plugin-id>.config, validated against the plugin's own schema (gateway/config-extensions). Memory search settings are undermemory.search(reference/memory-config). - A plugin needs an
openclaw.plugin.jsonmanifest withid,configSchema,"kind": "memory"and every tool listed incontracts.tools(plugins/manifest); apackage.jsonwithopenclaw.extensions,openclaw.compat.pluginApiand anopenclawpeer dependency; and an entry built withdefinePluginEntry. - Two ways to integrate (both exist upstream): tools only, as
memory-lancedbdoes (api.registerTool), or a full memory engine, asmemory-coredoes, throughapi.registerMemoryCapability({ runtime, ... }), whose runtime returns aMemorySearchManagerimplementingsearch,readFile(returningstatus: "ok" | "not_found"),status,probeEmbeddingAvailabilityandprobeVectorAvailability. Active Memory expectsmemory_searchandmemory_gettools (plugins/sdk-overview/memory-and-context). - Embeddings come from OpenClaw's providers (
memory.search.provider), or a plugin registers one withapi.registerEmbeddingProvider. - Native code: plugin installs run with
--ignore-scripts, so a napi addon has to ship as prebuilt per-platform packages (the patternmemory-lancedbuses for LanceDB), loaded lazily (plugins/dependency-resolution). - Distribution:
openclaw plugins installfrom npm or ClawHub; a first install from an arbitrary source needs explicit review, and community ClawHub packages go through a security audit. - Churn to plan for: the memory SDK was reshaped in 2026 (separate
registration functions merged into
registerMemoryCapability;registerMemoryEmbeddingProviderremoved on 2026-08-21), and further SDK surfaces become eligible for removal on 2026-10-01 (plugins/sdk-migration/removal-timeline).
What this repository has
Building blocks, usable as a library today, but not an OpenClaw plugin:
clawhdf5_agent::openclaw::ClawhdfBackend— a Markdown-oriented backend overHDF5Memory: ingest Markdown by section, hybrid search with re-ranking and confidence rejection, read back by path, export. Gaps a plugin would have to close:write/ingest_markdownstore no embeddings (search is keyword-only for that content unless records are saved withsave_entry), re-ingesting appends rather than replaces, there is no delete,line_rangeis never set, and export rewrites every heading as##.crates/clawhdf5-napiandpackages/clawhdf5-node— Node bindings and a TypeScript wrapper. Not published, not built or tested in CI, and known to be broken; seedocs/known-issues.md.