Zpět na domů

PromptPilot pro AI CLI: plánovač úkolů

PromptPilot — plánovač front pro AI CLI jako Claude Code. Podporuje CLI, Web UI, Telegram-bot s zpracováním rate limits a pokračováním sezení. Architektura na SQLite + jednovláknový worker zajišťuje spolehlivost.

Automatizace AI CLI s PromptPilot: boty a fronty
Advertisement 728x90

PromptPilot: Plánovač fronty pro AI CLI nástroje

PromptPilot umožňuje zařazovat úlohy do fronty pro AI CLI jako Claude Code, Codex, Qwen. Nástroj spouští prompty podle plánu přes CLI, webové rozhraní nebo Telegram bota. Podporuje priority, opakování při rate limitech, obnovení relací. Worker zpracovává jednu úlohu najednou, čímž se vyhne soupeření o API limity.

Skutečné scénáře: zahřívání limitů před prací, využití zbývajících kvót před koncem měsíce, zadávání úloh na dálku přes bota. Úlohy jsou uloženy v SQLite s WAL režimem pro souběžnost.

Praktické případy použití

Nástroj řeší každodenní problémy vývojářů:

Google AdInline article slot
  • Zahřívání limitů: Naplánujte jednoduchý prompt na 5:00, aby relace začala předem. Do 9:00 je limit částečně spotřebován, v 10:00 — reset.
  • Noční rate limit: Pozdě večer nastavte úlohu na čas resetu — ráno je výsledek hotový.
  • Vzdálené spuštění: Z taxíku přes bota pošlete audit kódu — po návratu je limit obnoven, úloha splněna.
  • Mobilní úpravy: Přidejte validaci do payments.py s testy přímo z Telegramu.
  • Dovednosti Claude: Vyvolejte skill jako demo-invite.md přes /skills v botovi nebo tlačítko v UI.

Příklad spuštění přes CLI:

pp add "Napiš testy pro api.py" --dir C:\Projects\PromptPilot -p 1 -a "2026-04-01T05:00"

Architektura systému

Rozhraní (CLI, Web UI, TG Bot) zapisují do SQLite (~/.promptpilot). Worker dotazuje frontu každých 5s, spouští subprocess s AI CLI.

Rozhraní → SQLite (WAL) → Worker (dotaz 5s) → subprocess (claude.exe | codex | qwen)
Server: FastAPI + JS UI
Bot: Telegram API

Procesy jsou nezávislé:

Google AdInline article slot
  • Worker: jednovláknový, jedna úloha najednou. Při rate limitu — exponential backoff.
  • Server: REST na :8420, vanilla JS UI.
  • Bot: krokové dialogy, autorizace podle čísla.

Crash recovery: při startu se běžící úlohy vrátí do pending.

Instalace a konfigurace

Naklonujte repozitář, nainstalujte editable:

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

Vytvořte .env:

Google AdInline article slot
PP_CLAUDE_EXE=C:\Users\username\.local\bin\claude.exe
PP_DEFAULT_CLI=claude
PP_PROJECTS_ROOT=C:\Projects
PP_TASK_TIMEOUT=300
PP_BASE_DELAY=60
PP_MAX_DELAY=3600
PP_TG_TOKEN=...
PP_TG_ALLOWED_PHONES=+79001234567
PP_TASK_PASSWORD=12345

Spuštění služeb

CLI režim:

pp worker  # zpracování fronty
pp server  # http://127.0.0.1:8420
pp bot     # Telegram
pp start   # worker + server

Tray (.exe pro Windows): Dvojklik — ikona v tray (🟢/🟠/⚫). Sestavení: \.build.ps1 → dist/pp.exe (40MB, self-contained).

PowerShell: \.start.ps1 (všechny služby), \.stop.ps1.

Rozhraní pro správu

CLI

pp add "Refaktoruj db.py" --dir /path -p 5
pp add --file prompts.txt
pp list --status pending

Web UI (:8420)

  • Prompt + Ctrl+Enter
  • Skills pro Claude
  • Přednastavené plány
  • Filtry podle stavu
  • Detaily: tokeny, náklady, model

Automatická aktualizace 5s, jeden HTML soubor.

Telegram bot

Autorizace: sdílet kontakt (PP_TG_ALLOWED_PHONES). Krokově: prompt → poskytovatel → priorita → dir → plán.

Příkazy: /skills, seznam úloh s paginací, detaily s tlačítky [Odpovědět|Smazat].

Zpracování rate limitů

Detekce podle stderr: "rate limit", "429", "quota exceeded".

Exponential backoff:

def compute_next_run(retry_count: int) -> datetime:
    delay = min(BASE_DELAY * (2 ** retry_count), MAX_DELAY)
    jitter = delay * 0.1 * (random.random() * 2 - 1)
    return datetime.now(timezone.utc) + timedelta(seconds=delay + jitter)

Zpoždění: 60s → 120s → ... → 3600s + ±10% jitter. Po max_retries — failed.

Pokračování dialogů

Claude se může zeptat: "auth.py nebo auth_v2.py?". Úloha ukládá session_id. V botovi/UI: 💬 Odpovědět → nová úloha s --resume <session_id>.

Co je důležité

  • Jednovláknový worker zaručuje absenci race conditions o API limity.
  • WAL SQLite + crash recovery pro spolehlivost.
  • Tři rozhraní: CLI pro rychlost, UI/bot pro pohodlí.
  • Exponential backoff s jitter pro rate limity.
  • Podpora skills a obnovení relací Claude Code.

— Editorial Team

Advertisement 728x90

Číst dál