Гайды
8 мин.0просмотров

PromptPilot: поставьте свой ИИ-ассистент на автопилот, пока вы занимаетесь сайтом

PromptPilot: поставьте свой ИИ-ассистент на автопилот, пока вы занимаетесь сайтом

Если вы занимаетесь монетизацией сайтов, то наверняка уже используете ИИ в работе. Claude Code, Codex, Qwen — эти инструменты умеют писать скрипты, генерировать код, исправлять баги и автоматизировать рутину. Проблема в другом: они требуют постоянного присутствия. Исчерпали лимит токенов — сидите и ждёте. Закрыли ноутбук — задача встала. Уехали от компьютера — ничего не работает.

PromptPilot решает именно это. Он превращает ваш ИИ-инструмент из чего-то, за чем нужно следить, в нечто, что работает само — по расписанию, в очереди, с телефона.

Что такое PromptPilot

PromptPilot — это планировщик и очередь задач для AI CLI-инструментов: Claude Code, OpenAI Codex, Qwen и других. Принцип прост: вы отправляете промпт, воркер его выполняет. Когда именно — решаете вы: прямо сейчас, через час, в пять утра, или когда сбросится лимит токенов.

Управлять задачами можно тремя способами:

  • через командную строку — быстро и без лишних движений;
  • через веб-интерфейс — визуально, с фильтрами и статусами;
  • через Telegram-бот — прямо с телефона, без доступа к компьютеру.

Всё хранится в SQLite-базе. Никаких облаков, никаких внешних серверов — всё локально, просто и надёжно.

Как это работает

Архитектура намеренно простая. Три независимых процесса общаются через одну базу данных:

Воркер — ядро системы. Он раз в пять секунд проверяет очередь, берёт следующую задачу и запускает её через AI CLI. Намеренно однопоточный: одна задача в момент времени, никаких гонок за API-лимит. Если система перезагрузилась — воркер при старте сам откатит зависшие задачи обратно в очередь.

Сервер — FastAPI-приложение с веб-интерфейсом. Принимает задачи через REST, показывает статусы, результаты, метаданные (стоимость, токены, модель). Обновляется каждые пять секунд автоматически.

Бот — Telegram-интерфейс с полным управлением задачами. Авторизация по номеру телефона, пошаговое создание задач через кнопки, просмотр результатов и продолжение диалога с моделью.

Интерфейсы (CLI / Web UI / Telegram)

SQLite (WAL)

Воркер

claude.exe / codex / qwen

Три способа работать с PromptPilot

Командная строка

Самый быстрый вариант. Добавить задачу — одна команда:

# Простая задача
pp add "Напиши скрипт для обработки sitemap.xml"

# С указанием директории и приоритетом
pp add "Отрефактори модуль analytics.py" \
--dir /var/www/mysite \
--priority 1

# Запланировать на конкретное время
pp add "Сгенерируй отчёт по рекламным блокам" \
--at "2026-04-07T09:00"

# Пакетная загрузка задач из файла (каждая строка — промпт)
pp add --file tasks.txt

Чтобы посмотреть очередь:

pp list
pp list --status pending
pp list --status completed --limit 10

Веб-интерфейс

Открывается по адресу http://127.0.0.1:8420. Минималистичный интерфейс на чистом JavaScript, без npm-зависимостей — один HTML-файл.

Что есть в интерфейсе:

  • выбор провайдера (Claude, Codex, Qwen или кастомный);
  • поле промпта с отправкой по Ctrl+Enter;
  • пресеты расписания (+1ч / +3ч / +8ч / +24ч) или ручной ввод даты;
  • фильтры задач по статусу с счётчиками;
  • детали каждой задачи: результат, модель, стоимость, токены, время выполнения;
  • кнопка ⚡ Skills для Claude — быстрый выбор готовых команд из ваших проектов.

Telegram-бот

Главная фишка для вебмастеров, которые работают на ходу. Вы не привязаны к компьютеру — задачу можно поставить с телефона в любой момент.

Авторизация — без паролей в чате. Бот запрашивает номер телефона через стандартную кнопку Telegram и сверяет его со списком разрешённых номеров в конфиге. После авторизации доступ сохраняется между перезапусками.

Создание задачи в боте — пошаговый диалог:

Промпт
→ Провайдер
→ Приоритет
→ Директория проекта
→ Расписание (+1ч / +8ч / +24ч / конкретное время)
✅ Задача добавлена

В деталях задачи — полный результат, метаданные, кнопки управления.

Автоматическая обработка лимитов

Лимиты API — постоянная головная боль при работе с ИИ-инструментами. PromptPilot решает эту проблему без вашего участия.

Воркер отслеживает ошибки rate limit по stderr и stream-json событиям. Если лимит исчерпан, задача уходит в статус rate_limited и повторяется автоматически с экспоненциальной задержкой:

Попытка

Задержка

1-я

~60 сек

2-я

~120 сек

3-я

~240 сек

4-я

~480 сек

...

до 3600 сек

К каждой задержке добавляется случайный джиттер ±10% — чтобы несколько задач в rate_limited не синхронно долбили API.

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

Продолжение диалога из Telegram

Бывает так: Claude выполняет задачу, доходит до развилки и задаёт вопрос — например, какой из двух файлов использовать. Задача завершается, но работа ещё не сделана. Обычно в этот момент нужно открывать терминал, восстанавливать сессию и отвечать вручную.

PromptPilot закрывает этот пробел. В деталях любой завершённой задачи есть кнопка 💬 Ответить. Нажимаете, вводите ответ в боте — и автоматически создаётся новая задача с флагом --resume, которая продолжает разговор в том же контексте. Claude помнит всё, что было до.

Цепочка не ограничена: каждый ответ тоже сохраняет session_id и показывает кнопку ответа. Новая задача наследует директорию, провайдера и настройки от родительской.

Поддержка скилов Claude Code

Если вы используете скилы (.md-файлы команд в .claude/commands/ или .claude/skills/), PromptPilot умеет с ними работать.

В веб-интерфейсе при выборе Claude-провайдера появляется кнопка ⚡ Skills — она показывает список доступных скилов с описаниями. Выбрали скил — название подставляется в поле промпта, дополняете аргументами и отправляете.

В Telegram-боте — команда /skills. Выбираете скил из списка, вводите аргументы, задача создана.

Работает как с глобальными скилами (~/.claude/commands/), так и с проектными (.claude/commands/ внутри рабочей директории). У каждого проекта могут быть свои скилы — бот покажет их при выборе нужной директории.

Провайдеры и кастомные команды

PromptPilot поддерживает несколько AI CLI из коробки:

Провайдер

Описание

Скилы

claude

Claude Code (Anthropic)

claude-z

Claude Code через z.ai / GLM

codex

OpenAI Codex

qwen

Qwen Code

Можно добавить любой другой инструмент как кастомный провайдер:

pp provider add mytool \
--cmd "mytool run {prompt}" \
--desc "My custom AI tool" \
--env "MYTOOL_API_KEY=sk-..."

Провайдер — это шаблон команды с плейсхолдером {prompt}. Воркер подставляет промпт и запускает через subprocess с нужными переменными окружения.

Установка и настройка

Требования

  • Python 3.10+
  • Хотя бы один AI CLI в PATH (claude, codex, qwen)

Установка

git clone https://github.com/ivanarama/PromptPilot
cd PromptPilot
pip install -e .

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

Создайте файл .env в папке проекта:

# Telegram-бот (опционально)
PP_TG_TOKEN=ваш_токен_бота
PP_TG_ALLOWED_PHONES=+79001234567

# Путь к Claude
PP_CLAUDE_EXE=~/.local/bin/claude.exe
PP_DEFAULT_CLI=claude

# Корень папки с проектами (для выбора в боте)
PP_PROJECTS_ROOT=/var/www

# Таймаут и retry
PP_TASK_TIMEOUT=300
PP_BASE_DELAY=60
PP_MAX_DELAY=3600
PP_MAX_RETRIES=5

Полная таблица переменных:

Переменная

По умолчанию

Описание

PP_TG_TOKEN

Токен Telegram-бота

PP_TG_ALLOWED_PHONES

Разрешённые номера через запятую

PP_TASK_PASSWORD

Доп. пароль для создания задач в боте

PP_CLAUDE_EXE

~/.local/bin/claude

Путь к claude

PP_DEFAULT_CLI

claude

Провайдер по умолчанию

PP_PROJECTS_ROOT

Папка с проектами

PP_DATA_DIR

~/.promptpilot

Хранилище БД и конфигов

PP_TASK_TIMEOUT

300

Таймаут задачи в секундах

PP_POLL_INTERVAL

5

Интервал опроса очереди в секундах

PP_BASE_DELAY

60

Начальная задержка retry

PP_MAX_DELAY

3600

Максимальная задержка retry

PP_MAX_RETRIES

5

Максимум попыток перед failed

PP_PORT

8420

Порт веб-сервера

Запуск

Вариант 1 — CLI:

pp worker # запускает воркер
pp server # запускает веб-интерфейс
pp bot # запускает Telegram-бот
pp start # воркер + сервер одной командой

Вариант 2 — системный трей (Windows): Двойной клик на pp.exe — иконка появляется в трее, воркер и сервер стартуют автоматически. Иконка показывает текущий статус: 🟢 всё работает / 🟠 частично / ⚫ остановлено.

Вариант 3 — PowerShell:

.\start.ps1 # воркер + сервер (+ бот, если PP_TG_TOKEN задан)
.\stop.ps1 # остановить всё

Собрать .exe самостоятельно:

.\build.ps1
# результат: dist\pp.exe (~40 МБ, Python внутри, без внешних зависимостей)

Стоит ли вебмастеру это использовать?

PromptPilot будет полезен, если вы:

  • регулярно используете Claude Code или Codex для задач по сайту — скрипты, парсинг, автоматизация, генерация кода;
  • работаете с несколькими проектами и хотите выстроить очередь задач вместо ручного переключения;
  • часто упираетесь в лимиты токенов и хотите автоматизировать retry;
  • не всегда за компьютером, но хотите ставить задачи ИИ с телефона.

Если вы используете ИИ раз в неделю для одного-двух промптов — возможно, инструмент избыточен. Но для тех, кто уже интегрировал AI CLI в ежедневную работу, PromptPilot закрывает реальные пробелы: автоматизация retry, управление с телефона, продолжение прерванных сессий.

Что планируется дальше

Разработчик обозначил несколько направлений развития:

  • Уведомления в Telegram — сообщение, когда задача завершилась или упала;
  • История диалогов — цепочка задача → ответ → ответ в едином view;
  • Параллельные воркеры — отдельный воркер для каждого провайдера.

Итог

PromptPilot — это недостающий слой автоматизации для тех, кто уже работает с AI CLI. Он не меняет то, как вы общаетесь с моделью, — он меняет то, когда и как это происходит. Задачи выполняются по расписанию, лимиты обрабатываются автоматически, сессии продолжаются без вашего участия.

Для вебмастера, который использует ИИ как рабочий инструмент, а не как игрушку — это переход от ручного управления к системному подходу.

Код проекта: github.com/ivanarama/PromptPilot

Поделиться статьёй

Отправьте её в соцсети или скопируйте AI-промпт.

Похожие статьи