Skip to main content

Overview

brv swarm curate stores knowledge in external memory providers. ByteRover automatically selects the best writable provider based on content type, or you can target a specific provider directly.
brv swarm curate "Jane Smith is the CTO of TechCorp"
Output:
Stored to gbrain as concept/jane-smith-cto
If no external providers are available or writable, the command falls back to ByteRover’s context tree (brv curate).

Flags

FlagShortDefaultDescription
--provider-pautoTarget a specific provider (e.g., gbrain, local-markdown:notes)
--formattextOutput format: text or json

Automatic Provider Selection

When no --provider flag is given, the write router selects the best target based on the configured providers and their write capabilities:
ProviderWritableTypical Content
GBrainYesEntities, concepts, general knowledge
Local MarkdownYes (if read_only: false)Notes, meeting logs, TODOs
Memory WikiYesConcepts, entities (OpenClaw wiki format)
ByteRoverFallbackFalls back here if no external providers accept writes
Obsidian and ByteRover context tree are read-only in swarm mode. ByteRover is used as a fallback only when no writable external providers are available.

Target a Specific Provider

Use --provider to bypass automatic selection:
# Store to a specific local markdown folder
brv swarm curate "meeting notes: decided on JWT" --provider local-markdown:notes
Output:
Stored to local-markdown:notes as note-1776052527043.md
# Store to GBrain explicitly
brv swarm curate "Architecture uses event sourcing" --provider gbrain
Output:
Stored to gbrain as concept/event-sourcing-architecture
# Store to Memory Wiki
brv swarm curate "# OAuth2 Flow\nThe app uses PKCE flow for mobile clients" --provider memory-wiki

JSON Output

brv swarm curate "Test content" --format json
{
  "id": "note-1776052594462.md",
  "provider": "local-markdown:project-docs",
  "success": true,
  "latencyMs": 1
}

Fallback Behavior

When the target provider fails or no writable providers are configured, swarm curate falls back to the ByteRover context tree:
No writable swarm providers available. Falling back to ByteRover context tree.
Stored via brv curate (fallback).
The fallback runs brv curate --detach --format json as a subprocess. The --detach flag ensures the curation runs asynchronously without blocking.

Swarm Curate vs Context Tree Curate

brv swarm curatebrv curate
TargetExternal providers (GBrain, Local MD, Wiki)ByteRover context tree
LLMNo LLM callLLM-powered domain detection and organization
OutputRaw file/page creationIntelligent hierarchical placement
FallbackFalls back to brv curateNo fallback needed
Use brv swarm curate to distribute knowledge across external providers. Use brv curate when you want ByteRover’s intelligent curation with domain detection, deduplication, and hierarchical organization.

Examples

Store a quick note:
brv swarm curate "Sprint 42 retro: need better error handling in auth flow"
Store with explicit provider:
brv swarm curate "# Database Migration Guide\nAlways use reversible migrations" -p gbrain
Store and verify with JSON:
brv swarm curate "API rate limit is 100 req/min" --format json