herdr · Coding-Agents · iPhone · Apple Watch

Vom gesprochenen Wort zur App auf dem iPhone – in Minuten. From spoken word to an app on your iPhone – in minutes.

DeepDock bringt deine herdr-Sessions und Coding-Agents auf iPhone und Apple Watch. Du diktierst einen Auftrag, der Agent auf deinem Mac codet, testet und committet – Coolify deployt das Backend, TestFlight liefert den neuen iOS-Build auf dein iPhone.

DeepDock puts your herdr sessions and coding agents on iPhone and Apple Watch. You dictate a task, the agent on your Mac codes, tests and commits – Coolify deploys the backend, TestFlight delivers the new iOS build to your iPhone.

Beispiel-Durchlauf: Agent-Zeit je nach Aufgabe · Upload 3–10 min · Apple-Verarbeitung 5–30 min Example run: agent time depends on the task · upload 3–10 min · Apple processing 5–30 min

  1. Apple Watch
  2. iPhone
  3. herdr · Agent
  4. git push
  5. Coolify
  6. TestFlight

AblaufWorkflow

Ein Durchlauf – vom Handgelenk bis zum TestFlight-Build One run – from your wrist to the TestFlight build

Beispiel-Durchlauf. Die Zeiten für Archiv, Upload und Apple-Verarbeitung sind Richtwerte des testflight-upload-Werkzeugs; wie lange Agent und Build brauchen, hängt von Aufgabe und Projekt ab.

Example run. The times for archive, upload and Apple processing are reference values from the testflight-upload tool; how long the agent and the build take depends on the task and the project.

  1. 01

    Auf der Apple Watch diktierenDictate on the Apple Watch

    In der DeepDock-Watch-App Workspace und Pane wählen und den Auftrag per Diktat, Scribble oder Tastatur eingeben. Für Rückfragen gibt es Schnelltasten (1/2/3, ⏎, ↑, ↓, esc, ⌃C).

    Pick a workspace and pane in the DeepDock Watch app and enter the task by dictation, Scribble or keyboard. Quick keys (1/2/3, ⏎, ↑, ↓, esc, ⌃C) answer follow-up questions.

    SekundenSeconds

  2. 02

    Über iPhone und Tailscale zum MacVia iPhone and Tailscale to the Mac

    Erreicht die Watch dein Tailnet, geht der Prompt direkt an den Gateway, sonst über das iPhone. Der „DeepDock Gateway“ auf dem Mac ist nur über Loopback und Tailnet erreichbar (WireGuard-verschlüsselt) und reicht den Prompt an den Coding-Agent im herdr-Pane weiter.

    If the Watch can reach your tailnet, the prompt goes straight to the gateway, otherwise through the iPhone. “DeepDock Gateway” on the Mac only listens on loopback and your tailnet (WireGuard-encrypted) and hands the prompt to the coding agent in the herdr pane.

    SekundenSeconds

  3. 03

    Der Agent codet, testet, committetThe agent codes, tests, commits

    omp, Claude Code, Codex & Co. arbeiten in herdr wie gewohnt. Auf dem iPhone liest du live mit – als Text oder originalgetreues Terminal – und beantwortest Rückfragen, sobald der Push „Eingabe erwartet“ kommt.

    omp, Claude Code, Codex & co. work in herdr as usual. On the iPhone you follow along live – as text or a faithful terminal – and answer questions as soon as the “Input expected” push arrives.

    Abhängig von der AufgabeDepends on the task

  4. 04

    git push – Coolify deploytgit push – Coolify deploys

    Nach dem Push auf GitHub baut und deployt Coolify die Web-App oder das Backend automatisch – auf deinem eigenen Server.

    After the push to GitHub, Coolify builds and deploys the web app or backend automatically – on your own server.

    Abhängig vom ProjektDepends on the project

  5. 05

    testflight-upload bringt den iOS-Build zu TestFlighttestflight-upload ships the iOS build to TestFlight

    Mit dem Skill testflight-upload archiviert der Agent die App (Build-Nummer = Zeitstempel), lädt sie zu App Store Connect hoch, wartet die Verarbeitung ab, setzt „Was testen“ und gibt den Build für die interne TestFlight-Gruppe frei.

    Using the testflight-upload skill, the agent archives the app (build number = timestamp), uploads it to App Store Connect, waits for processing, sets “What to Test” and releases the build to the internal TestFlight group.

    Archiv + Upload ≈ 3–10 min · Apple-Verarbeitung ≈ 5–30 minArchive + upload ≈ 3–10 min · Apple processing ≈ 5–30 min

  6. 06

    Push „Fertig“ mit Bildschirmfoto“Done” push with a screenshot

    Ist der Agent fertig, schickt der Gateway „Fertig · <Workspace>“ mit Zusammenfassung und Bildschirmfoto des Panes aufs iPhone – wie bei iOS üblich auch auf die gekoppelte Watch. Die Watch-Komplikation zeigt den Agent-Status.

    When the agent is done, the gateway sends “Done · <workspace>” with a summary and a screenshot of the pane to the iPhone – and, as usual on iOS, to the paired Watch. The Watch complication shows the agent status.

    SekundenSeconds

  7. 07

    TestFlight-Update auf dem iPhoneTestFlight update on the iPhone

    Sobald Apple den Build verarbeitet hat, steht er in TestFlight für die interne Gruppe bereit: aktualisieren und ausprobieren.

    As soon as Apple has processed the build, it is available in TestFlight for the internal group: update and try it.

    Nach der VerarbeitungAfter processing

  8. ↻

    Schleife: Feedback → Issue → AgentLoop: feedback → issue → agent

    Tester schicken in TestFlight einen Screenshot mit Kommentar. asc-feedback holt ihn aus App Store Connect, analysiert ihn und legt ein GitHub-Issue (fix / feature / improvement) im Backlog des Project-Boards an; Duplikate werden als Vorkommen ergänzt. Der Gateway meldet Neues per Push und auf der Watch – und das Issue wird zum nächsten Auftrag für den Agent.

    Testers send a screenshot with a comment from TestFlight. asc-feedback fetches it from App Store Connect, analyses it and files a GitHub issue (fix / feature / improvement) in the backlog of the project board; duplicates are added as occurrences. The gateway reports news by push and on the Watch – and the issue becomes the agent's next task.

    Hintergrund-Scan, Standard alle 5 minBackground scan, every 5 min by default

FunktionenFeatures

Alles, was du unterwegs brauchstEverything you need on the go

  • Live-Terminal

    Alle Sessions, Tabs und Panes aller Gateways live – als umgebrochener Text oder originalgetreues Terminal mit Pinch-Zoom. Jedes Zeichen geht sofort ins Terminal.

    All sessions, tabs and panes of every gateway, live – as wrapped text or a faithful terminal with pinch zoom. Every keystroke goes straight to the terminal.

  • DiktatDictation

    Mikrofon-Taste mit Live-Transkript (Deutsch/English, auf dem Gerät wenn möglich): einfügen oder direkt als Prompt senden – auch von der Watch.

    Microphone key with live transcript (German/English, on-device when possible): insert it or send it straight as a prompt – from the Watch, too.

  • Push mit BildschirmfotoPush with screenshot

    „Eingabe erwartet“ mit der Frage, „Fertig“ mit Zusammenfassung und Bildschirmfoto des Panes; Tippen öffnet den Tab. Live Activity, solange Agents arbeiten.

    “Input expected” with the question, “Done” with a summary and a screenshot of the pane; tapping opens the tab. A Live Activity while agents are working.

  • GitHub-Issues & BoardGitHub issues & board

    Issues filtern, anlegen, kommentieren, Labels setzen; Projects-Kanban mit Drag & Drop – über die gh-Anmeldung des Macs.

    Filter, create and comment on issues, set labels; Projects kanban with drag & drop – via the Mac's gh login.

  • Beta-Feedback → IssuesBeta feedback → issues

    TestFlight-Screenshots, Kommentare und Abstürze werden analysiert und als Issues angelegt; mit Vorschau (Dry-Run) und Auswahl.

    TestFlight screenshots, comments and crashes are analysed and filed as issues; with preview (dry run) and selection.

  • Verbrauch & KontingenteUsage & quotas

    Tokens und API-Gegenwert je Anbieter, Modell, Workspace und Commit; Limit-Fenster (z. B. 5h/7d) mit Prognose und Abo-Vergleich.

    Tokens and API-equivalent cost per provider, model, workspace and commit; limit windows (e.g. 5h/7d) with forecast and plan comparison.

  • Watch-KomplikationWatch complication

    Agent-Aktivität, ausstehende Frage und Kontingent auf dem Zifferblatt – groß in „Modular Ultra“, sonst rechteckig oder im Smart Stack.

    Agent activity, pending question and quota on the watch face – large in “Modular Ultra”, otherwise rectangular or in the Smart Stack.

  • Software-Hub & UpdatesSoftware hub & updates

    Installierte Werkzeuge, Versionen und Updates – per Knopfdruck aktualisieren. Kanal wählbar: Release oder Zwischenstände von main.

    Installed tools, versions and updates – update with one tap. Choose a channel: release or interim builds from main.

  • Setup-AssistentSetup assistant

    Der Mac-Proxy führt durch Tailscale, herdr, Agents, Werkzeuge, Konten und das Koppeln des iPhones per QR-Code.

    The Mac proxy walks you through Tailscale, herdr, agents, tools, accounts and pairing your iPhone via QR code.

  • Secrets & Config-EditorSecrets & config editor

    Ein zentraler Ort für API-Schlüssel (nur lokal, Datei mit 0600) und ein Editor für die Konfigurationsdateien von Agents und Tools – mit Validierung und Backup.

    One central place for API keys (local only, file mode 0600) and an editor for the config files of agents and tools – with validation and backup.

ArchitekturArchitecture

Dein Mac bleibt die ZentraleYour Mac stays in charge

Der Gateway läuft auf deinem Rechner und ist nur über dein Tailnet erreichbar. Benachrichtigungen und Watch-Daten gehen Ende-zu-Ende-verschlüsselt über ein Push-Relay: Das Relay sieht nur Metadaten (Geräte-Token, Topic, Umgebung, Push-Typ, Zeitpunkt, Größe, IP des Gateways), die Inhalte nur als Chiffretext.

The gateway runs on your machine and is only reachable through your tailnet. Notifications and Watch data travel end-to-end encrypted through a push relay: the relay only sees metadata (device token, topic, environment, push type, time, size, gateway IP) and the contents only as ciphertext.

Architekturdiagramm: Apple Watch und iPhone mit DeepDock verbinden sich über Tailscale (WireGuard) mit dem Mac-Proxy „DeepDock Gateway“. Der Gateway spricht über herdr mit den Agents omp, pi, Claude Code, Codex, Gemini CLI und OpenCode, mit GitHub über gh und mit der App Store Connect API. Benachrichtigungen gehen vom Gateway Ende-zu-Ende-verschlüsselt über das Push-Relay auf Coolify an APNs und von dort an iPhone und Watch. DeepDockKit liefert die eigenen Werkzeuge per git (Release oder main) an den Proxy. GitHub löst Deployments auf Coolify aus. Architecture diagram: Apple Watch and iPhone running DeepDock connect via Tailscale (WireGuard) to the Mac proxy “DeepDock Gateway”. The gateway talks through herdr to the agents omp, pi, Claude Code, Codex, Gemini CLI and OpenCode, to GitHub via gh and to the App Store Connect API. Notifications go end-to-end encrypted from the gateway through the push relay on Coolify to APNs and on to iPhone and Watch. DeepDockKit delivers the own tools via git (release or main) to the proxy. GitHub triggers deployments on Coolify.

WatchConnectivity WireGuard HTTP · WS unix socket gh Deploy git · Release/main git · release/main API E2E-verschlüsselt E2E-encrypted Apple WatchWatch-App iPhoneDeepDock Tailscale DeepDock GatewayMac-Proxy · MenüleisteMac proxy · menu bar herdr Agents omp pi Claude Code Codex Gemini CLI OpenCode DeepDockKitgit · MIT GitHub CoolifyWeb-App · Backend App Store Connect API Push-RelayCoolify APNs WireGuard unix socket Deploy E2E Apple WatchWatch-App iPhoneDeepDock APNs Tailscale Push-RelayCoolify DeepDockGateway DeepDockKit GitHub herdr CoolifyWeb-App · Backend Agents omp pi Claude Code Codex Gemini CLI OpenCode App StoreConnect API
  • Tailscale – Der Gateway lauscht nur auf Loopback und Tailnet; nie ins offene Internet stellen.The gateway only listens on loopback and the tailnet; never expose it to the open internet.
  • Push-Relay – AES-256-GCM, gebunden an Schlüssel-ID und Push-Typ, mit Zeitstempel; ein Schlüssel pro Gerät und Gateway, über das Tailnet übergeben. Ausnahme: Live Activities rendert iOS selbst – über das Relay enthalten sie nur unverschlüsselte Zähler und die Startzeit, keine Titel, Workspaces oder Rechnernamen.AES-256-GCM, bound to key ID and push type, with a timestamp; one key per device and gateway, exchanged over the tailnet. Exception: iOS renders Live Activities itself – via the relay they only carry unencrypted counters and the start time, no titles, workspaces or host names.
  • DeepDockKit – Eigene Werkzeuge kommen per git aus dem Kit (Release oder main); fremde Tools installiert der Assistent aus den Originalquellen.Own tools come from the kit via git (release or main); third-party tools are installed by the assistant from their original sources.

InstallationInstall

In drei Schritten startklarReady in three steps

  1. 1

    iOS-App über TestFlightiOS app via TestFlightBETA

    DeepDock für iPhone und Apple Watch ist eine Beta und kommt über einen öffentlichen TestFlight-Link – kostenlos.

    Den öffentlichen Link gibt es erst nach Apples Beta App Review. Jeder TestFlight-Build ist bis zu 90 Tage testbar; danach brauchst du einen neueren Build aus TestFlight.

    DeepDock for iPhone and Apple Watch is a beta, distributed free of charge through a public TestFlight link.

    The public link is only available after Apple's Beta App Review. Each TestFlight build can be tested for up to 90 days; after that you need a newer build from TestFlight.

    In TestFlight öffnenOpen in TestFlight Link folgtLink coming soon

    Neuigkeiten zur Beta:Beta news: README · Releases

  2. 2

    Mac-Proxy installierenInstall the Mac proxy

    Ein Befehl im Terminal prüft bzw. installiert die Grundlagen (Xcode-Kommandozeilenwerkzeuge, Homebrew, Node.js, git) und richtet das Kit ein. Den Proxy „DeepDock Gateway“ installiert er, sobald ein Release-Download verfügbar ist.

    Der Proxy-Download folgt mit dem ersten Release. Bis dahin können Berechtigte den Proxy aus dem Quellcode bauen.

    One command in Terminal checks or installs the basics (Xcode command line tools, Homebrew, Node.js, git) and sets up the kit. It installs the “DeepDock Gateway” proxy as soon as a release download is available.

    The proxy download will come with the first release. Until then, authorised users can build the proxy from source.

    curl -fsSL https://deepdock.appriff.de/install.sh | bash

    Downloads:Downloads: GitHub Releases · Skript ansehenview script

  3. 3

    Assistent im ProxyProxy assistant

    Der „DeepDock Gateway“ in der Menüleiste führt dich durch die Einrichtung:

    “DeepDock Gateway” in the menu bar walks you through the setup:

    • Tailscale verbindenConnect Tailscale
    • herdr installierenInstall herdr
    • Coding-Agents wählenChoose coding agents
    • Schlüssel hinterlegen (App Store Connect, GitHub …)Store keys (App Store Connect, GitHub …)
    • iPhone per QR-Code koppelnPair the iPhone via QR code

WerkzeugeTools

Gebaut auf großartigen WerkzeugenBuilt on great tools

DeepDock liefert keine fremde Software mit: Der Assistent installiert jedes Werkzeug aus seiner Originalquelle, und du akzeptierst die Bedingungen der Hersteller selbst. Die Namen dienen nur der Beschreibung – keine Partnerschaft oder Empfehlung durch die Hersteller.

DeepDock bundles no third-party software: the assistant installs every tool from its original source, and you accept each vendor's terms yourself. Names are used descriptively only – no partnership with or endorsement by the vendors.