AI Council — self-hosted платформа для команды разработчиков. Она сама разбирает репозитории в граф кода: стек, структуру, зависимости и циклы, вызовы, данные, архитектуру, DDD, паттерны, стиль, смеллы и качество по ISO 25010. Над графом лежит база знаний проекта — решения, заметки, диаграммы и журналы изменений; каждая запись привязана к месту в коде и к ветке и приходит агенту, когда он трогает нужный файл. Отдельно живут конвенции: правила трёх областей — к сущностям кода, к путям и ко всему проекту — с уровнями MUST/SHOULD, состояниями и проверкой перед правкой и по диффу. Вокруг этого собраны ревью с публикацией в MR, тикеты, задачи и компании с ролями и лицензией. Статический анализ кода модель не использует, но без модели остаётся только он: ревью, ревью знаний, AI-чат и рабочие пространства идут через хостовый воркер, бридж и вендорский CLI/OAuth. Модель живёт на хосте, а не в стеке Council.
Работать с Council можно двумя способами. На машине разработчика Claude Code подключается к нему через MCP и хуки: правила проекта приходят к каждому сообщению, контекст файла — на Read/Edit/Bash, а в конце — чек-лист. В рабочем пространстве задача идёт на VM в изолированном sysbox-контейнере, живёт днями и ведётся человеком из веб-интерфейса: от анализа и диффа до коммита, push и MR.
TeaRAGs — локальный MCP-сервер «Codebase Intelligence» для AI-агентов. Он индексирует репозиторий на машине пользователя и отвечает не «похожими строками», а досье на код по пяти слоям: что делает (семантика и гибридный поиск по AST-чанкам в Qdrant), как связано (граф вызовов и импортов в DuckDB), как жило (git-траектория: churn, bug-fix rate, ownership, возраст), правильно ли разложено (архитектурные детекторы: стабильные зависимости, утечки через фасады, молчаливая связанность, shotgun surgery, main sequence) и как проект называет вещи (лексикон имён и вердикты на новые имена). Есть review_changes — ревью диффа по пяти секциям, фоновый auto-update, working-tree delta и плагин Claude Code с навыками и правилами. Лицензия MIT.
Это самый близкий к Council по функциям проект из сравнённых: он тоже строит граф, читает git-историю, судит архитектуру и ревьюит изменение. Но он локальный и не держит базу знаний, конвенции, ревью-сервис с публикацией в MR, задачи и команду.
| AI Council | TeaRAGs | |
|---|---|---|
| Кто строит | Council сам: разбирает репозитории и строит граф. Модель при анализе не вызывается | Локальный сервер: AST-чанки + эмбеддинги в Qdrant, граф вызовов/импортов в DuckDB, git-траектория, архитектурные детекторы, лексикон. Модель — только для остаточного резолвинга вызовов (Kev), опционально |
| Когда | При создании проекта, при push в main (опрос), по кнопке, ночью; после правки файла агентом пересчитываются файл и зависимые | При index_codebase; дальше инкремент по Merkle/mtime, фоновый auto-update (opt-in) и чтение working tree по базовому индексу + дельте |
| Что извлекает | Слои L0–L10: стек, структура, зависимости и циклы, метрики и вызовы, данные (ORM, DDL), архитектура и запрещённые зависимости, паттерны, стиль, DDD, связь файлов по правкам, смеллы, качество ISO 25010, диаграммы | Пять слоёв: семантический индекс, codegraph (вызовы, импорты, иерархия, PageRank, циклы, fan-in/out), git-траектория (churn, bug-fix, ownership, возраст), архитектура (SDP, утечки фасадов, silent coupling, split/merge, shotgun surgery, main sequence, hub-like, layering, propagation cost, norms, restructure what-if), лексикон имён |
| Чего нет | — | DDD bounded contexts, паттернов проектирования, стиля кода, ISO 25010 и SonarQube; вместо «смеллов» — архитектурные детекторы и лексикон |
| Языки | Python, PHP, TypeScript, JavaScript, Java, Kotlin, C#, C, C++ — с полным разбором слоёв | Десять вертикалей: TypeScript, JavaScript, Python, Ruby, Go, Java, Rust, Swift, Bash, Markdown; не все с полным codegraph-резолвингом |
| Несколько репозиториев | Проект из нескольких репозиториев с общим графом | Реестр проектов (~/.tea-rags/registry.json), коллекция на проект; общего графа между репозиториями нет |
| Внешние анализаторы | SonarQube: забирает найденное; свой сканер (текстовые языки, JVM, .NET, .NET Framework на Windows) | — |
| История | Рёбра версионируются после каждого прогона; architecture_as_of — архитектура на дату | Git-траектория (окна истории, переименования, blame, сессии, якорь времени) и temporal co-change (bundles, bursts, значимость, shotgun surgery). Истории архитектуры по срезам нет |
| Поиск | Поиск по смыслу и regex, find_usages, find_path, граф зависимостей, похожие реализации; ask_question — выдержки из базы без пересказа моделью | Гибридный поиск dense + BM25 с RRF, реранкер с пресетами, SearchConfidence, стратегии vector/hybrid/scroll-rank/similar/symbol/outline; графовые инструменты get_callers, get_callees, find_cycles, trace_path |
| AI Council | TeaRAGs | |
|---|---|---|
| База знаний | Решения, заметки, диаграммы Mermaid, журналы изменений. Каждая запись привязана к коду и приходит агенту, когда он трогает нужный файл | Отдельной базы знаний о решениях и причинах нет. Есть производные знания: архитектурный отчёт, лексикон имён, git-траектория, ревью диффа. Это знание о коде, а не о договорённостях команды |
| Актуальность | Запись держит место в коде на своей ветке и уходит на перепроверку, когда меняется код под ней, сама запись, появляется похожая или ветку сливают. Ревьюер обязан привести цитату; итог — пометка | Drift-мониторы сравнивают индекс, схему payload, окружение, версии языков и траекторий, контракт статистики; устаревание знаний о коде ловится пересборкой индекса, а не проверкой записи |
| Ветки | Знания и граф хранятся по веткам; агент видит свою ветку, родителя и слитое; при слиянии запись переезжает | Проект привязан к пути и реестровой записи; рабочее дерево читается поверх базового коммита. Знаний по веткам и слияния знаний нет |
| Правила | Конвенции трёх областей: к сущностям кода, к путям (действуют и на ещё не созданный файл), ко всему проекту. MUST/SHOULD, состояния «черновик», «отставлено», «удалено». Проверка перед правкой и по диффу | Правила выводятся из кода: лексикон имён и role-pair norms (устоявшиеся направления зависимостей) дают вердикты CONFORMS / MISFIT / NEW_TERM / COLLISION. Это наблюдённые нормы, а не авторитетные MUST/SHOULD; редактировать их как правило нельзя. Плюс правила «как пользоваться TeaRAGs» в плагине |
| Как доходит до агента | Хуки Claude Code: правила проекта к каждому сообщению, широкий канал перед действием, контекст файла на Read/Edit/Bash, чек-лист в конце; гейт «сначала база» | Четыре слоя: prime на старте сессии (состояние индекса, drift, пороги), схемы инструментов, MCP-ресурсы со справочником и search cascade в правилах плагина. Всё — про то, как пользоваться TeaRAGs; знаний по файлу и гейта «сначала база» нет |
| MCP | Сервер: 61 инструмент, профили, режимы, XML с бюджетом | Сервер: 28 инструментов и 9 ресурсов: поиск, индексация, codegraph, review_changes, коллекции/документы, реестр проектов. Схемы строятся из живого реестра пресетов/сигналов |
| Перенос | Экспорт и импорт знаний пакетом, копирование между проектами | Реестр проектов и индексы в Qdrant/DuckDB; переноса знаний как пакета нет |
| AI Council | TeaRAGs | |
|---|---|---|
| Требования | Трассировка тестов к требованиям по меткам: покрытие и разрывы; «без теста» — тристейт, а не requirements-менеджмент | — |
| Тикеты | Jira, GitHub Issues, Redmine: чтение, разбор в знания, совет по тикету из графа | — |
| Работа на своей машине | Агент — Claude Code разработчика; Council подаёт контекст и правила через MCP и хуки; ревью локального диффа, разбор диффа, проверка диффа на правила | Это основной режим: MCP-сервер для Claude Code и других агентов; плагин Claude Code с навыками (explore, architecture-diagnostics, bug-hunt, mr-review, risk-assessment и др.), командами и правилами |
| Рабочее пространство | Задачи на VM в sysbox-контейнере, живут днями; человек ведёт из чата; наставник; дифф → коммит → push → MR | Задач и рабочего пространства нет: только локальный анализ и ревью |
| PR | Ревью с публикацией в MR (GitHub, GitLab, Bitbucket) | review_changes — гейт перед коммитом в самом репозитории TeaRAGs; публикации в MR нет |
| Процесс | Машина состояний задачи: создана → анализ → в работе → MR → закрыта; содержимое шага задаёт человек | Процесса задачи нет. Есть DDG-гейт перед коммитом (introduced=0, partial=false) и навыки плагина |
| AI Council | TeaRAGs | |
|---|---|---|
| Code review | Отдельный сервис: смотрит изменившееся, вердикт по каждому файлу, второй проход, публикация в MR без дублей; ревью знаний отдельно | review_changes — один вызов с пятью секциями: naming, incompleteChange, cohesion, architecture, norms. Детекторы судят только введённые рёбра и находки; preExisting отделён; remedy предлагает дешёвый ремонт; пустая секция честно говорит, что не прочитана. Публикации в MR нет |
| Модели | Модель обязательна: на хосте два процесса через OAuth вендора: AI-чат и шесть фоновых задач (ревью, ревью знаний, разбор тикетов и др.). Без модели остаётся только статический анализ кода. | Эмбеддинги: Ollama по умолчанию (ключ не нужен), плюс OpenAI, Cohere, Voyage, ONNX, llama-server. Остаточный резолвинг — опциональный Kev (модель). Ревью — детерминированные детекторы и граф, без LLM |
| Агенты | Claude Code (хуки, MCP); MCP доступен любому клиенту | MCP-сервер и плагин Claude Code; CLI tea-rags с 14 командами (call исполняет один инструмент в процессе) |
| Оценка | Телеметрия каждого вызова MCP и хука; повторный поиск агента — признак плохого первого ответа | SearchConfidence (score против собственной шкалы коллекции), get_index_metrics, get_index_status, drift-отчёты, бенчмарки эмбеддингов и evals/swe-bench-lite |
| Риски | SSRF, RBAC, изоляция задач, ревьюер знаний только на чтение | Локальный сервер без многопользовательской модели; ключи в env; Qdrant может быть внешним; рабочее дерево и git-история читаются локально; песочницы нет |
| AI Council | TeaRAGs | |
|---|---|---|
| Пользователи | Компании → участники → роли (можно на проект) → права. API-ключи компании. Данные разделены: запрос без компании отвергается. Лицензия и лимиты мест | Один пользователь, локально. Реестр проектов, но нет многопользовательской модели, ролей и лицензии |
| Интерфейс | Около 50 страниц: код, граф, ветки, качество, правила, ревью, знания, тикеты, задачи, MCP Live, администрирование, System Health | MCP-сервер (28 инструментов, 9 ресурсов), CLI tea-rags (14 команд), плагин Claude Code с навыками/командами/правилами, сайт Docusaurus; отдельного UI нет |
| Мониторинг | Телеметрия каждого вызова MCP и хука без PII; около 22 правил Prometheus с тестами; System Health, трассировка | prime-дайджест, drift-мониторы, get_index_metrics, get_index_status, логи ~/.tea-rags/logs; Prometheus и System Health нет |
| Самовосстановление | Сверка Temporal с базой, уборка осиротевших данных, удаление проекта пачками, ночной бэкап и проверка восстановления, ретенция телеметрии | Versioned collections _vN + атомарный alias, build lease, чекпоинты, карантин, scoped force с персистентной stale-меткой, drift-решётка ремонта, auto-update watcher, working-tree delta. Бэкапа и проверки восстановления нет |
| Хранилище | Neo4j, Qdrant, PostgreSQL по сервисам, Temporal, NATS, Redis | Qdrant (points с dense/sparse векторами и payload) + DuckDB (codegraph) + ~/.tea-rags (реестр, снапшоты, stats, карантин, логи, модели) |
| Изоляция | Sysbox-контейнер на задачу, одноразовые учётные данные для push, ревьюер знаний только на чтение, проверка прав в одном шлюзе, защита от SSRF | Локальный процесс; песочницы нет, ключи в env, Qdrant может быть внешним; многопользовательской изоляции нет |
| Поставка | Дистрибутив для self-hosted установки или SaaS; на машине разработчика — MCP и хуки | npm tea-rags, Node ≥ 22 < 26; плагин Claude Code; MIT; отдельного серверного развёртывания нет |
| Лицензия | Закрытая | MIT |
TeaRAGs — самый близкий к Council по функциям из сравнённых проектов. Он тоже строит граф, читает git-историю, судит архитектуру, проверяет имена и ревьюит изменение. Но он локальный и не держит то, что Council держит над графом: базу знаний о решениях, авторитетные конвенции, ревью-сервис с публикацией в MR, задачи на VM и команду с правами.
Где сильнее TeaRAGs:
restructure; у Council есть метрики Мартина (instability, abstractness, distance from main sequence), детекторы циклов, нарушений слоёв, god/hub-компонентов и scattered_functionality по co-change, но не эти конкретные детекторы и не пересчёт метрик на виртуальном графе;review_changes: дифф-скоупные детекторы, preExisting, remedy, гейт introduced=0, partial=false;SearchConfidence, пресеты и реранкер;tea-rags://schema/*), prime с живым состоянием индекса на старте сессии и search cascade как политика выбора инструмента; у Council 61 инструмент и шире охват, а MCP-ресурсов и отдельного prime-дайджеста нет — справочник живёт в схемах инструментов, skill и хуках, а выбор «сначала база, потом код» enforced гейтом;Где сильнее Council:
review_changes TeaRAGs — детерминированный предкоммитный гейт в одном репозитории, без MR и без знаний.architecture_as_of и версионирование рёбер; TeaRAGs сильнее в отдельных архитектурных детекторах (SDP, silent coupling, shotgun surgery, norms, what-if), но не в этих слоях.ask_question отдаёт выдержки с FQN, а не пересказ моделью. TeaRAGs держит реестр проектов и коллекцию на проект, общего графа между репозиториями нет.get_index_metrics, но не per-call наблюдаемость и не самовосстановление платформы.Могут ли работать вместе. Да, и это разные слои. TeaRAGs даёт локальное досье на код и детерминированный предкоммитный гейт; Council — знания, правила, ревью с моделью и публикацией в MR, задачи и команду. Оба — MCP-серверы, один агент может подключить оба. Пересечение — архитектура и ревью: TeaRAGs судит введённые рёбра и имена детерминированно, Council ревьюит изменение моделью и публикует находки. Разумная связка: TeaRAGs — быстрый предфильтр перед коммитом, Council — глубокое ревью и знания. Автоматической интеграции нет.
На живом демо покажем работу платформы на реальном проекте, а не шаблонную презентацию.