Skip to main content
Glama

contextweaver

CI PyPI version Python versions License: Apache-2.0 OpenSSF Scorecard Docs GitHub Discussions

Erfasse die effektive Fähigkeitsoberfläche eines Agents, committe sie und sieh semantisch bedeutsame Änderungen vor der Bereitstellung.

ContextWeaver testet derzeit eine bewusst schmale Produkthypothese: Fähigkeits-Snapshot + semantische Drift.

Gegeben ein OpenAPI-Dokument, eine erfasste MCP-tools/list-Antwort oder einen nativen ContextWeaver-Katalog, erzeugt das D1-Experiment einen deterministischen normalisierten Snapshot, den du inspizieren, verifizieren und mit einem späteren Kandidaten vergleichen kannst. Es erfordert kein Modellkonto, kein Gateway, keinen Tool-Ausführer und keinen Weaver Stack.

Status: Alpha, und speziell ein Produktexperiment. Die Implementierung funktioniert und ist getestet; die Nutzwert-Hypothese ist noch nicht bewiesen. Das Projekt misst aktiv, ob unabhängige Nutzer diesen Workflow behalten, nachdem sie ihn an realen Projekten ausprobiert haben.

Teste das Fähigkeits-Drift-Experiment

Klonen Sie das Repository und installieren Sie diesen Checkout, damit die gepflegten Beispiel-Fixtures und der zu bewertende Code garantiert übereinstimmen:

git clone --depth 1 https://github.com/dgenio/contextweaver.git
cd contextweaver
python -m pip install .

Führen Sie das gepflegte OpenAPI-Beispiel aus:

python -m contextweaver.d1 snapshot examples/d1/openapi_before.json --source-type openapi --output ./cw-before.json
python -m contextweaver.d1 snapshot examples/d1/openapi_after.json --source-type openapi --output ./cw-after.json
python -m contextweaver.d1 inspect ./cw-after.json
python -m contextweaver.d1 verify ./cw-after.json
python -m contextweaver.d1 diff ./cw-before.json ./cw-after.json

Das Kandidaten-Fixture beabsichtigt:

  • customer_id auf der bestehenden listInvoices-Fähigkeit erforderlich zu machen;

  • seine Beschreibung zu ändern;

  • eine neue getInvoice-Fähigkeit hinzuzufügen.

Der Diff trennt Fähigkeits-Hinzufügungen/-Entfernungen von Änderungen an einer bestehenden logischen Fähigkeit und meldet die geänderten strukturierten Pfade. Vertragsänderungen werden von reinen Dokumentationsänderungen getrennt. Änderungen an Feldern wie required, type oder enum werden als potenziell brechend zur Überprüfung gekennzeichnet.

Diese Kennzeichnung ist bewusst konservativ: ContextWeaver behauptet nicht, ein vollständiger JSON-Schema-Kompatibilitätsprüfer zu sein.

Vollständiger Durchlauf: Fähigkeits-Drift-Experiment.

Related MCP server: MCP Gateway

Verwenden Sie es auf Ihrer eigenen Quelle

OpenAPI

python -m contextweaver.d1 snapshot ./openapi.yaml --source-type openapi --output ./capabilities.json
python -m contextweaver.d1 verify ./capabilities.json

Nach den API-Änderungen:

python -m contextweaver.d1 snapshot ./openapi.yaml --source-type openapi --output ./capabilities-candidate.json
python -m contextweaver.d1 diff ./capabilities.json ./capabilities-candidate.json

Erfasste MCP-Tools

Wenn Sie bereits eine MCP-tools/list-Antwort als JSON gespeichert haben:

python -m contextweaver.d1 snapshot ./tools-list.json \
  --source-type mcp \
  --output ./capabilities.json

Für MCP vergleicht D1 Tools anhand ihres logischen Namens im Upstream, sodass eine Eingabe-Schema-Änderung als Änderung an derselben Fähigkeit erscheint und nicht als unerklärtes Entfernen/Hinzufügen-Paar. Die historische schema-sensitive Routing-ID wird separat als normalized_id zur Inspektion beibehalten.

Das Erfassen eines Live-MCP-Servers ist ein separater Vorgang. snapshot, inspect, diff und verify führen erfasste Fähigkeiten nicht aus.

Nativer ContextWeaver-Katalog

python -m contextweaver.d1 snapshot ./catalog.json \
  --source-type native \
  --output ./capabilities.json

Was verify bedeutet

verify prüft den D1-Snapshot-Vertrag: Struktur, deterministische Reihenfolge, Eindeutigkeit der logischen IDs und den kanonischen Fähigkeits-Digest.

Es ist nicht:

  • Bereitstellungsgenehmigung;

  • Sicherheitszertifizierung;

  • Authentifizierung oder Autorisierung;

  • eine Garantie, dass eine Tool-Implementierung korrekt ist;

  • Routing-Qualitätsbewertung;

  • Produktions-Laufzeitattestierung.

Wann ContextWeaver D1 nicht verwendet werden sollte

Eine negative Antwort ist ein nützlicher Beleg für dieses Projekt. Fügen Sie ContextWeaver nicht nur hinzu, weil Fähigkeits-Snapshots ordentlich klingen.

Verwenden Sie etwas Einfacheres, wenn:

  • gewöhnliche Git-Diffs, Konfigurationsüberprüfung und Tests Ihre Fähigkeitsänderungen bereits offensichtlich machen;

  • Ihre Tool-/API-Oberfläche winzig ist und sich selten ändert;

  • die anbietereigene Tool-Suche das einzige Problem ist, das Sie lösen möchten;

  • Sie eine Agent-Schleife, einen Tool-Ausführer, eine IAM-Schicht oder einen Produktions-Orchestrator benötigen;

  • die Pflege eines weiteren committeten Artefakts mehr kostet als das Review-/Debugging-Problem, das es beseitigt.

Wenn Sie D1 ausprobieren und zu dem Schluss kommen, dass Git/Tests billiger sind, ist das ein gültiges Produktergebnis – bitte sagen Sie es.

Was getestet wird

Das aktuelle Überlebensexperiment stellt eine stärkere Frage als ob der Code funktioniert:

Verbessern Fähigkeits-Snapshots und semantische Drift-Berichte einen realen Review-/manuellen/Risikoprozess genug, dass unabhängige Nutzer sie behalten?

Das Projekt unterscheidet:

qualified exposure
  -> understood the problem
  -> chose to evaluate
  -> attempted setup
  -> reached first useful output
  -> used on a real project
  -> retained independently / removed

Sterne, Forks, Downloads, eine erfolgreiche Demo und vom Maintainer erstellte Integrationen werden nicht als beibehaltene Adoption behandelt.

Die maßgebliche Produktentscheidung wird in #758 verfolgt, und das Verteilungsqualitäts-Gate ist #855. Unterstützter erster Erfolg und Bindung werden in #658 und echte Adoption in #551 verfolgt.

Was ist mit Routing, Kontextkompilierung und dem MCP-Gateway?

ContextWeaver enthält bereits erhebliche historische Laufzeitfunktionalität. Dieser Code existiert weiterhin und das derzeit ausgelieferte Verhalten sollte wahrheitsgemäß und sicher bleiben, aber die bestehende Implementierung ist kein Beleg dafür, dass das Projekt sie weiter ausbauen sollte.

Zwei breitere Hypothesen sind ausdrücklich evidenzorientiert:

  • D2 — begrenzte / phasenbewusste Kontextkompilierung: bedingt. Sie muss einen wesentlichen Wert über zeitgenössische anbieter-/laufzeitnative Mechanismen hinaus zeigen.

  • D3 — benutzerdefinierte deterministische Tool-Auswahl: eine Falsifikationsspur. Sie muss moderne anbieternative Tool-Suche/verzögertes Laden oder eine einfache Abruf-Baseline bei etwas schlagen, das Zielnutzer tatsächlich interessiert.

Während des D1-Experiments erweitert das Projekt nicht die Routing-Komplexität, Laufzeit-Bundle-Mechanismen, Speicher-/Sitzungsoberflächen, Framework-Breite, Gateway-Umfang, Vektor-Speicher oder modellgestützte Anreicherung ohne einen konkreten externen Blocker oder ein genehmigtes Falsifikationsexperiment.

Wenn Sie eine bestehende Integration pflegen, die diese historischen Oberflächen nutzt, bleibt die relevante Dokumentation verfügbar:

Belege und Behauptungen

Die D1-Implementierung unterstützt eingegrenzte technische Behauptungen wie die deterministische Snapshot-Konstruktion unter dem dokumentierten Quell-/Adaptervertrag und strukturierte semantische Diff-Ausgabe. Sie unterstützt noch nicht die stärkere Behauptung, dass Nutzer das Produkt benötigen oder behalten.

Die historische Schlagzeile zur Token-Reduktion wird bewusst nicht verwendet, um D1 zu verkaufen. Die aktuelle Arbeit zur Belegintegrität für diese älteren Benchmark-Behauptungen wird in #841 verfolgt.

Siehe Behauptungen & Belege für das Behauptungsregister und Fähigkeits-Drift-Experiment für den genauen D1-Vertrag und die Einschränkungen.

Python-API-Stabilität

D1 wird absichtlich über Folgendes bereitgestellt:

python -m contextweaver.d1 ...

anstatt sofort in die historische Top-Level-CLI oder eine große neue öffentliche Python-API aufgenommen zu werden. Das ist beabsichtigt. Das Experiment sollte sich eine dauerhafte Oberfläche durch echte beibehaltene Nutzung verdienen, bevor das Projekt eine weitere Kompatibilitätsverpflichtung eingeht.

Teil des Weaver-Stacks – optional

ContextWeaver kann eigenständig verwendet werden. Es hat keine harte Abhängigkeit von den Geschwister-Weaver-Projekten.

Der breitere Weaver-Stack enthält angrenzende Experimente/Komponenten für Planung, Ausführungsgrenzen, Leitplanken, Lektionen und Bewertung. Dieses Ökosystem ist nicht erforderlich, um D1 zu bewerten, und Stack-Kohärenz ist kein Grund, eine ContextWeaver-Funktion zu erhalten, die sich nicht unabhängig rechtfertigt.

Siehe die Ökosystem-Karte nur, wenn Sie diese angrenzenden Verantwortlichkeiten tatsächlich benötigen.

Installation und Kompatibilität

pip install contextweaver

Python 3.10–3.14 werden von der CI-Matrix des Repositorys abgedeckt.

Aktuelle Paketversion: 0.18.1

Projekt

Release

ContextWeaver (dieses Repo, v0.18.1)

aktuelles Paket-Release

Das Repository ist vor 1.0. Bevorzugen Sie das neueste unterstützte Patch-Release für Fehler- und Sicherheitskorrekturen und prüfen Sie das Changelog, bevor Sie sich auf historische Laufzeit-APIs verlassen.

Aktuelle Roadmap

Die Roadmap ist bewusst eine Produktentscheidungssequenz, keine Feature-Queue.

Meilenstein

Status

Bedeutung

v0.18.1 — D1-Überlebensexperiment-Baseline

✅ aktuell (v0.18.1)

Offline-Snapshot/Inspect/Diff/Verify existiert; Nutzwert bleibt unverifiziert.

D1-Verteilungs-Gate

🔬 Evidenz zuerst

Die Eingangstür verständlich machen, qualifizierte Evaluatoren gewinnen, ersten Erfolg und Bindung messen.

D1-Entscheidung

⏸ nächste Entscheidung

Fortsetzen, weiter verkleinern oder beenden basierend auf beibehaltenem Wert nach kompetenter Verteilung.

D2 / D3

🧪 bedingt

Nur ausführen, wenn D1-Evidenz oder unabhängige Problementdeckung begrenzte Falsifikationsexperimente rechtfertigt.

Ein grüner CI-Lauf bringt diese Roadmap allein nicht voran.

Mitwirken

Die wertvollsten Beiträge während des Überlebensexperiments sind schmal und evidenzbezogen:

  • ein echter D1-Evaluator-Blocker;

  • ein semantischer Diff-Fall, der derzeit irreführend ist oder stillschweigend verloren geht;

  • deterministische Normalisierungskorrektheit;

  • Sicherheits-/Release-Wartung für Verhalten, das das Paket weiterhin ausliefert;

  • negative Evidenz, die zeigt, dass eine einfachere Alternative gewinnt.

Bitte fügen Sie keinen Framework-Adapter, keine Routing-Richtlinie, kein Speicher-Backend, keine Laufzeitphase oder Ökosystem-Integration nur der Vollständigkeit halber hinzu.

Siehe CONTRIBUTING.md und AGENTS.md für Repository- Engineering-Konventionen.

Sicherheit

Siehe SECURITY.md für Anleitungen zu unterstützten Versionen und Schwachstellenmeldung. Fügen Sie keine Anmeldeinformationen, Kundendaten, proprietären Schemata oder private Prompts in öffentliche Adoptions-/Evaluierungsberichte ein.

Dokumentation

Lizenz

Apache-2.0. Siehe LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A universal gateway that aggregates multiple MCP servers into a single interface while providing advanced token optimization, result filtering, and automated summarization. It enables efficient management of large tool catalogs and reduces context usage by up to 95% for major AI clients.
    9 npm
    16
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Aggregates multiple Model Context Protocol servers into a single gateway to provide unified search, description, and execution of tools. It reduces context limit issues by dynamically fetching specific tool schemas only when needed rather than loading all available tools at once.
    4 npm
    22
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP gateway that compresses multiple upstream servers into two tools, search and execute, to minimize model context usage. It provides a compact, code-driven interface for discovering and calling tools across various upstream sources on demand.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP proxy that bundles flat tool lists into hierarchical subcommand groups to reduce context token usage, supporting multi-server aggregation and auto-generated help from tool schemas.
    -