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.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

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