Install
openclaw plugins install @byterover/byteroverByteRover context engine plugin for OpenClaw (mono build) - in-process recall plus the brv_record tool for durable ByteRover memory writes.
openclaw plugins install @byterover/byteroverByteRover context engine plugin for OpenClaw, mono build. It recalls curated
knowledge in-process from ByteRover's centralized data directory and exposes
brv_record so the agent can write durable memory through a first-class tool.
assemble runs in-process recall and injects <byterover-context> when
matching topics exist.assemble always injects <byterover-curate-guidance> so the agent knows
when and how to preserve durable knowledge.brv_record; there is no afterTurn auto-curate flow.This follows ByteRover v4 skill behavior: query before thinking, then curate only knowledge with durable value after implementation.
Record:
Skip:
byterover-mono checkout for local build and tests, because
@byterover/core is bundled at build time.By default the build reads:
../byterover-mono/packages/core/src/index.ts
Override that path with BYTEROVER_MONO_CORE when needed. The published
runtime bundle is standalone and does not require the brv CLI at runtime.
Install from the package registry:
openclaw plugins install @byterover/byterover
openclaw config set plugins.slots.contextEngine byterover
For local development:
cd /path/to/brv-openclaw-plugin
npm install
npm run build
openclaw plugins install --link /path/to/brv-openclaw-plugin
openclaw config set plugins.slots.contextEngine byterover
OpenClaw's install validator expects compiled runtime output at
dist/index.js, so rebuild before linking after source edits.
Configure the plugin through plugins.entries.byterover.config:
{
"plugins": {
"slots": {
"contextEngine": "byterover"
},
"entries": {
"byterover": {
"enabled": true,
"config": {
"cwd": "/path/to/your/project",
"recallLimit": 5
}
}
}
}
}
| Option | Type | Default | Description |
|---|---|---|---|
cwd | string | OpenClaw workspace fallback | Project working directory used to resolve the centralized ByteRover context tree when session workspace resolution is unavailable. |
recallLimit | number | 5 | Top-N cap on recall hits. |
recallScript | string | none | Deprecated no-op retained for compatibility with the older script-backed mono prototype. |
recallTimeoutMs | number | none | Deprecated no-op; recall is in-process and this timeout is ignored. |
queryTimeoutMs | number | none | Deprecated no-op legacy alias from the CLI-flavored plugin. |
assembleBefore each model call, the engine extracts the latest user query, resolves the
workspace's ByteRover context tree, searches it through @byterover/core, and
injects matching topic HTML inside <byterover-context>.
The same system-prompt addition always includes <byterover-curate-guidance>.
That guidance tells the agent to call brv_record only for durable memory,
matching the v4 skill state in byterover-mono.
brv_recordThe plugin registers a first-class agent tool named brv_record. The agent
authors one <bv-topic> HTML document and passes it to the tool with a
slash-separated topic path. The tool writes through @byterover/core in-process.
ingestingest is intentionally a no-op. Mono recording is explicit through
brv_record; the plugin does not batch-curate every turn.
compactByteRover does not own compaction. ownsCompaction is false, so the runtime
keeps its normal compaction behavior.
npm install
npm run typecheck
npm test
npm run build
Tests resolve @byterover/core from the sibling mono checkout's built dist:
../byterover-mono/packages/core/dist/index.js
Override that with BYTEROVER_MONO_CORE_DIST when needed.
index.ts # Plugin entry point and tool registration
build.mjs # esbuild bundle with @byterover/core inlined
openclaw.plugin.json # Plugin manifest and config schema
src/context-engine.ts # ContextEngine implementation
src/curate-guidance.ts # v4-aligned curation guidance block
src/recall.ts # In-process recall
src/record.ts # brv_record tool and in-process write path
src/message-utils.ts # Query/content extraction helpers
src/types.ts # OpenClaw-compatible local types