Skip to main content

AiAssistDto

@lowcode/api


Class: AiAssistDto

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:16

DTO для запроса AI-ассистента.

Этот класс описывает формат HTTP-запроса к эндпоинту POST /ai/assist. Он близок к типу AiAssistRequest из @lowcode/shared-types, но снабжён декораторами валидации (class-validator), чтобы его мог обрабатывать глобальный ValidationPipe NestJS.

Constructors

Constructor

new AiAssistDto(): AiAssistDto

Returns

AiAssistDto

Properties

appSchema

appSchema: AppSchema

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:30

Текущее приложение целиком в формате DSL.

Здесь передаётся полный AppSchema, с которым AI будет работать: страницы, компоненты, state, dataSources, eventHandlers.


hints?

optional hints: AiEditorContextHints

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:61

Подсказки о состоянии редактора (selection, фокус и т.п.).

Формат соответствует AiEditorContextHints из @lowcode/shared-types. Специальной валидации пока нет, объект просто прокидывается как есть в ai-orchestrator.


model

model: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:82

Имя/идентификатор модели, выбранной на стороне builder-web.

Конкретное значение зависит от провайдера (gpt-4.1, deepseek-r1, локальное имя модели и т.д.).


pageId?

optional pageId: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:50

Идентификатор страницы (опционально).

Помогает AI лучше понимать фокус задачи, если известно, на какой странице сейчас работает пользователь.


projectId?

optional projectId: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:40

Идентификатор проекта (опционально).

Можно использовать для логгирования или последующей привязки ответов AI к проекту.


prompt

prompt: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:21

Текстовый запрос пользователя (сообщение в AI-чате).


provider

provider: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:73

Тип провайдера моделей:

  • direct — прямой запрос к OpenAI-совместимому API;
  • aiTunnel — запрос через прокси/агрегатор вроде AI Tunnel;
  • local — запрос к локально развёрнутой модели.

Пока валидируется только как строка, более строгая проверка может быть добавлена позже.


requestId?

optional requestId: string

Defined in: apps/api/src/modules/ai/dto/ai-assist.dto.ts:92

Необязательный идентификатор запроса.

Может использоваться для трейсинга (сопоставления логов frontend / backend / провайдера).