Проект бота
Структура 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/ добавляются по мере необходимости.
Конфигурация
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 devDev 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.
Точные вычисления
Цены, сроки, квоты и права доступа вычисляйте кодом инструментов, действий и шагов. Модель может объяснить результат, но не должна пересчитывать его.