Быстрый старт
Создайте TypeScript-бота, проверьте его в dev и задеплойте в production.
В этом руководстве вы создадите минимального бота и запустите его через отдельный dev target. Production изменится только после явного deploy.
Что понадобится
- Bun 1.3.14 или новее;
- аккаунт и воркспейс botruntime;
- токен Telegram-бота для проверки канала.
Для dev и production используйте разные Telegram Bot API tokens. Один токен может иметь только один активный webhook.
1. Установите CLI
bun add -g @holocronlab/brt
brt --helpПакет публикуется в npm. Доступ к GitHub Packages не требуется.
2. Войдите в платформу
brt login
brt profiles activebrt login откроет подтверждение в браузере и сохранит выбранный воркспейс в
~/.brt/profiles.json. Для CI передавайте PAT и workspace ID через секреты
системы сборки.
3. Создайте проект
mkdir support-bot
cd support-bot
brt init --type bot --template hello-world --name support-bot
brt checkbrt check загружает конфигурацию, находит примитивы и проверяет проект без
сетевых запросов.
Минимальная конфигурация выглядит так:
import { defineConfig } from '@holocronlab/botruntime-runtime'
export default defineConfig({
name: 'support-bot',
description: 'Помощник службы поддержки',
})Обработчик отвечает на сообщения из любого подключённого канала:
import { Conversation } from '@holocronlab/botruntime-runtime'
export default new Conversation({
channel: '*',
handler: async ({ execute }) => {
await execute({
instructions: 'Помогай пользователю проверить статус заказа.',
})
},
})Не коммитьте .adk/, .brt/, agent.local.json, .env и
node_modules/. Эти файлы содержат локальное или сгенерированное состояние.
4. Запустите dev target
brt devКоманда создаёт отдельного dev-бота, собирает проект и открывает tunnel к локальному процессу. Оставьте её запущенной.
5. Подключите Telegram к dev
Во втором терминале установите интеграцию для dev target:
printf '{"botToken":"%s"}' "$DEV_TELEGRAM_TOKEN" \
| brt integrations install botruntime/telegram@1.1.3 --config-stdin --devСкопируйте webhookId из ответа и зарегистрируйте webhook:
brt integrations register "$DEV_WEBHOOK_ID" --devНапишите боту в Telegram. Измените instructions, сохраните файл и отправьте
ещё одно сообщение. Dev-процесс пересоберёт проект.
6. Задеплойте в production
Создайте production target и загрузите проверенный код:
brt deploy --adk --name "support-bot"Подключите production-интеграцию без --dev и с отдельным токеном:
printf '{"botToken":"%s"}' "$PROD_TELEGRAM_TOKEN" \
| brt integrations install botruntime/telegram@1.1.3 --config-stdin
brt integrations register "$PROD_WEBHOOK_ID"После изменения production-зависимостей выполните deploy ещё раз. Команда зафиксирует точное состояние интеграций в новом бандле.
brt deploy --adkПроверка результата
brt checkзавершается без ошибок;brt devпринимает сообщения dev-бота;- production-бот отвечает только после явного deploy;
- dev и production используют разные настройки и токены.