PromptPilot: Ein Warteschlangenplaner für KI-CLI-Tools
PromptPilot ermöglicht es Ihnen, Aufgaben für KI-CLI-Tools wie Claude Code, Codex und Qwen in eine Warteschlange zu stellen. Das Tool führt Prompts nach Zeitplan über CLI, Web-Oberfläche oder Telegram-Bot aus. Es unterstützt Prioritäten, Wiederholungen bei Ratenbegrenzungen und Sitzungswiederherstellung. Der Worker verarbeitet eine Aufgabe nach der anderen und vermeidet so Rennen um API-Limits.
Praktische Anwendungsfälle: Limits vor Arbeitsbeginn aufwärmen, Restkontingente vor Monatsende nutzen, Aufgaben remote über Bot einreihen. Aufgaben werden in SQLite mit WAL-Modus für Nebenläufigkeit gespeichert.
Praktische Anwendungsfälle
Das Tool löst alltägliche Entwicklerprobleme:
- Limits aufwärmen: Planen Sie einen leichten Prompt für 5:00 Uhr morgens, damit die Sitzung früh beginnt. Bis 9:00 Uhr ist das Limit teilweise genutzt; um 10:00 Uhr — wird es zurückgesetzt.
- Nächtliche Ratenbegrenzung: Spät abends eine Aufgabe für die Reset-Zeit einreihen — das Ergebnis ist morgens fertig.
- Remote-Start: Aus dem Taxi über Bot eine Code-Prüfung senden — bei Rückkehr ist das Limit erneuert, Aufgabe erledigt.
- Mobile Anpassungen: Validierung zu payments.py mit Tests direkt aus Telegram hinzufügen.
- Claude-Fähigkeiten: Rufen Sie eine Fähigkeit wie demo-invite.md über /skills im Bot oder einen Button in der UI auf.
Beispiel-CLI-Start:
pp add "Schreibe Tests für api.py" --dir C:\Projects\PromptPilot -p 1 -a "2026-04-01T05:00"
Systemarchitektur
Schnittstellen (CLI, Web-UI, TG-Bot) schreiben in SQLite (~/.promptpilot). Der Worker fragt die Warteschlange alle 5s ab, startet einen Subprozess mit der KI-CLI.
Schnittstellen → SQLite (WAL) → Worker (poll 5s) → Subprozess (claude.exe | codex | qwen)
Server: FastAPI + JS-UI
Bot: Telegram-API
Prozesse sind unabhängig:
- Worker: Single-threaded, eine Aufgabe gleichzeitig. Bei Ratenbegrenzung — exponentieller Backoff.
- Server: REST auf :8420, vanilla JS-UI.
- Bot: Schritt-für-Schritt-Dialoge, Autorisierung per Telefonnummer.
Absturzwiederherstellung: Beim Start werden laufende Aufgaben auf ausstehend zurückgesetzt.
Installation und Konfiguration
Repository klonen, editierbar installieren:
git clone https://github.com/your/promptpilot
cd PromptPilot
pip install -e .
.env erstellen:
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
Dienste starten
CLI-Modus:
pp worker # Warteschlange verarbeiten
pp server # http://127.0.0.1:8420
pp bot # Telegram
pp start # worker + server
Tray (.exe für Windows): Doppelklick — Icon im Tray (🟢/🟠/⚫). Build: \.build.ps1 → dist/pp.exe (40MB, eigenständig).
PowerShell: \.start.ps1 (alle Dienste), \.stop.ps1.
Verwaltungsschnittstellen
CLI
pp add "Refaktorisiere db.py" --dir /pfad -p 5
pp add --file prompts.txt
pp list --status pending
Web-UI (:8420)
- Prompt + Strg+Eingabe
- Fähigkeiten für Claude
- Zeitplan-Voreinstellungen
- Statusfilter
- Details: Tokens, Kosten, Modell
Auto-Aktualisierung 5s, einzelne HTML-Datei.
Telegram-Bot
Autorisierung: Kontakt teilen (PP_TG_ALLOWED_PHONES). Schritt-für-Schritt: Prompt → Anbieter → Priorität → Verzeichnis → Zeitplan.
Befehle: /skills, Aufgabenliste mit Paginierung, Details mit Buttons [Antworten|Löschen].
Umgang mit Ratenbegrenzungen
Erkennung über stderr: "rate limit", "429", "quota exceeded".
Exponentieller 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)
Verzögerungen: 60s → 120s → ... → 3600s + ±10% Jitter. Nach max_retries — fehlgeschlagen.
Unterhaltungen fortsetzen
Claude könnte fragen: "auth.py oder auth_v2.py?". Aufgabe speichert session_id. Im Bot/UI: 💬 Antworten → neue Aufgabe mit --resume <session_id>.
Wichtige Punkte
- Single-threaded Worker garantiert keine Rennbedingungen für API-Limits.
- WAL SQLite + Absturzwiederherstellung für Zuverlässigkeit.
- Drei Schnittstellen: CLI für Geschwindigkeit, UI/Bot für Bequemlichkeit.
- Exponentieller Backoff mit Jitter für Ratenbegrenzungen.
- Unterstützung für Fähigkeiten und Claude-Code-Sitzungswiederaufnahme.
— Editorial Team
Noch keine Kommentare.