botruntime
Основы платформы

Проект бота

Структура TypeScript-проекта, сборка, dev target и версии deploy.

Бот в botruntime — TypeScript-проект. Код, схемы и тесты хранятся в вашем репозитории. Платформа получает собранный бандл и исполняет его в runtime.

Структура

support-bot/
├── agent.config.ts
├── package.json
└── src/
    ├── conversations/
    ├── tools/
    ├── actions/
    ├── workflows/
    ├── tables/
    └── knowledge/

Обязательны agent.config.ts и хотя бы один runtime-примитив. Каталоги внутри src/ добавляются по мере необходимости.

Конфигурация

agent.config.ts
import { defineConfig } from '@holocronlab/botruntime-runtime'

export default defineConfig({
  name: 'support-bot',
  description: 'Помощник службы поддержки',
})

Конфигурация объявляет состояние, события, модели, deploy-настройки и секреты. Не помещайте в неё токены и значения конкретного окружения.

Примитивы

ПримитивНазначение
ConversationОбрабатывает сообщение или событие.
Autonomous.ToolДаёт модели типизированную функцию.
ActionОписывает переиспользуемую операцию.
TriggerРеагирует на именованное событие.
WorkflowВыполняет долгий возобновляемый процесс.
TableХранит структурированные строки.
KnowledgeПодключает источники для семантического поиска.

Каждый примитив экспортируется из файла внутри src/. Рантайм обнаруживает их при проверке и сборке.

Локальная проверка

brt check

Команда загружает конфигурацию, находит примитивы и проверяет схемы. Она не требует токена и не обращается к платформе.

Dev target

brt dev

Dev target — отдельный бот со своими настройками, секретами и интеграциями. События направляются к локальному процессу через tunnel. Изменение исходников запускает повторную сборку.

Файлы .adk/, .brt/ и agent.local.json содержат локальное или сгенерированное состояние. Не коммитьте их.

Production deploy

brt deploy --adk --name "support-bot"

Первый deploy создаёт production target и сохраняет привязку в agent.json. Следующие deploy обновляют тот же бот.

Перед сборкой CLI сверяет состояние интеграций и плагинов выбранного target с платформой. После изменения production-зависимостей выполните deploy повторно, чтобы новый бандл содержал актуальный snapshot.

Версии

Каждый успешный deploy создаёт версию бандла. Версия хранит hash содержимого и время создания. Runtime запускает выбранную активную версию.

Не используйте --noBuild для обычного deploy. Этот режим предназначен для повторной загрузки уже проверенного артефакта и требует совпадения provenance.

Точные вычисления

Цены, сроки, квоты и права доступа вычисляйте кодом инструментов, действий и шагов. Модель может объяснить результат, но не должна пересчитывать его.

Дальше

On this page