Jeden Prozess beobachten
Manches läuft stundenlang, ohne dass jemand hinsieht: ein nächtlicher Crawl, ein Trainingslauf, eine Migration, eine CI-Pipeline, ein Agent, der sich durch eine lange Aufgabe arbeitet. Progress Watch gibt ihnen einen Ort, an den sie berichten, und Ihnen einen Ort, an dem Sie nachsehen — plus eine Benachrichtigung, wenn sie fertig sind.
Drei Befehle, aus der Arbeit heraus
Legen Sie dort eine Aufgabe an, wo der Job beginnt, berichten Sie dagegen, während es vorangeht, und schließen Sie sie, wenn es getan ist. Der mittlere ist der Aufruf, der in Ihre Schleife gehört, und das Einzige, was die Zahlen kennt.
Zahlen statt Prozente: Der Bildschirm zeigt 1200 / 50000 pages, was Ihnen etwas sagt, das 2.4% nicht sagt. Die Gesamtzahl darf sich ändern, wenn ein Job mehr Arbeit entdeckt — senden Sie die neue Zahl, und der Balken rechnet neu. Die Seite CLI hat alle drei, fertig zum Einfügen.
Wenn der Prozess nicht Ihrer ist, umschließt progresswatch run "python train.py" ihn ganz — es legt die Aufgabe an, reicht die Ausgabe unverändert durch und schließt sie mit dem Exit-Code, sodass ein fehlgeschlagener Job Sie trotzdem benachrichtigt. Er berichtet Start und Ende statt Zahlen, denn nichts außerhalb eines Prozesses weiß, wie weit er ist.
Oder eine Anfrage, von irgendetwas
Unter alldem liegt eine einzige HTTP-Anfrage, und das ist die ganze API. Es gibt kein SDK zu installieren und nichts zu importieren, denn ein einzelnes PUT zu umhüllen würde nichts hinzufügen, was Sie nicht selbst schneller schreiben als dessen Dokumentation zu lesen.
Die API-Referenz ist die Referenz, gegen die Sie bauen, und die curl-Beispiele einzufügen ist der schnellste Weg, die Sache arbeiten zu sehen, bevor Sie sich festlegen.
Agenten berichten ihre eigene Arbeit
Ein KI-Agent zerlegt einen Job in Schritte und arbeitet dann lange, ohne dass etwas zu sehen wäre. Verbinden Sie einen über MCP, und er bekommt Werkzeuge, um eine Aufgabe anzulegen und dagegen zu berichten: eine Aufgabe für den Job, eine Unteraufgabe je Schritt, laufend aktualisiert. MCP braucht nirgends eine Installation; für einen Client, der es nicht spricht, bringt ein Agent-Skill dasselbe über die CLI bei.
Der Agent entscheidet, wann sich Verfolgen lohnt und wie oft er berichtet. Die Werkzeugbeschreibungen sagen ihm, wofür eine Aufgabe da ist, nicht welchem Zeitplan er folgen soll.
Keine Konten
Ein Bereich ist ein Behälter für Aufgaben, und seine UUID ist der Zugangsschlüssel. Wer den Link hat, kann lesen und schreiben; teilen heißt, jemandem den Link zu geben. Es gibt nichts, wofür man sich anmeldet, nichts, in das man sich einloggt, und kein Passwort, das verloren gehen kann — was auch bedeutet, dass der Link der einzige Weg zurück zu einem Bereich ist, man ihn also wie ein API-Token aufbewahren sollte.
Fortschritt wird nicht gespeichert
Der aktuelle Zustand liegt im Arbeitsspeicher und verfällt von selbst. Ein Crawler, der drei Monate lang jede Sekunde berichtet, lässt keine Datenbank wachsen, und es gibt hinterher nichts aufzuräumen. Der Handel ist bewusst: Es gibt keine Historie und keine Diagramme, nur das, was gerade passiert.
Was es nicht tun wird
- Befehle zurücksenden. Es ist eine Abfahrtstafel, kein Orchestrator. Ein Prozess berichtet; nichts berichtet an ihn.
- Ein Log führen. Eine Zeile, die letzte, je Aufgabe. Log-Speicherung ist ein gelöstes Problem, und das hier ist nicht die Lösung.
- Tiefer als eine Ebene verschachteln. Eine Aufgabe darf Schritte haben; ein Schritt nicht.
Selbst betreiben
Der Server ist quelloffen, und selbst betreiben heißt ein Container plus ein Redis — siehe den Docker-Ausschnitt, um ihn zu starten, und Selbst hosten, um ihn ordentlich zu betreiben. Den gehosteten Dienst gibt es, damit Sie es nicht müssen, nicht weil die Software ohne ihn verkrüppelt wäre.
Nichts, wofür man sich anmeldet
Legen Sie einen Bereich an, bewahren Sie seinen Link auf, und berichten Sie aus allem hinein.
Bereich anlegen