KnowledgeBase
KnowledgeBase это оркестратор. Наружу он отдаёт MCP для EVA, внутрь ходит в Paleograph и Hippocampus по REST через коннекторы. Сами файлы после обработки он удаляет: оригиналы живут в системах-источниках. Порт 8900: страница статуса, здоровье, синхронизация, ссылки на скачивание и MCP /mcp.
Confluence, SMB, папка
Коннектор отдаёт список документов
Скачивание
Новые и изменённые файлы
Извлечение
Файл в Markdown
Индекс
Фрагменты и метаданные
Ответ
Поиск и скачивание оригинала
Инструменты MCP
| Инструмент | Что делает |
|---|---|
search_documents | Карточки документов: идентификатор, формат, метаданные, источник |
search_info | Фрагменты текста по вопросу |
explore_meta | Значения поля метаданных, например список проектов |
download_documents | Временная ссылка на оригинал из системы-источника |
list_eva_tenants | Список тенантов. Скрыт от модели, нужен EVA для настройки |
Тенант передаётся только при подключении: заголовок X-Eva-Tenant-Id или X-Eva-Tenant-Ids для HTTP, переменная EVA_TENANT_ID или EVA_TENANT_IDS для stdio. В аргументах инструментов тенанта нет, поэтому модель не может заглянуть в чужие документы. Какие группы пользователей видят какой тенант, настраивается в EVA: MCP-источники.
Синхронизация
Синхронизация идёт по таймеру. Источники обходятся по очереди, каждый тик проходит четыре стадии:
| Стадия | Что происходит |
|---|---|
| Карта | Коннектор отдаёт снимок документов. Уже проиндексированные с той же версией не трогаются |
| Скачивание | Новые, изменённые и упавшие ранее документы скачиваются во временную папку |
| Обработка | От маленьких файлов к большим: извлечение в Markdown, затем индексация |
| Отложенные | Документы, которые Paleograph не успел разобрать, ждут повтора или окончательной ошибки |
Правила, которые держат индекс в порядке:
- Если коннектор не смог получить полный список, удаления из индекса в этом тике не будет.
- Один плохой файл не останавливает обход.
- Документ с той же версией повторно не индексируется.
- Изменились настройки извлечения в Paleograph, переиндексируются только документы затронутых форматов.
- Вложения и картинки статьи индексируются вместе с ней, разделами «Вложение» в тексте документа.
Настройки
settings.toml и .secrets.toml, переопределение переменными с префиксом KNOWLEDGE_.
| Ключ | Смысл |
|---|---|
AUTO_SYNC_ENABLED | Включить синхронизацию по таймеру |
AUTO_SYNC_INTERVAL_SECONDS | Интервал между тиками |
EXTRACT_SOFT_TIMEOUT_SECONDS | После него документ уходит в отложенные |
EXTRACT_HARD_TIMEOUT_SECONDS, EXTRACT_MAX_ATTEMPTS | После них документ считается упавшим |
EPHEMERAL_DOWNLOAD_TTL_SECONDS | Время жизни ссылок на оригиналы |
PUBLIC_BASE_URL | Адрес ссылок, если EVA не прислала X-Public-Base-Url |
DEF_TENANT_ID | Тенант по умолчанию |
Секреты коннекторов, например токен Confluence, хранятся в .secrets.toml или в переменных окружения.
Коннекторы
Источники, извлечение и индекс подключаются коннекторами. Каждый экземпляр описывается блоком в конфиге, второй Confluence или вторая сетевая папка добавляются без правок кода.
Страница статуса
http://<хост>:8900/ показывает коннекторы и статистику синхронизации: сколько документов проиндексировано, в каком статусе остальные и как прошли последние тики. Редактировать коннекторы со страницы нельзя.