PocketCoder-A1: autonomní agent pro noční vývoj s Claude
PocketCoder-A1 je CLI nástroj s webovým dashboardem, který spouští vývojové úkoly autonomně. Agent pracuje v sezeních, ukládá stav, provádí kód přes Claude CLI nebo API a následně ověřuje výsledek: pytest, py_compile, kontrola souborů. Podpora poskytovatelů Claude Max, Claude API a Ollama. Instalace přes pip, spuštění na libovolném projektu s dashboardem na localhost:7331.
Vyvinuto v čistém Pythonu bez frameworků: 15 modulů, 7086 řádků. HTTP server na http.server, JSON přes standardní modul, soubory — pathlib. Externí závislosti minimální: playwright pro E2E testy, anthropic/ollama volitelně.
Architektura a spuštění Claude CLI
Agent zachytí baseline validace před startem, sestaví prompt, spustí Claude CLI jako subprocess s parsováním NDJSON v reálném čase. Klíčové příznaky spuštění:
import os, subprocess
env = os.environ.copy()
env.pop("CLAUDECODE", None)
proc = subprocess.Popen(
["claude", "-p", prompt,
"--dangerously-skip-permissions",
"--no-session-persistence",
"--max-turns", "25",
"--verbose",
"--output-format", "stream-json"],
cwd=str(project_dir),
env=env,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
text=True,
bufsize=1,
)
| Příznak | Účel |
|------|------------|
| -p prompt | Neinteraktivní režim |
| --dangerously-skip-permissions | Automatické potvrzení tool_use |
| --no-session-persistence | Bez ukládání sezení |
| --max-turns 25 | Omezení iterací |
| --output-format stream-json | NDJSON proud |
Parser klasifikuje události: tool_use (Read — modrá, Bash — fialová, thinking — žlutá). Metriky rate_limit_event aktualizují dashboard přes AJAX každé 2–3 sekundy.
Tříúrovňová verifikace výsledků
Po sezení agent nekončí na slově "COMPLETED". Spustí se kontrola:
- Úroveň 1 (BLOCKING): py_compile všech .py, pytest, existence souborů, success_criteria z úkolu. Neprošel — retry s injektáží chyb.
- Úroveň 2 (WARNING): ruff, build, git diff — logováno.
- Úroveň 3 (ANTI-LOOP): Baseline chyb před startem. 5 pokusů max, jinak BLOCKED a přechod k dalšímu úkolu.
Chyby se injektují do promptu: "VERIFICATION FAILED, attempt 2/5, BLOCKING: tests 2 failed".
Poskytovatelé a správa úkolů
| Poskytovatel | Mechanismus | Požadavky |
|-----------|----------|------------|
| claude-max | CLI subprocess, Stream-JSON, nativní tools | Claude Max předplatné |
| claude-api | Anthropic SDK, agentic loop, 6 tools | API klíč |
| ollama | Textový streaming, bez tool calling | Lokální Ollama |
Úkoly se vytvářejí třemi způsoby:
- CLI:
pca task add. - Quick Add na dashboardu.
- AI Transform: surový text → strukturované úkoly s prioritami a kritérii.
Stavy: PENDING, IN PROGRESS, DONE, BLOCKED. Drag-and-drop pro priority. Životní cyklus: agent bere další úkol automaticky.
Reálný případ: přidání poskytovatele do epotos-templates
Projekt epotos-templates pro zpracování dokumentů. Úkol: naklonovat repozitář, přidat přepínání poskytovatelů Ollama → DeepSeek.
- AI Transform přemění surový text na 5 úkolů s kritérii.
- Spuštění agenta: claude-api, live-log s THINK/BASH/READ.
- Po sezení — verifikace, zelená fajfka při úspěchu.
- Automatický přechod k dalšímu: analýza ollama.ts, ai-client.ts, grep portů.
Pokrok od 0/5 do 2/5 úkolů za sezení, s detailním logem tool calls.
Co je důležité:
- Autonomní práce: zadal úkoly — odešel, vrátil se k ověřenému kódu.
- Tříúrovňová kontrola zabraňuje falešným poplachům.
- Real-time dashboard s NDJSON-parsováním a metrikami tokenů.
- Podpora více poskytovatelů přes unifikovaný pipeline.
- Open source, 7086 řádků čistého Pythonu bez frameworků.
Instalace: pip install pocketcoder-a1, pca init /cesta/k/projektu, pca ui. Vhodné pro middle/senior vývojáře, kteří chtějí odlehčit předplatné LLM noční automatizací.
— Editorial Team
Zatím žádné komentáře.