Provider Overview
Memory Swarm supports 5 provider types. Each provider has different capabilities, search methods, and requirements.| Provider | Search | Write | Local | Avg Latency | Cost |
|---|---|---|---|---|---|
| ByteRover | BM25 keyword | No | Yes | ~50ms | Free |
| Obsidian | BM25 keyword | No | Yes | ~100ms | Free |
| Memory Wiki | BM25 keyword | Yes | Yes | ~60ms | Free |
| GBrain | Hybrid/Keyword/Vector | Yes | No | ~200ms | Free (keyword) or ~$0.001 (vector) |
| Local Markdown | BM25 keyword | Yes | Yes | ~80ms | Free |
ByteRover
ByteRover’s context tree is always available as a swarm provider. It contributes the same BM25 search that powersbrv query, without the LLM synthesis step.
Capabilities:
- Keyword search (BM25) across all curated knowledge files
- Read-only — writes go through
brv curateseparately - No API key or external dependency required
[byterover] and include the context tree file path.
RRF weight: 1.0 (highest confidence — curated knowledge)
Obsidian
Searches your Obsidian vault using an in-process MiniSearch index (BM25). The index is built lazily on first query and rebuilt when vault files change. Capabilities:- Keyword search across all
.mdfiles in the vault - Wikilink-aware — follows
[[links]]for richer indexing - Graph traversal support for connected notes
- Read-only in swarm mode
.obsidian/ subdirectory).
RRF weight: 0.85
Memory Wiki (OpenClaw)
Searches an OpenClaw Memory Wiki vault — a structured knowledge base with pages organized by type (entities, concepts, syntheses, sources). Uses in-process MiniSearch for fast keyword search. Capabilities:- Keyword search across wiki pages (entities, concepts, syntheses, sources)
- Freshness boost — recently updated pages score 1.2x higher
- Kind boost — entities (1.4x) and concepts (1.3x) are prioritized over sources
- Write support — creates new concept or entity pages with OpenClaw frontmatter
concepts/ or entities/ with OpenClaw-compatible frontmatter:
openclaw wiki init or configure the path to an existing vault.
RRF weight: 0.9
GBrain
Queries a GBrain knowledge brain via CLI subprocess. GBrain supports three search modes with different performance and cost tradeoffs. Search Modes:| Mode | Method | API Key | Best For |
|---|---|---|---|
hybrid | Vector + keyword + RRF + multi-query expansion | Required | Best quality, highest recall |
keyword | Full-text search only | Not needed | Free, fast, good for exact matches |
vector | Vector search without expansion | Required | Semantic similarity without expansion overhead |
- GBrain repo or global installation (
bun add -g gbrain) - For
hybrid/vectormodes: OpenAI API key for embeddings - If running from source: Bun runtime
- Explicit
gbrain_bin_pathin config gbrainin system PATHsrc/cli.tsinrepo_path../gbrain/src/cli.tsrelative to workspace- Fallback — try
gbrainanyway (fails at runtime if not found)
Local Markdown
Indexes one or more folders of plain markdown files. Each folder is registered as a separate sub-provider (e.g.,local-markdown:notes, local-markdown:docs), allowing fine-grained routing and write control.
Capabilities:
- Keyword search (BM25) with MiniSearch
- Wikilink following for cross-file references
- Write support (when
read_only: false) - Multiple independent folders
note-1776052527043.md).
RRF weight: 0.8
Provider Weights
Each provider has an RRF weight that reflects confidence in its result quality. Higher weights mean the provider’s top results are more likely to appear at the top of the fused ranking.| Provider | Weight | Rationale |
|---|---|---|
| ByteRover | 1.0 | Curated knowledge — highest trust |
| Obsidian | 0.85 | Personal notes — good signal but less structured |
| Memory Wiki | 0.9 | Structured wiki with claims and provenance |
| GBrain | 0.85 | Compiled truth with semantic search |
| Local Markdown | 0.8 | Unstructured files — broad coverage, variable quality |