Концепции
ASK AI
Встроенный ИИ-ассистент — подключите свою модель и спрашивайте рабочее пространство на обычном языке
ASK AI — чат, встроенный в дашборд (вкладка AI), который отвечает на вопросы о вашем рабочем пространстве — прогонах, тестах, машинах и метриках — и отрисовывает ответы как живые компоненты дашборда: таблицы, графики, stat-карточки и кнопки действий.

Архитектура
- Своя модель. Владелец рабочего пространства или админ настраивает LLM-endpoint в Settings → AI provider. Поддерживаются оба формата: OpenAI-совместимый (
/chat/completions) и Anthropic-совместимый (Messages API). perfscale не запускает и не проксирует собственную LLM. - Зашифрованные креды. API-ключ провайдера зашифрован at rest алгоритмом AES-256-GCM и никогда не возвращается ни одним API — видны только последние 4 символа.
- Ваш токен, ваши данные. Ассистент получает данные рабочего пространства через тот же REST API, что и дашборд, с access-токеном спрашивающего пользователя. RBAC и изоляция тенантов работают без изменений.
- MCP-инструменты. Инструменты модели — тот же составной MCP-сервер, что стоит за
@perfscale/controlplane-mcp: чтение (прогоны, тесты, машины, метрики) плюс запись —write_test,write_config,run_test— всё ограничено вашими RBAC-правами, поэтому ассистент может только то, что можете вы. - Ваши MCP-серверы. Админы могут подключить внешние MCP-серверы (Grafana, внутренние инструменты) в Settings → AI → MCP Servers; их инструменты появляются в чате у каждого участника с префиксом имени сервера. Секреты в заголовках зашифрованы at rest.
Генеративный UI
Ответы собираются из фиксированного словаря компонентов — таблицы, линейные графики, stat-карточки, callout'ы — плюс run actions: кнопки, которые открывают страницу прогона, переходят на дашборд метрик или скачивают лог-файл прогона. Модель передаёт только данные и ID прогона; все URL строит дашборд.
По запросу ASK AI может собрать и полный отчёт по прогону — статус, ключевые метрики и графики задержки в одном документе, который скачивается как PDF.

Треды
Диалоги сохраняются per-user. У каждого треда стабильный URL:
/admin/ai/chat/<thread-id>
Сохранённая история чатов расходует квоту хранилища рабочего пространства.
Лимиты тарифов
ASK AI доступен на каждом тарифе. Месячные вызовы data-инструментов рабочего пространства тарифицируются:
| Тариф | Вызовов инструментов / мес |
|---|---|
| Starter | 100 |
| Growing | 1 000 |
| Enterprise | без ограничений |
Когда бюджет исчерпан, чат возвращает понятную ошибку; счётчик сбрасывается каждый календарный месяц.
API
| Endpoint | Авторизация | Назначение |
|---|---|---|
GET /api/v1/ai/status | user | Настроен ли провайдер (управляет видимостью в навигации) |
GET/PUT/DELETE /api/v1/ai/settings | admin+ | Конфигурация провайдера (ключ write-only) |
GET /api/v1/ai/usage | user | Использование вызовов инструментов за текущий месяц и лимит |
GET/POST/PUT/DELETE /api/v1/ai/threads* | user | CRUD тредов и сообщений (per-user) |