Skip to main content
Glama

contextweaver

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

Зафиксируйте эффективную поверхность возможностей агента, сохраните её и увидьте семантически значимые изменения перед развёртыванием.

ContextWeaver в настоящее время проверяет deliberately узкую продуктовую гипотезу: снимок возможностей + семантический дрейф.

Имея документ OpenAPI, захваченный ответ MCP tools/list или нативный каталог ContextWeaver, эксперимент D1 создаёт детерминированный нормализованный снимок, который можно проверить, верифицировать и сравнить с более поздним кандидатом. Для этого не требуется учётная запись модели, шлюз, исполнитель инструментов или стек Weaver.

Статус: альфа, и конкретно продуктовый эксперимент. Реализация работает и протестирована; гипотеза о ценности для пользователя ещё не доказана. Проект активно измеряет, сохраняют ли независимые пользователи этот рабочий процесс после его опробования на реальных проектах.

Попробуйте эксперимент с дрейфом возможностей

Клонируйте репозиторий и установите этот чек-аут, чтобы поддерживаемые примеры фикстур и код, находящийся на оценке, гарантированно совпадали:

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

Запустите поддерживаемый пример OpenAPI:

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

Кандидатная фикстура намеренно:

  • делает customer_id обязательным в существующей возможности listInvoices;

  • изменяет её описание;

  • добавляет новую возможность getInvoice.

Дифф разделяет добавления/удаления возможностей от изменений в существующей логической возможности и сообщает о структурированных путях, которые изменились. Изменения контракта отделены от изменений, касающихся только документации. Изменения, затрагивающие такие поля, как required, type или enum, помечаются как потенциально ломающие для проверки.

Этот флаг намеренно консервативен: ContextWeaver не претендует на то, чтобы быть полным проверщиком совместимости JSON-Schema.

Полное пошаговое руководство: Эксперимент с дрейфом возможностей.

Related MCP server: MCP Gateway

Используйте его на собственном источнике

OpenAPI

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

После изменений API:

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

Захваченные инструменты MCP

Если у вас уже есть ответ MCP tools/list, сохранённый как JSON:

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

Для MCP D1 сравнивает инструменты по их вышестоящему логическому имени, поэтому изменение входной схемы отображается как изменение той же возможности, а не как необъяснимая пара удаления/добавления. Исторический чувствительный к схеме маршрутизирующий идентификатор сохраняется отдельно как normalized_id для проверки.

Захват живого MCP-сервера — это отдельная операция. snapshot, inspect, diff и verify не выполняют обнаруженные возможности.

Нативный каталог ContextWeaver

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

Что означает verify

verify проверяет контракт снимка D1: структуру, детерминированный порядок, уникальность логических идентификаторов и канонический дайджест возможностей.

Это не:

  • одобрение развёртывания;

  • сертификация безопасности;

  • аутентификация или авторизация;

  • гарантия того, что реализация инструмента корректна;

  • оценка качества маршрутизации;

  • подтверждение производственной среды выполнения.

Когда не следует использовать ContextWeaver D1

Отрицательный ответ — это полезное доказательство для этого проекта. Не добавляйте ContextWeaver только потому, что снимки возможностей звучат аккуратно.

Используйте что-то более простое, когда:

  • обычный Git-дифф, проверка конфигурации и тесты уже делают ваши изменения возможностей очевидными;

  • ваша поверхность инструментов/API крошечная и редко меняется;

  • нативный поиск инструментов провайдера — единственная проблема, которую вы пытаетесь решить;

  • вам нужен цикл агента, исполнитель инструментов, уровень IAM или производственный оркестратор;

  • поддержание ещё одного зафиксированного артефакта стоит больше, чем проблема проверки/отладки, которую он устраняет.

Если вы попробуете D1 и придёте к выводу, что Git/тесты дешевле, это допустимый продуктовый результат — пожалуйста, сообщите об этом.

Что тестируется

Текущий эксперимент на выживание задаёт более сильный вопрос, чем работает ли код:

Улучшают ли снимки возможностей и отчёты о семантическом дрейфе реальный процесс проверки/ручной работы/риска настолько, что независимые пользователи сохраняют их?

Проект различает:

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

Звёзды, форки, загрузки, успешная демонстрация и интеграции, созданные мейнтейнером, не считаются удержанным принятием.

Контролирующее продуктовое решение отслеживается в #758, а ворота качества распространения — в #855. Первый успех без помощи и удержание отслеживаются в #658, а подлинное принятие — в #551.

А как насчёт маршрутизации, компиляции контекста и MCP-шлюза?

ContextWeaver уже содержит значительную историческую функциональность времени выполнения. Этот код всё ещё существует, и текущее поставляемое поведение должно оставаться правдивым и безопасным, но существующая реализация не является доказательством того, что проект должен продолжать её расширять.

Две более широкие гипотезы явно основаны на доказательствах:

  • D2 — ограниченная / осведомлённая о фазах компиляция контекста: условно. Она должна показать существенную ценность, выходящую за рамки современных механизмов провайдера/времени выполнения.

  • D3 — пользовательский детерминированный выбор инструментов: трек фальсификации. Он должен превзойти современный нативный поиск инструментов провайдера/отложенную загрузку или простой базовый уровень поиска на том, что действительно важно для целевых пользователей.

Во время эксперимента D1 проект не расширяет сложность маршрутизации, механизмы пакетов времени выполнения, поверхности памяти/сессий, широту фреймворков, область шлюза, векторные хранилища или обогащение с помощью моделей без конкретного внешнего блокера или одобренного эксперимента по фальсификации.

Если вы поддерживаете существующую интеграцию, использующую эти исторические поверхности, соответствующая документация остаётся доступной:

Доказательства и утверждения

Реализация D1 поддерживает ограниченные инженерные утверждения, такие как детерминированное построение снимков в рамках документированного контракта источника/адаптера и структурированный семантический дифф-вывод. Она ещё не поддерживает более сильное утверждение, что пользователи нуждаются в продукте или сохраняют его.

Исторический заголовок о сокращении токенов намеренно не используется для продажи D1. Текущая работа по целостности доказательств для этих более старых утверждений о бенчмарках отслеживается в #841.

См. Утверждения и доказательства для реестра утверждений и Эксперимент с дрейфом возможностей для точного контракта D1 и ограничений.

Стабильность Python API

D1 намеренно предоставляется через:

python -m contextweaver.d1 ...

а не немедленно продвигается в исторический CLI верхнего уровня или большой новый публичный Python API. Это осознанно. Эксперимент должен заслужить постоянную поверхность через реальное удержанное использование, прежде чем проект возьмёт на себя ещё одно обязательство по совместимости.

Часть стека Weaver — опционально

ContextWeaver можно использовать автономно. У него нет жёсткой зависимости от родственных проектов Weaver.

Более широкий стек Weaver содержит смежные эксперименты/компоненты для планирования, границ выполнения, защитных механизмов, уроков и оценки. Эта экосистема не требуется для оценки D1, и согласованность стека не является причиной сохранять функцию ContextWeaver, которая не оправдывает себя независимо.

См. Карту экосистемы только если вам действительно нужны эти смежные обязанности.

Установка и совместимость

pip install contextweaver

Python 3.10–3.14 покрыты матрицей CI репозитория.

Текущая версия пакета: 0.18.1

Проект

Релиз

ContextWeaver (этот репозиторий, v0.18.1)

текущий релиз пакета

Репозиторий находится до версии 1.0. Предпочитайте последний поддерживаемый патч-релиз для исправлений ошибок и безопасности, и проверяйте журнал изменений перед использованием исторических API времени выполнения.

Текущая дорожная карта

Дорожная карта намеренно представляет собой последовательность продуктовых решений, а не очередь функций.

Веха

Статус

Значение

v0.18.1 — базовый эксперимент выживания D1

✅ текущий (v0.18.1)

Офлайн-снимок/проверка/дифф/верификация существуют; ценность для пользователя остаётся непроверенной.

Ворота распространения D1

🔬 доказательства в первую очередь

Сделать входную дверь понятной, привлечь квалифицированных оценщиков, измерить первый успех и удержание.

Решение по D1

⏸ следующее решение

Продолжить, сократить дальше или закрыть на основе удержанной ценности после компетентного распространения.

D2 / D3

🧪 условно

Запускать только если доказательства D1 или независимое обнаружение проблемы оправдывают ограниченные эксперименты по фальсификации.

Зелёный прогон CI сам по себе не продвигает эту дорожную карту.

Вклад

Наиболее ценные вклады во время эксперимента на выживание узкие и связаны с доказательствами:

  • реальный блокер оценщика D1;

  • случай семантического диффа, который в настоящее время вводит в заблуждение или молча теряется;

  • корректность детерминированной нормализации;

  • обслуживание безопасности/релизов для поведения, которое пакет всё ещё поставляет;

  • отрицательные доказательства, показывающие, что более простая альтернатива побеждает.

Пожалуйста, не добавляйте адаптер фреймворка, политику маршрутизации, бэкенд хранения, фазу времени выполнения или интеграцию экосистемы только ради полноты.

См. CONTRIBUTING.md и AGENTS.md для инженерных соглашений репозитория.

Безопасность

См. SECURITY.md для руководства по поддерживаемым версиям и сообщению об уязвимостях. Не включайте учётные данные, данные клиентов, проприетарные схемы или приватные подсказки в публичные отчёты о принятии/оценке.

Документация

Лицензия

Apache-2.0. См. 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.
    -