Skip to main content
Glama
TheWeaveSC

TheWeave: Memory for AI agents you can cat, grep, and git.

TheWeave

License: Apache 2.0 Python Version MCP

Claude-Speicher, den du cat, grep und git kannst.

Eine markdown-native Speicherarchitektur für Claude und jeden MCP-fähigen Agenten. Der Speicher deines Assistenten lebt als einfache .md-Dateien in einem Verzeichnis, das dir gehört – in deinem Texteditor einsehbar, in git versionierbar, über Maschinen hinweg portabel – nicht in einer undurchsichtigen Vektordatenbank irgendwo anders.

Fünf kombinierbare Muster liegen auf demselben Vault auf:

  1. Weave Core MCP – 5-Verb-Speichertool für jedes Markdown-Verzeichnis

  2. PPR-Boot-Retriever – abfragegesteuerter Personalisierter PageRank, keine vorgefertigten Dumps

  3. Bi-temporaler Resolver – Fakten haben valid_from / superseded_by; Zeitreise-Abfragen eingebaut

  4. Schlafzeit-Konsolidierer – aktuelle Aktivitäten werden zurück in Entitätsdateien gepatcht; Reflexionssynthese läuft über das Lernprotokoll

  5. Schreibzeit-Konfliktlöser – k-NN + LLM-Urteil verweigert das HINZUFÜGEN eines Duplikats, wenn ein UPDATE korrekt ist

Das Substrat ist nur Markdown und YAML-Frontmatter. Keine Dienste, keine Embeddings-DB, kein Ollama. Das 5-Verb-Tool wird ohne Infrastruktur geliefert; die reichhaltigeren Muster legen sich auf dieselben Dateien.

Neu in v0.4.0:

  • Lane-Firewall (fail-closed) – leitet Notizen über lane_map.yaml in Abruf-Lanes; Lanes-übergreifendes Leck wird an jeder Nahtstelle blockiert (dichte Suche, PPR-Seeding, Recall), Brückendateien, die beide Vokabellisten erfüllen, brechen den Build ab, bis ein Mensch sie beurteilt, und ein Lane-Konfig-Hash-Gate verweigert veraltete Caches.

  • Cortex-Lesepfad-Härtung – eine fehlerhafte Notiz verschlechtert nur diese Notiz; Fehler werden gemeldet, nie versteckt; unter Quarantäne gestellte Dateien sind in keiner Lane abrufbar.

  • weave lint – Vault-Lint-Verb mit maschinenlesbarer --paths-Ausgabe.

  • Deterministischer Konflikt-Vorfilter – nicht verwandte Schreibvorgänge überspringen das LLM-Urteil vollständig.

  • Advisory-Schreib-Gate – MCP-Schreibverben hängen einen beratenden Konfliktvorschlag an (fail-open; WEAVE_WRITE_GATE=0-Kill-Switch).

  • Windows-Unterstützung (Beta) – siehe Windows (Beta).


Schnellstart

git clone https://github.com/TheWeaveSC/theweave.git ~/theweave
cd ~/theweave
pip install -e .

# verify the install end-to-end
weave-cli doctor

# try the included demo vault
weave-cli demo boot "ACME cutover with Marcus"
weave-cli demo current entity-ACME --as-of 2026-01-01   # time-travel
weave-cli demo consolidate --today 2026-05-23           # dry-run

Eine gesunde Installation sieht so aus:

🪶 Weave 2.0 Doctor

[Engine]
  ✓ Python 3.11.15 (≥3.11 required)
  ✓ Dependencies importable
      mcp 1.27.1, networkx 3.6.1, frontmatter 1.3.0, click 8.4.1, ...
  ✓ CLI + MCP entry points importable
  ℹ theweave 0.4.0

[Vault]
  ✓ Vault root resolves: ~/theweave/seed-vault
  ✓ Layout: flat (seed-vault style)
  ✓ 18 notes total — entities 6, sessions 7, signals 1, other 4
  ✓ Frontmatter parses on all notes
  ✓ Pattern 4 will scan 7 session(s)
  ✓ Pattern 2 graph: 18 nodes, 71 edges, 0 isolates (0%)
  ✓ Bi-temporal coverage: 6/6 entities (100%)

[Environment]
  ✓ Obsidian.app detected in /Applications/
  ℹ ANTHROPIC_API_KEY not set — Pattern 4/5 will run in mock mode

All checks passed.

Erfordert Python ≥ 3.11. Für einen Installationspfad ohne Klonen (keine GitHub-Authentifizierung erforderlich) siehe Installation.


Related MCP server: Mneme Memory MCP

Bring deine eigene Persona mit

TheWeave ist vault-nativ. Die Identität deines Assistenten – Stimme, Arbeitsstil, die Beziehung, die du aufgebaut hast – ist selbst nur Markdown im Vault. Persona-Erinnerungen werden bei jeder Sitzung geladen; faktische Erinnerungen werden bei Bedarf abgerufen. Gleiches Primitive, gleiche Dateien, andere Ladedisziplin.

Das bedeutet, eine Persona ist nur ein Starter-Vault, den du forken kannst:

# clone a starter vault and verify the engine sees it
cp -R personas/sonnet ~/my-vault
weave-cli doctor --vault ~/my-vault --check-mcp
$EDITOR ~/my-vault/entities/entity-user.md   # personalize the user identity

In diesem Repository enthaltene Starter-Vaults:

  • seed-vault/ – neutraler fiktiver Starter (ACME / FOO-Entitäten). Am besten geeignet, um die fünf Muster auszuprobieren.

  • personas/sonnet/ – ein Starter, der um einen knappen, audit-disziplinierten Claude-Kollaborateur aufgebaut ist. Stimme, Arbeitsstil und Beziehungsgerüst sind vorkonfiguriert. Siehe personas/sonnet/README.md für das Layout und Fork-Anweisungen.

Oder überspringe den Starter und richte TheWeave auf ein beliebiges vorhandenes Markdown-Verzeichnis – Obsidian, dein Notiz-Repo, dotfiles. Die Engine passt sich jedem Layout an, das du hast.


Was das ist (und was nicht)

TheWeave

Vector-DB-Speicherebenen

Speicher

Einfache .md-Dateien in deinem Dateisystem

Vendor-DB / Pinecone / pgvector

Inspektion

cat, grep, rg, dein Texteditor

API-Abfrage oder Admin-UI

Versionierung

git diff, git log, git blame

Snapshot-/Export-Tools

Schema

Offenes YAML-Frontmatter

Vendor-DB-Schema

Fehlermodus

Eine fehlerhafte Markdown-Datei, die du von Hand bearbeiten kannst

Eine fehlerhafte Zeile, die du abfragen musst

Vendor-Lock-in

Keines – es ist ein Ordner

Migrationstool erforderlich

TheWeave ist kein Chat-Speicher-Add-on. Es ist die Speicherebene für Claude, wenn du die Daten auf deiner Maschine, in deinem Dateisystem, in einem lesbaren Format haben möchtest.


Architektur

                    ┌──────────────────────────────────────┐
                    │       TheWeave — two-tier design     │
                    └──────────────────────────────────────┘

╔════════════════════════════════════════════════════════════════════╗
║  WEAVE CORE  (zero-infra, drop-in MCP server)                      ║
║                                                                    ║
║  ┌─────────────────────────────────────────────────────────────┐  ║
║  │  MCP server — 5 verbs over any markdown vault               │  ║
║  │    view  •  create  •  str_replace  •  insert  •  delete    │  ║
║  └─────────────────────────────────────────────────────────────┘  ║
║                              │                                     ║
║                              ▼                                     ║
║  ┌─────────────────────────────────────────────────────────────┐  ║
║  │  Vault (markdown + YAML frontmatter)                        │  ║
║  │    entities/   sessions/   wiki/   LearningLayer/           │  ║
║  └─────────────────────────────────────────────────────────────┘  ║
╚════════════════════════════════════════════════════════════════════╝
                              │
                              ▼ (same vault, richer engine)
╔════════════════════════════════════════════════════════════════════╗
║  WEAVE PRO  (Python engine on your machine)                        ║
║                                                                    ║
║  Pattern 2 — Query → entity-extract → Personalized PageRank →      ║
║              top-N notes (bi-temporal-aware)                       ║
║                                                                    ║
║  Pattern 3 — Bi-temporal frontmatter (valid_from / valid_until /   ║
║              superseded_by) + chain resolver                       ║
║                                                                    ║
║  Pattern 4 — Sleep-time consolidator:                              ║
║              recent sessions → per-entity activity patch           ║
║              LearningLayer signals → reflect synthesis             ║
║              (dry-run by default; --apply with _archive/ backup)   ║
║                                                                    ║
║  Pattern 5 — Write-time:                                           ║
║              TF-IDF k-NN candidates → LLM (or mock) →              ║
║              ADD / UPDATE / DELETE / NOOP verdict                  ║
║                                                                    ║
║              ┌──────────────┐         ┌─────────────────┐          ║
║              │  mock_llm    │ ◄─────► │  anthropic_llm  │          ║
║              │ (offline)    │  env    │  (live Claude)  │          ║
║              └──────────────┘  var    └─────────────────┘          ║
╚════════════════════════════════════════════════════════════════════╝

Beide Stufen teilen sich einen Vault. Core wird ohne Infrastruktur geliefert (ein MCP-Eintrag in claude_desktop_config.json und du bist drin). Pro fügt die reichhaltigere Engine hinzu, ohne das Datenformat zu ändern.


Musterstatus

#

Muster

Implementierung

LLM-Abhängigkeit

1

Weave Core MCP

Stabil – 5 Verben, Pfad-Escape-geschützt

Keine

2

PPR-Boot-Abruf

Stabil – NetworkX, Frontmatter-bewusste Wikilinks, bi-temporale Seed-Auflösung

Keine

3

Bi-temporaler Resolver

Stabil – superseded_by-Walker, as_of-Zeitreise

Keine

4

Schlafzeit-Konsolidierer

Stabiler Scan + Patch. Reflexionssynthese verwendet standardmäßig Mock-Heuristik; Live-Claude mit ANTHROPIC_API_KEY

Optional

5

Schreibzeit-Konfliktlöser

Stabile TF-IDF- + Urteilspipeline. Mock-Klassifikator standardmäßig; Live-Claude mit ANTHROPIC_API_KEY

Optional

Die gesamte Persistenz ist einfaches Markdown. Kein ChromaDB, kein Ollama, keine Dienste. Das 5-Verb-Substrat trägt ~80 % der Architektur; nur die Klassifikatorschritte in Muster 4 und 5 benötigen ein LLM.


Installation

Bearbeitbare Installation (aktueller Pfad)

git clone https://github.com/TheWeaveSC/theweave.git ~/theweave
cd ~/theweave
pip install -e .
weave-cli doctor

Installation ohne Klonen (empfohlen für Lernende)

curl -sSL https://github.com/TheWeaveSC/theweave/releases/latest/download/install-weave.sh | bash

Lädt das getaggte Release-Tarball herunter, richtet eine Python-venv unter ~/theweave/venv/ ein, installiert das Paket und verlinkt weave-cli symbolisch in ~/.local/bin/, falls es auf deinem PATH liegt. Führt weave-cli doctor als Erfolgssignal aus. Keine GitHub-Authentifizierung erforderlich – das Tarball wird vom öffentlichen Releases-Endpunkt abgerufen.

Überschreibbar über Umgebungsvariablen: WEAVE_VERSION, WEAVE_HOME, PYTHON. Siehe install-weave.sh.

Windows (Beta)

v0.4.0 fügt Windows-Unterstützung hinzu: plattformbewusste Claude-Desktop-Konfigurationspfadauflösung (%APPDATA%\Claude\claude_desktop_config.json), plattformnative Cortex-Cache-Speicherorte (%LOCALAPPDATA%\theweave\cache) und ein PowerShell-Installationsprogramm:

irm https://github.com/TheWeaveSC/theweave/releases/latest/download/install-weave.ps1 | iex

Ehrliches Etikett: Der Windows-Pfad ist implementiert und code-reviewt, aber noch nicht auf Windows-Hardware feldgetestet. Wenn du ihn ausführst, melde bitte, was du erlebst – gut oder schlecht – über Issues. Bekannte Umfangsgrenzen: cortex install-nightly ist nur für macOS (launchd); verwende stattdessen den Task Scheduler, um weave-cli cortex dream nächtlich auszuführen.

MCP-Integration mit Claude Desktop

Kopiere docs/claude-desktop-config.snippet.json in deine Claude-Desktop-Konfiguration unter mcpServers – macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json, Linux: ~/.config/Claude/claude_desktop_config.json. Starte Claude Desktop neu. Die 5 Verben werden als weave-core/view, weave-core/create usw. verfügbar.


Live-Claude-Modus (Muster 4 & 5)

Muster 4 und 5 verwenden standardmäßig deterministische Mock-Implementierungen. Um live zu gehen:

pip install anthropic
export ANTHROPIC_API_KEY=...
export WEAVE_CLAUDE_MODEL=claude-sonnet-4-6   # optional
weave-cli demo consolidate                    # reflect step now uses Claude
weave-cli demo write /tmp/foo.md              # verdict now uses Claude

Der weave/pro/llm.py-Selector wählt anthropic_llm, wann immer ANTHROPIC_API_KEY gesetzt ist, andernfalls fällt er auf mock_llm zurück. Die Codepfade sind identisch; nur der Klassifikator wechselt.


Abhängigkeiten

Ebene

Was

Erforderlich?

Engine-Laufzeit

Python ≥ 3.11; pip install -e . installiert den Rest

Ja

KI ↔ Vault

Claude Desktop, Cowork oder ein beliebiger MCP-Client mit registriertem weave-core

Ja

Mensch ↔ Vault

Ein beliebiger Markdown-Editor. Obsidian wird für die native Wikilink- und Backlink-Graph-UX empfohlen, ist aber nicht erforderlich.

Empfohlen

Muster 4 & 5 Live-Modus

ANTHROPIC_API_KEY exportiert

Optional

Nach der Installation überprüft weave-cli doctor den gesamten Stack – Engine, Vault, Umgebung und optional die Claude-Desktop-MCP-Verdrahtung mit --check-mcp.


Einschränkungen

Ehrliche Liste dessen, was rau ist:

  • TF-IDF im Konfliktlöser ist bei kurzen Dokumenten fragil. Kurze Kandidatennotizen erhalten niedrige Ähnlichkeitswerte, selbst wenn sie konzeptionell identisch sind. Der Namensabgleich-Bypass deckt den Großteil davon ab; echte Embeddings (z. B. nomic-embed-text) wären der Produktionspfad.

  • PPR läuft pro Abfrage über den gesamten Graphen, nicht gecacht. Für Vaults unter ~1.000 Notizen in Ordnung; für größere vorberechnen und cachen.

  • Der Mock-Reflect-Schritt des Konsolidierers ist Keyword-Bucketing. Ehrlicher Stub, kein Ersatz für den Live-Claude-Reflect-Durchlauf.

  • Live-LLM-Modus ist nur Claude. Keine OpenAI-/Gemini-/Ollama-Backends – offen für Beiträge.


Offene Experimentzeilen

Falsifizierbare Fragen, die wir aktiv und offen bearbeiten. Vorregistrierte Protokolle und Replikationsversuche sind willkommen – eröffne ein Issue.

#

Frage

Bisherige Beweise

Status

1

Paraphrasen-Blindheit des Konflikt-Vorfilters – der TF-IDF-Vorfilter übersieht Paraphrasen-Near-Duplikate; behebt dichte-Embedding-Urteilsbewertung das?

Zwei-Rig-Beweis: Paraphrasen-Near-Duplikate erzielen Ähnlichkeit 0,28–0,38 gegenüber dem 0,35-Schwellenwert, sodass echte Duplikate am Vorfilter vorbeischlüpfen

Offen – vorregistriertes Protokoll willkommen


Dokumentation


Lizenz

Apache-Lizenz 2.0.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
3moRelease cycle
2Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Local-first, file-based memory layer for AI agents — one shared Markdown vault across Claude, Codex, Gemini, Cursor and any MCP client. Provides read/write memory tools with an audit trail, per-agent trust levels, and Git sync; no cloud and no lock-in.
    2
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A local-first shared memory layer for MCP-aware agents like Claude, Codex, and Hermes, enabling persistent memory across chats and clients via Markdown files and SQLite FTS.
    6
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local-first, source-traceable memory for AI agents — no LLM at ingest, $0 per message, zero data egress. Gives Claude Code, Cursor, and any MCP client one shared persistent memory with semantic recall, belief revision, selective forgetting, and a provenance guard that blocks acting on stale or unconfirmed memories.
    23
    12
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Persistent memory for AI agents built on the LLM Wiki pattern: a plain-Markdown brain (also a valid Obsidian vault) with SQLite metadata, local semantic search via fastembed (no API keys), one-call session context with project auto-detection, and a decision log with rationale. Works with Claude Code, Claude Desktop, Cursor, and any MCP client.
    31
    MIT

View all related MCP servers

Related MCP Connectors

  • Token-efficient MCP memory for Markdown vaults. Tiered search, GraphRAG, AI memories.

  • One memory, every AI: Claude, ChatGPT, Perplexity, Gemini, Cursor, OpenClaw, Hermes, any MCP client.

  • Persistent memory and knowledge graphs for AI agents. Hybrid search, context checkpoints, and more.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheWeaveSC/theweave'

If you have feedback or need assistance with the MCP directory API, please join our Discord server