Содержание
Документация › Основы

API управления: управлять ботами извне (скрипты и ИИ)

Локальный HTTP-интерфейс приложения — включить, скопировать токен, читать статус и журнал, а также загружать, запускать, приостанавливать и останавливать ботов из PowerShell, своей программы или ИИ-ассистента.

Обновлено: 2026-09-14

После этой статьи вы сможете управлять FlowBotCommander извне: из PowerShell, из собственной программы или из ИИ-ассистента, который запускает и останавливает ваших ботов через «function calling». Знания программирования не нужны — примеры ниже можно копировать как есть.

Что такое API управления

В приложении есть небольшой HTTP-сервер. Он работает только на вашем компьютере (адрес 127.0.0.1), по умолчанию выключен и никого не пускает без вашего токена. Через этот интерфейс скрипт может

  • запрашивать состояние (работает, на паузе, какой бот загружен),
  • следить за журналом,
  • получать список ботов в папке ботов,
  • загружать, запускать, приостанавливать и останавливать бота.

Чего он намеренно не умеет: редактировать ботов, задавать переменные или создавать узлы — это остаётся в редакторе. Клавиша паники (Pause) останавливает бота в любой момент, что бы ни делал API.

Шаг 1 — Включить и скопировать токен

  1. Откройте меню Инструменты → API управления….
  2. Поставьте флажок Включить API управления (по согласию).
  3. Оставьте порт (8765) или измените его, если он занят другой программой.
  4. Нажмите Копировать рядом с токеном — он сейчас понадобится. Создать делает новый токен; старый перестаёт действовать.
  5. Применить. Внизу появится «● Работает на http://127.0.0.1:8765», а в журнале — строка 🌐 с адресом.

Окно API управления с флажком, портом и токеном

Настройка сохраняется: при следующем запуске приложения API снова работает, пока вы не снимете флажок. Токен хранится на вашем компьютере в зашифрованном виде — никогда внутри бота и никогда на нашем сервере.

Шаг 2 — Положить ботов в папку ботов

API показывает и загружает ботов только из папки %AppData%\FlowBotCommander\bots. Как туда попасть: Win+R, введите %AppData%\FlowBotCommander\bots, Enter (в первый раз создайте папку). Сохраняйте туда ботов через Файл → Сохранить как… — каждый называется имя.bot.json.

Шаг 3 — Первый запрос

Откройте PowerShell и вставьте свой токен:

$token = "ВАШ-ТОКЕН"
$h = @{ Authorization = "Bearer $token" }

Invoke-RestMethod http://127.0.0.1:8765/api/health              # работает без токена
Invoke-RestMethod -Headers $h http://127.0.0.1:8765/api/status  # всё остальное — только с токеном

Ответ на /api/status выглядит так:

{ "running": false, "paused": false, "nodeCount": 6, "logCount": 12, "loadedBot": "clicker-heroes-komplett.bot.json" }

Токен передаётся в заголовке Authorization: Bearer <токен> — с пробелом после «Bearer». Если его нет или он неверный, API отвечает 401 и {"error":"unauthorized"}.

Шаг 4 — Загрузить, запустить, приостановить, остановить бота

# Какие боты есть?
Invoke-RestMethod -Headers $h http://127.0.0.1:8765/api/bots

# Загрузить бота — имя с .bot.json или без, достаточно части имени
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "name": "clicker-heroes-komplett" }' http://127.0.0.1:8765/api/bot/load

# Запустить
Invoke-RestMethod -Headers $h -Method Post http://127.0.0.1:8765/api/run

# Приостановить и продолжить
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "paused": true }'  http://127.0.0.1:8765/api/pause
Invoke-RestMethod -Headers $h -Method Post -ContentType "application/json" `
    -Body '{ "paused": false }' http://127.0.0.1:8765/api/pause

# Остановить
Invoke-RestMethod -Headers $h -Method Post http://127.0.0.1:8765/api/stop

Каждое действие отвечает { "ok": true, "message": "…" } или { "ok": false, "message": "причина" } — например «Läuft bereits.» (уже работает) или «Bot 'xyz' nicht gefunden.» (бот не найден). Сообщения пока на немецком.

Чтение журнала

/api/logs?since=N возвращает строки журнала начиная со строки N (0 = все). Запомните, сколько строк вы прочитали, и в следующий раз запрашивайте с этого места — так вы получите только новое:

$stroki = Invoke-RestMethod -Headers $h "http://127.0.0.1:8765/api/logs?since=0"
$stroki.Count       # например 12
Invoke-RestMethod -Headers $h "http://127.0.0.1:8765/api/logs?since=12"   # только новые строки

Все конечные точки

Вызов Назначение Нужен токен
GET /api/health признак жизни приложения нет
GET /api/status работает/на паузе, число узлов и строк журнала, загруженный бот да
GET /api/logs?since=N строки журнала начиная с N да
GET /api/bots боты в папке ботов (имя, путь, размер, дата изменения) да
POST /api/bot/load { "name": "…" } загрузить бота в редактор да
POST /api/run запустить загруженного бота да
POST /api/stop остановить выполнение да
POST /api/pause { "paused": true/false } приостановить или продолжить да
GET /api/tools/openai готовый манифест function-calling для ИИ-ассистентов да

Подключение ИИ-ассистента

GET /api/tools/openai возвращает готовый список инструментов в формате OpenAI («tools»). Он описывает каждую функцию — get_status, get_logs, list_bots, load_bot, run_bot, stop_bot, pause_bot — так, чтобы языковая модель сама вызывала их правильно. Обычная схема:

  1. Ваш скрипт получает манифест и передаёт его ИИ-сервису как инструменты.
  2. Вы пишете ИИ: «Запусти бота clicker-heroes-komplett и сообщи, если в журнале появится ошибка».
  3. ИИ отвечает вызовом инструмента (например run_bot); ваш скрипт выполняет соответствующий HTTP-запрос и возвращает результат.

Само приложение не обращается ни к какому ИИ-сервису — мостом между ИИ и API служит ваш скрипт. Так ваш токен остаётся на вашем компьютере.

Безопасность

  • API доступен только с вашего собственного компьютера. Другие устройства в сети не могут к нему подключиться — это сделано намеренно и не меняется.
  • Токен — как пароль: не передавайте его, не вставляйте в ботов или снимки экрана. При сомнениях нажмите Создать и Применить.
  • Выключайте API, когда он не нужен.
  • Pause всегда останавливает бота — даже посреди действия API.

Если не работает

  • «Соединение отклонено» — API не включён, приложение не запущено или порт другой (см. окно API управления…).
  • 401 unauthorized — токена нет, он неверный или в заголовке отсутствует слово «Bearer».
  • Строка «❌ Steuer-API: …» в журнале при применении — обычно порт занят. Укажите другой порт (например 8766) и примените снова.
  • «Bot 'xyz' nicht gefunden.» — бота нет в %AppData%\FlowBotCommander\bots или он называется иначе. GET /api/bots показывает, что видит API.
  • «Start nicht möglich (kein Start-Node?)» — у загруженного бота нет узла «Старт» или он уже работает.

Готовы попробовать?

FlowBotCommander бесплатен для старта — без аккаунта.

Начать бесплатно