↓ Zum Hauptinhalt springen
  1. Dokumentation/

PocketHook 1.3: Kompatibilität und Daten

Diese Funktionen benötigen PocketHook 1.3. Dauerhafte Ergebnisse und Uploads erfordern Agent Server 0.7.0 oder einen kompatiblen Server. Das SDK hat die Version 0.1.3. Ein einfacher HTTPS-Webhook unterstützt weiterhin Chat und Anfragen, die auf eine direkte Antwort warten.

Kompatibilität
#

FunktionVoraussetzung
Chat, HTTPS-Links und Kurzbefehle in AntwortenBisheriges Webhook-Protokoll
Nachricht ohne Warten sendenintent-jobs-v1; im OpenClaw-Modus nicht verfügbar
Ergebnisse bis zum Speichern in der App behaltenresult-acks-v1 und PocketHook 1.3
Bilder, PDFs und Dateien hochladen/uploads; Agent Server meldet uploads-v1
App-Links und lokale Foto-LinksPocketHook 1.3 und die jeweilige App bzw. Berechtigung
Apple Bridge 0.6.0macOS 14 oder neuer; Kopplung und Berechtigungen
Safari-Begleitapp 1.0macOS 26.5 oder neuer

PocketHook benötigt iOS 26.0 oder neuer. Diese Version hängt nicht von einer künftigen Siri-Version ab. Der Serverbetreiber wählt Modell und Anbieter.

Dauerhafte Zustellung
#

GET /health meldet X-PocketHook-Capabilities: intent-jobs-v1,result-acks-v1,uploads-v1. Asynchrone Anfragen verwenden x-pockethook-intent: 1, eine eindeutige x-pockethook-request-id und x-pockethook-wait: 0. Die Teilen-Erweiterung verwendet stattdessen x-pockethook-share: 1. 202 bestätigt die Speicherung des Auftrags. Eine Wiederverwendung der ID mit anderer Sitzung, Nachricht, Herkunft oder anderem stillen Modus wird abgelehnt.

POST /intent-jobs/status nimmt {"requestIds":["<id>"]} mit höchstens 50 IDs an. Ergebnisse werden über die konfigurierte Chat-Nachricht abgeholt, standardmäßig fetchPendingTasks. Ohne Ergebnisse kommt [{"msg":"false"}] zurück, ohne Modellaufruf.

Mit x-pockethook-result-acks: 1 enthält jeder Ergebnisschritt stabile Felder deliveryId, messageId und deliveryCount. Der Client speichert alle Schritte, vermeidet Duplikate anhand der messageId und bestätigt dann über das authentifizierte POST /deliveries/ack mit {"ids":["<delivery-uuid>"]}. Höchstens 100 IDs sind erlaubt. Bestätigungen sind wiederholbar; eine alte Bestätigung entfernt kein neueres Ergebnis desselben wiederkehrenden Auftrags. Ergebnis-Snapshots liegen in data/jobs.db. Ältere Clients behalten das bisherige Abrufverhalten.

Die App bewahrt lokale Empfangsbelege auch nach dem Kürzen des Chatverlaufs auf. Ausstehende Kurzbefehle werden im Vordergrund ausgeführt und vorher als beansprucht gespeichert. Bei einer Unterbrechung kann das Ergebnis unklar sein; eine automatische Wiederholung findet nicht statt. Beim Serverneustart unterbrochene Intent- und Teilen-Aufträge werden ebenfalls nicht automatisch erneut ausgeführt. Eine genau einmalige Ausführung in einer anderen App wird nicht garantiert.

Anhänge und Fotos
#

POST /uploads erwartet Binärdaten, MIME-Typ und Bearer-Token. Unterstützt werden JPEG, PNG, GIF, WebP, PDF, Text, CSV, Markdown und JSON. Standardlimit: 25 MiB (UPLOADS_MAX_MB). Die Antwort enthält ID und Dateiname; Nachrichten verwenden [FILE:<uuid>.<ext>|<name>].

Auch Downloads unter /uploads/<uuid>.<ext> benötigen das Token. Die App sendet es ausschließlich an den Upload-Endpunkt des konfigurierten Servers und folgt bei authentifizierten Downloads keinen Weiterleitungen. Dateien verfallen standardmäßig nach 30 Tagen (UPLOADS_RETENTION_DAYS); Bereinigung beim Start und alle 12 Stunden. Sicherungskopien des Betreibers können andere Fristen haben.

Hochgeladene Bilder und aus Dokumenten extrahierter Text können an den Modellanbieter gehen. Ein Link wie pockethook://photos?latest=5 fragt dagegen die lokale Mediathek ab, nachdem Foto-Links und der Zugriff erlaubt wurden. Der Link allein lädt keine Fotos hoch. Das Anhängen eines Fotos sendet es an den Server.

Antwort-Links unterstützen HTTPS und App-Schemata. HTTP sowie tel, sms, facetime, facetime-audio, itms-services, app-prefs, javascript, data und file werden abgelehnt. App-Links erfordern ein Antippen; Kurzbefehlsaktionen behalten ihr konfiguriertes Verhalten.

Begleitapps installieren
#

bun run apple-bridge:install
bun run apple-bridge:code
bun run apple-bridge:status
bun run safari:install
bun run safari:code

Begleitapp öffnen, mit dem Einmalcode koppeln und benötigte Berechtigungen gewähren. Die Kopplung ersetzt keine Systemberechtigungen. Safari wird separat gekoppelt.

Apple Bridge 0.6.0 · Safari 1.0

Aktualisieren
#

SQLite konsistent sichern; .env, Benutzerkonfiguration und Workspace separat aufbewahren. Veröffentlichte Abhängigkeiten mit bun install --frozen-lockfile installieren. Dienstnamen und Logs pro Instanz bleiben erhalten. Die Migration ergänzt die Zustellungstabelle, ohne bestehende Aufträge zu ersetzen. Ein Code-Rollback stellt keine Datenbanksicherung wieder her.

Der ausgelieferte Workspace enthält nur .gitkeep-Platzhalter. Nutzerdaten und Zugangsdaten gehören zur jeweiligen Installation. Das bestehende Dashboard und die Auftragsübersicht benötigen weiterhin Netzwerkbeschränkungen oder DASHBOARD=false; neue Upload- und Bestätigungsendpunkte erfordern Authentifizierung.