> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev.byterover.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 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 curate` separately
* 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 `.md` files in the vault
* Wikilink-aware — follows `[[links]]` for richer indexing
* Graph traversal support for connected notes
* Read-only in swarm mode

**Configuration:**

```yaml theme={null}
obsidian:
  enabled: true
  vault_path: /Users/you/Documents/MyObsidian
  ignore_patterns:
    - ".trash"
    - ".obsidian"
    - "templates"
  index_on_startup: true
  read_only: true
  watch_for_changes: true
```

**Requirements:** 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 theme={null}
memory_wiki:
  enabled: true
  vault_path: /Users/you/.openclaw/wiki/main
  boost_fresh: true
  write_page_type: concept
```

**Write behavior:** Creates pages in `concepts/` or `entities/` with OpenClaw-compatible frontmatter:

```markdown theme={null}
---
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 theme={null}
gbrain:
  enabled: true
  repo_path: /Users/you/workspaces/gbrain
  search_mode: hybrid
```

**Requirements:**

* GBrain repo or global installation (`bun add -g gbrain`)
* For `hybrid`/`vector` modes: OpenAI API key for embeddings
* If running from source: [Bun](https://bun.sh) runtime

**GBrain resolution order:**

1. Explicit `gbrain_bin_path` in config
2. `gbrain` in system PATH
3. `src/cli.ts` in `repo_path`
4. `../gbrain/src/cli.ts` relative to workspace
5. Fallback — try `gbrain` anyway (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 theme={null}
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: false
```

**Write 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 |
