Skip to content

Модель данных ​

Список таблиц базы данных с назначением каждой и основные связи между ними.

Общее ​

База одна, PostgreSQL. Схема описана средствами Drizzle ORM, миграции хранятся отдельными файлами SQL.

Идентификаторы почти везде это текстовые cuid2. Исключение составляют три таблицы настроек: в каждой из них всегда одна строка с идентификатором default.

Пользователи и доступ ​

ТаблицаНазначение
rolesРоли. Код роли уникален, признак системной роли защищает две встроенные роли от удаления
role_permissionsПрава роли: сочетание роли, действия и объекта
user_groupsГруппы доступа. Одна из групп всегда помечена как группа по умолчанию
usersУчётная запись: логин, хеш пароля, имя и фамилия, аватар, роль, группа, состояние
auth_sessionsСессии входа: хеш токена, срок истечения, признак отзыва
api_keysКлючи API: владелец, видимая часть ключа, хеш, признак отзыва, время последнего использования
api_key_mcp_sourcesКакие серверы MCP разрешены конкретному ключу

Модели и инструменты ​

ТаблицаНазначение
providersПровайдер: название, базовый адрес, зашифрованный ключ, признак включения
modelsМодель: внешний идентификатор, отображаемое имя, размер контекста, режим работы, настройки размышлений, признак включения
mcp_sourcesСервер MCP: транспорт, адрес или команда запуска, зашифрованный токен, флаги доступа, состояние проверки, результат проверки безопасности

Настройки поведения ИИ ​

ТаблицаНазначение
agentsАгент: дополнительные указания модели, значок, признак агента по умолчанию, запреты на инструменты
rulesПравила: база знаний в формате Markdown, доступная модели через инструменты чтения. Организована деревом
skillsНавыки: заготовки указаний в формате Markdown. Без владельца навык считается общим, с владельцем личным

Чаты ​

ТаблицаНазначение
agent_sessionsЧат: владелец, название, состояние, выбранная модель и агент, снимок заполненности контекста
chat_messagesСообщение: роль, текст, блоки для отображения, история действий модели, признак участия в контексте
runsОдин запуск обработки сообщения: состояние и текст ошибки
session_filesФайл чата: вид, имя, тип, размер, путь на диске, кто менял последним
queued_turnsОчередь сообщений, которые не смогли начаться сразу

Персональные данные ​

ТаблицаНазначение
pii_masking_settingsНастройки маскирования: включение, категории, ограничения
pii_aliasesСловарь замен по каждому чату. Исходное значение зашифровано, поиск по хешу
pii_masked_messagesКэш замаскированного вида сообщения

Внешние агенты ​

ТаблицаНазначение
managed_agentsРеестр внешних агентов: имя, адрес, зашифрованный токен, состояние, полученное от агента описание
managed_agent_event_cursorsПозиция чтения потока событий по каждому агенту
managed_agent_eventsНеизменяемый локальный журнал событий агента с обязательной пометкой о маскировании
managed_agent_commandsАудит посланных агенту команд с ключом идемпотентности
managed_agent_ui_manifestsКэш описания разделов, которые объявляет агент
managed_agent_ui_actionsАудит нажатий кнопок в объявленных агентом разделах
managed_agent_llm_bindingsКакая модель, служебная учётная запись и ключ выданы агенту
eva_attention_itemsСпорные случаи агента, требующие разбора человеком
managed_agent_attention_sync_statesПозиция и результат синхронизации спорных случаев
eva_attention_action_recordsАудит действий оператора над спорным случаем
eva_attention_audit_eventsОтдельный журнал событий разбора

Подробности на странице Внешние агенты.

Настройки и учёт ​

ТаблицаНазначение
capacity_policyЛимиты Рантайма. Всегда одна строка
platform_settingsОбщие настройки платформы: адреса для слоя S3, настройки ONLYOFFICE. Всегда одна строка
usage_ledger_entriesЖурнал расхода: одна запись на обращение к модели

Основные связи ​

  • Пользователь ссылается на роль и на группу. Удалить роль или группу, пока в ней есть пользователи, нельзя.
  • Сессии входа, ключи API, навыки и чаты удаляются вместе с пользователем.
  • Модели удаляются вместе с провайдером.
  • Сообщения, запуски, файлы, замены персональных данных, очередь и записи расхода удаляются вместе с чатом.
  • Если удалить модель или агента, чат сохраняется, но ссылка обнуляется.

Изменения, внесённые поддержкой внешних агентов ​

ИзменениеЗачем
У пользователей появилось поле вида учётной записиСлужебная учётная запись агента помечается как машинная: она авторизуется только по ключу и не входит по паролю
В журнале расхода ссылка на чат стала необязательнойОбращения агента к модели происходят вне любого чата
В журнале расхода появилась ссылка на агентаРасход относится на агента, а не на чат

Чего в модели нет ​

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

Документация платформы EVA