Appearance
Provider Reference
Detailed reference for each Memory Swarm provider
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 powers brv 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
When results come from ByteRover: Results are labeled [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
Configuration:
yaml
obsidian:
enabled: true
vault_path: /Users/you/Documents/MyObsidian
ignore_patterns:
- ".trash"
- ".obsidian"
- "templates"
index_on_startup: true
read_only: true
watch_for_changes: trueRequirements: An existing Obsidian vault directory (must contain .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
Configuration:
yaml
memory_wiki:
enabled: true
vault_path: /Users/you/.openclaw/wiki/main
boost_fresh: true
write_page_type: conceptWrite behavior: Creates pages in concepts/ or entities/ with OpenClaw-compatible frontmatter:
markdown
---
pageType: concept
id: concept.swarm.your-topic
title: "Your Topic"
status: active
updatedAt: "2026-04-14T10:00:00.000Z"
sourceType: swarm-curate
---
<!-- openclaw:wiki:content:start -->
Your content here
<!-- openclaw:wiki:content:end -->Requirements: An OpenClaw wiki vault. Set up with 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 |
Configuration:
yaml
gbrain:
enabled: true
repo_path: /Users/you/workspaces/gbrain
search_mode: hybridRequirements:
- GBrain repo or global installation (
bun add -g gbrain) - For
hybrid/vectormodes: OpenAI API key for embeddings - If running from source: Bun runtime
GBrain resolution order:
- 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)
RRF weight: 0.85
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
Configuration:
yaml
local_markdown:
enabled: true
watch_for_changes: true
folders:
- name: project-docs
path: /Users/you/Documents/local-markdown
read_only: false
follow_wikilinks: true
- name: meeting-notes
path: /Users/you/Documents/meetings
read_only: false
follow_wikilinks: falseWrite behavior: New files are created as timestamped markdown files in the target folder (e.g., 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 |