contextweaver
contextweaver
Зафиксируйте эффективную поверхность возможностей агента, сохраните её и увидьте семантически значимые изменения перед развёртыванием.
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 contextweaverPython 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 для руководства по поддерживаемым версиям и сообщению об уязвимостях. Не включайте учётные данные, данные клиентов, проприетарные схемы или приватные подсказки в публичные отчёты о принятии/оценке.
Документация
Руководство Daily Driver — исторические/пользователи времени выполнения
Поваренная книга — более широкие поставляемые поверхности
Лицензия
Apache-2.0. См. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Find, vet, and run MCP tools through a secure audited gateway with prompt-injection risk scoring
The OpenRouter for tools. One MCP connection gives any AI agent 254 hosted tools, pay per call.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA 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 npm16MIT
- AlicenseNot gradedqualityCmaintenanceAggregates 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 npm22MIT
- FlicenseNot gradedqualityDmaintenanceA 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.-
- FlicenseNot gradedqualityCmaintenanceMCP 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.-