CodeNib

by sysevol-ai (open source) · Claude Desktop, Claude Code, OpenCode, macOS, Linux, Python 3.10+

MCP MCP Servers Open Source v0.2.2 · 21.08.2026 активный

Мультиракурсная система данных для подачи контекста репозитория coding-агентам.

v0.2.2
21.08.2026 current

Установка
# Требуется Python 3.10+ и Git
python -m pip install "codenib[graph,mcp]"
codenib codegraph init /path/to/repository
показать оригинал переведено ИИ

CodeNib

Поисковые вики по кодовой базе и контекст для агентов программирования

Укажите его на любой репозиторий, получите поисковую вики и MCP-сервер для вашего агента программирования.

arXiv 2607.25431 Hugging Face: #2 статья дня

Быстрый старт  ·  Веб-сайт  ·  Discord  ·  Документация  ·  Новости  ·  CodeGraph  ·  MCP  ·  Интеграции с агентами  ·  Языки

CI Версия PyPI Поддерживается Claude Code Поддерживается Codex Лицензия: Apache 2.0 Python 3.10+

python -m pip install "codenib[graph,mcp]"
codenib codegraph init /path/to/your/repo

Эта одна команда определяет языки репозитория, устанавливает закреплённые провайдеры графов на уровне пакетов, которыми она может управлять, строит BM25 и связанный с исходным кодом граф символов, и регистрирует полученный MCP-сервер в установленных клиентах Codex и Claude Code. Она работает локально, имеет открытый исходный код, не требует модели или облака и не записывает конфигурацию или индексы в целевой репозиторий.

Архитектура системы

Слой Ответственность
Компилятор представлений Разбивает исходный код на фрагменты и материализует представления BM25, плотные, графовые и навигационные; повторно использует текущие артефакты и атомарно перестраивает затронутые представления
Манифест представлений Записывает идентичность репозитория, отпечаток исходного кода, профиль сборщика, возможности, статус и местоположение артефактов независимо для каждого представления
Обслуживание контекста Выполняет лексические, семантические, гибридные, реранжированные и структурные планы запросов, сохраняя относительные пути к исходным файлам
Среда выполнения агента Предоставляет инструменты в форме MCP и LSP с учётом возможностей, собирает ограниченные доказательства и возвращает цитаты, которые могут проверить агенты и люди
repository change
  -> reuse current views or rebuild affected views
  -> publish a capability-bearing manifest
  -> plan repository queries
  -> deliver bounded, source-linked context

При последующем коммите CodeNib повторно использует представления, чьи исходные данные и идентичность сборщика остаются актуальными. Запрошенное представление, затронутое изменениями исходного кода или политики, в настоящее время перестраивается в изолированном поколении; восстановление дельты на уровне файлов и символов остаётся отключённым, пока не сможет использовать тот же закреплённый источник авторитетности.

Быстрый старт

Требуется Python 3.10+ и Git. Для готового к использованию агентом CodeGraph без модели или API-ключа установите дополнительные пакеты graph и MCP и выполните одну команду:

python -m pip install "codenib[graph,mcp]"
codenib codegraph init /path/to/repository

codegraph init обнаруживает Codex и Claude Code, устанавливает только управляемые пакетами провайдеры для обнаруженных языков, строит повторно используемые представления bm25 и symbol_graph и просит каждый собственный CLI-клиент владеть своей конфигурацией. Выполните codenib codegraph status /path/to/repository, чтобы диагностировать полную путь или codenib codegraph uninstall /path/to/repository для удаления только управляемых регистраций клиентов. Индекс остается пригодным для повторного использования.

Репозитории могут сохранять точные исключения поддеревьев относительно корня, когда сгенерированное или поставляемое содержимое не должно индексироваться:

codenib codegraph init /path/to/repository \
  --exclude-dir ios/Pods \
  --exclude-dir generated/api

Пути используют написание POSIX относительно репозитория (/) и указывают точные поддеревья, а не шаблоны. Повторите --exclude-dir, чтобы заменить полный набор пользовательских исключений. Последующие запуски init и index повторно используют эту политику из манифеста; используйте --clear-exclude-dirs, чтобы вернуться к поверхности исходного кода по умолчанию. CodeNib не рассматривает .gitignore как политику индексации, поскольку отслеживаемые и локально игнорируемые исходники могут быть намеренным входом.

Zoekt поддерживает политику исходного кода по умолчанию только тогда, когда его фиксированное дерево коммитов точно соответствует аутентифицированному рабочему каталогу и не содержит отслеживаемых путей, исключаемых политикой по умолчанию. В настоящее время он не поддерживает непустой набор пользовательских исключений. Команда, явно запрашивающая представление zoekt, включая --preset full, завершается с ошибкой, если какое-либо из условий не выполнено; вместо этого используйте CodeGraph, fast или семантические пути. Аутентифицированное обслуживание MCP для Zoekt в настоящее время требует Linux /proc; см. границы поверхности исходного кода.

Для браузерной Wiki с гибридным поиском BM25+плотный, установите семантическое дополнение:

python -m pip install "codenib[semantic]"
codenib wiki /path/to/repository

Оба пути сохраняют повторно используемое состояние в ~/.codenib/repositories и оставляют целевой рабочий каталог без изменений. Установите CODENIB_HOME, чтобы переместить состояние.

Предварительный просмотр операций CodeGraph без установки, индексации или настройки агента:

codenib codegraph init /path/to/repository --dry-run

Для структурного представления CodeNib определяет языки репозитория и управляет только их провайдерами на уровне пакетов; системные и проектные предварительные требования остаются явными:

python -m pip install "codenib[graph]"
codenib toolchain install /path/to/repository --scope graph
codenib doctor /path/to/repository --require graph

Экспортируйте этот индексированный коммит как бессерверную Wiki, когда не требуется живой бэкенд Ask:

codenib export /path/to/repository --output /tmp/repository-wiki

Экспорт содержит версионированный манифест происхождения, предварительно вычисленные страницы Wiki, цитаты из исходного кода и доступные данные о зависимостях на уровне страниц. Он не содержит учетных данных провайдера; интерактивный Ask и исследование графа в реальном времени остаются на локальном пути или пути обслуживания MCP.

Для Wiki, размещенной в репозитории, CodeNib также поставляет переиспользуемый GitHub workflow, который собирает или повторно использует тот же манифест, развертывает статический сайт на Pages и загружает соответствующий артефакт контекста, адресованный коммитом. Его маршрут по умолчанию semantic строит представления BM25 и векторные представления с кэшированной локальной моделью Hugging Face и не требует ключа API. Явный маршрут fast избегает загрузки модели; собственная конечная точка, совместимая с OpenAI, может заменить локальное встраивание. Поиск во время запроса остается в локальной среде или среде MCP. См. GitHub Pages. Опубликованный артефакт BM25/векторный затем можно проверить на точном локальном рабочем каталоге и обслуживать через MCP без пересборки представлений репозитория.

См. Краткое руководство по портам, расширенной индексации и устранению неполадок.

CodeNib Wiki, показывающая руководство по обратному прокси для Caddy со ссылками на исходный код

Обслуживание агента

Рекомендуемый путь настраивает установленные клиенты Codex и Claude Code через их собственные CLI:

python -m pip install "codenib[graph,mcp]"
codenib codegraph init /path/to/repository

Попросите агента начать с explore_context для ограниченного, проверенного по исходному коду контекста репозитория и использовать dependency_subgraph для влияния вызывающего или зависимостей вызываемого. Сервер MCP также предоставляет инструменты ранжированного BM25, регулярных выражений, определений, ссылок, маршрутов и ограниченного чтения исходного кода. См. руководство по CodeGraph для областей клиента, диагностики, поведения при удалении и языковых требований, а также MCP Server для полного контракта инструментов.

Тот же планировщик доступен напрямую Python-агентам:

from codenib.agent import RepositoryContextExplorer

with RepositoryContextExplorer.from_repository(
    "/path/to/repository", policy="auto"
) as explorer:
    result = explorer.explore("where is request retry behavior implemented?", top_k=10)

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

Что предоставляет CodeNib

Поверхность Назначение
Компилятор представлений Создает независимо управляемые представления, повторно использует текущие поколения и атомарно перестраивает измененные представления в рамках одной идентичности исходного кода
Среда выполнения контекста агента Планирует поиск и навигацию с учетом возможностей, затем собирает ограниченные доказательства, связанные с исходным кодом
Поиск BM25, плотные векторы, regex/trigram, Zoekt, слияние и реранжирование; см. матрицу проверенных моделей
Структурный контекст Символьные графы на основе SCIP/LSP с исходными позициями и типизированными рёбрами
Инструменты в формате MCP и LSP Предоставьте один манифест агентам кодирования, не привязывая среду выполнения к конкретному фреймворку агентов
Совместимость с агентами Используйте один манифест для контрактов с фиксированными версиями LocAgent, Agentless, CoSIL и OrcaLoca, а также опубликованный контракт RepoNavigator jump на основе сигналов определений SCIP/LSP; см. матрицу поддержки
Совместимость с бенчмарками Оценивайте нативное исследование на фиксированных внешних наборах данных и скоринговых системах, включая SWE-Explore; см. матрицу наборов данных и бенчмарков
Локальная проверка Аудируйте тот же контекст через страницы Wiki, ответы Ask, цитаты и карту зависимостей
Оценочная инфраструктура Измеряйте поиск, навигацию, инкрементальное сопровождение и политики контекста на одних и тех же артефактах

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

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

Соберите сайт документации локально с помощью:

python -m pip install -e ".[dev]"
mkdocs serve

Разработка

git clone https://github.com/sysevol-ai/CodeNib.git
cd CodeNib
make dev
make test

Тестовый набор разделён на уровни: модульные, интеграционные, последовательные интеграционные, ядро, потребитель графа и медленные. См. CI/CD перед запуском уровней, зависящих от учётных данных или инструментария.

Статус

CodeNib в настоящее время находится в бета-версии. CLI и формат манифеста пригодны для использования, но публичные интерфейсы могут измениться до стабильного релиза. Исторические исследовательские артефакты сохраняют свои опубликованные идентификаторы наборов данных; поддерживаемый пакет, пространство имён импорта, команды и репозиторий используют CodeNib. См. Наименование.

Цитирование

Если вы используете CodeNib в своих исследованиях, пожалуйста, цитируйте нашу статью на arXiv:

@misc{yu2026codenibmultiviewdataserving,
      title={CodeNib: A Multi-View Data System for Serving Repository Context to Coding Agents},
      author={Zhongming Yu and Hengjia Yu and Boqin Yuan and Shuting Zhao and Yizhao Chen and Aryan Dokania and Mihir Jagtap and Jiayu Chang and Yitong Ma and Yash Jayswal and Wentao Ni and Hejia Zhang and Zhaoling Chen and Gangda Deng and Jishen Zhao},
      year={2026},
      eprint={2607.25431},
      archivePrefix={arXiv},
      primaryClass={cs.SE},
      url={https://arxiv.org/abs/2607.25431},
}

Проект

Веб-сайт  ·  Релизы  ·  Журнал изменений  ·  Вклад

Лицензия

CodeNib распространяется под лицензией Apache, версия 2.0.

Войдите, чтобы оставить комментарий