Volg elk proces

Sommige dingen draaien uren zonder dat iemand kijkt: een nachtelijke crawl, een trainingsrun, een migratie, een CI-pijplijn, een agent die zich door een lange taak werkt. Progress Watch geeft ze één plek om aan te rapporteren, en jou één plek om te kijken — plus een melding als ze klaar zijn.

Drie commando's vanuit het werk zelf

Maak een taak aan waar de klus begint, rapporteer erop terwijl het vordert, sluit hem als het klaar is. Die in het midden is de aanroep die in je lus hoort, en het enige dat de getallen kent.

Aantallen, geen percentages: het scherm toont 1200 / 50000 pages, wat je iets vertelt dat 2.4% niet vertelt. Het totaal mag veranderen als een klus meer werk ontdekt — stuur het nieuwe getal en de balk rekent opnieuw. De pagina CLI heeft ze alle drie, klaar om te plakken.

Als het proces niet van jou is om aan te passen, wikkelt progresswatch run "python train.py" het in zijn geheel in — het maakt de taak aan, laat de uitvoer onaangeroerd door en sluit hem met de exitcode, zodat een klus die faalt je alsnog waarschuwt. Het rapporteert start en einde in plaats van aantallen, omdat niets buiten een proces weet hoe ver het is.

Of één verzoek, vanuit wat dan ook

Onder dit alles ligt één enkel HTTP-verzoek, en dat is de hele API. Er is geen SDK te installeren en niets te importeren, want het inpakken van één PUT zou niets toevoegen dat je niet zelf sneller schrijft dan je de documentatie ervan leest.

De API-referentie is de referentie om tegenaan te bouwen, en de curl-voorbeelden plakken is de snelste manier om het ding te zien werken voordat je je eraan verbindt.

Agents rapporteren hun eigen werk

Een AI-agent hakt een klus in stappen en werkt daarna lang door zonder iets te laten zien. Verbind er een via MCP en hij krijgt tools om een taak aan te maken en erop te rapporteren: één taak voor de klus, één deeltaak per stap, onderweg bijgewerkt. MCP vereist nergens een installatie; voor een client die het niet spreekt leert een agent-skill hetzelfde via de CLI.

De agent bepaalt wanneer volgen de moeite waard is en hoe vaak hij rapporteert. De toolbeschrijvingen vertellen hem waar een taak voor is, geen schema om aan te houden.

Geen accounts

Een ruimte is een houder voor taken, en de UUID ervan is de sleutel. Wie de link heeft kan lezen en schrijven; delen is iemand de link geven. Er valt niets aan te melden, nergens in te loggen en geen wachtwoord te verliezen — wat ook betekent dat de link de enige weg terug naar een ruimte is, dus bewaar hem als een API-token.

Voortgang wordt niet bewaard

De huidige staat leeft in het geheugen en verloopt vanzelf. Een crawler die drie maanden lang elke seconde rapporteert laat geen database groeien, en er valt achteraf niets op te ruimen. De ruil is bewust: er is geen geschiedenis en er zijn geen grafieken, alleen wat er nu gebeurt.

Wat het niet doet

  • Commando's terugsturen. Het is een vertrekbord, geen orkestrator. Een proces rapporteert; niets rapporteert eraan.
  • Een log bijhouden. Eén regel, de laatste, per taak. Logopslag is een opgelost probleem en dit is het niet.
  • Dieper dan één niveau nesten. Een taak mag stappen hebben; een stap niet.

Draai het zelf

De server is open source en zelf hosten is één container plus een Redis — zie het Docker-fragment om hem te starten en zelf hosten om hem fatsoenlijk te draaien. De gehoste dienst bestaat zodat jij het niet hoeft te doen, niet omdat de software zonder hem verminkt zou zijn.

Nergens voor aan te melden

Maak een ruimte, bewaar de link, en begin er vanuit wat dan ook in te rapporteren.

Ruimte aanmaken