Claude ist ein Chat mehr.
aipager bringt deine Sitzungen von Claude Code nach Telegram, zwischen deine Familie, deine Freunde und dein Team. Es läuft auf deinem Computer.
Eine Sitzung von Claude Code liegt auf deinem Laptop bereit, im Auto-Modus, in dem jede neue Sitzung startet.
curl -fsSL aipager.run/install | shLinux & macOS · MIT · rund eine Minute
Drei Modi. Du startest im Auto-Modus.
Jede Sitzung läuft in einem der drei Modi, pro Sitzung eingestellt und jederzeit mit /mode änderbar. Der Fragen-Modus hält vor jeder Aktion an. Der Auto-Modus, in dem jede neue Sitzung startet, lässt die Sicherheitsprüfung von Claude Code die sicheren Aufrufe durchlassen und die riskanten für dich anhalten. Der Vollzugriff-Modus führt alles ohne jede Prüfung aus. Ein Modus steuert nur die Berechtigungsanfragen von Claude Code, sonst nichts: In einer Gruppe wird ein Tool, das die Rolle eines Mitglieds nicht nutzen darf, trotzdem abgelehnt, egal, was der Modus sagt.
- ✅ Erlauben · nur diesen einen Aufruf
- ❌ Ablehnen · Claude blockiert den Aufruf
- 🟢 Immer erlauben · fügt die Regel hinzu, die Claude anbietet, wenn es eine gibt
- ⏹ Stoppen · unterbricht die Aufgabe, statt zu antworten
Zeigt einen Button für jeden anderen Modus; /mode ask, /mode auto und /mode full wechseln sofort. Neue Sitzungen starten im Auto-Modus, außer der Chat hat es unter /settings → Neue Sitzungen anders eingestellt.
Kein Neustart, auch während Claude arbeitet: aipager drückt Shift+Tab in der Sitzung, und die Karte zeigt den Wechsel an, bis Claude Code den neuen Modus bestätigt.
Der Wechsel in den Vollzugriff-Modus oder aus ihm heraus startet die Sitzung neu; die Unterhaltung bleibt erhalten. Nur ein Admin kann eine Sitzung in diesem Modus starten oder eine laufende dorthin umschalten (oder du, in deinem eigenen privaten Chat mit dem Bot).
Ein Modus steuert Berechtigungsanfragen, keine Entscheidungen: Wenn Claude dich etwas fragt, landen die Buttons in jedem Modus in deinem Chat.
Drei Chats. Alles andere ist einfach dein Leben.
- aipagerBot⏳ api · Arbeitet · 3:14 · Read ×2 · Bash ×2Dein Chat mit Claude
Ein Chat für alle deine Sitzungen. Pro Aufgabe eine Karte, die sich selbst aktualisiert, Anfragen, die du mit einem Tippen beantwortest, und eine angeheftete Leiste, die zeigt, was auf dich wartet. Eine normale Nachricht geht an die Sitzung, die in der Leiste steht; /web schickt die nächste woandershin, und danach gehen deine Nachrichten dorthin.
/status/new/mode/stop/app/<sitzung> <nachricht> - BTbackend-teamGruppe · TeambetriebSara: @aipagerbot /web lass den Login-E2E gegen staging laufenDie Gruppe deines Teams
Steck den Bot in eine Gruppe, und alle auf der Liste der erlaubten Personen können ihn erwähnen. Jede Nachricht läuft mit der Rolle der Person, die sie schickt; ein Tool, das diese Rolle nicht nutzen darf, wird abgelehnt, bevor es läuft, und jede Entscheidung landet im Audit-Log, mit dem Namen der Person, die getippt hat.
owneradminuserread_only - JJimeigener Chat mit dem Bot🔐 web · Braucht deine ErlaubnisJemand anderes, im eigenen Chat
Nimm den privaten Chat eines Teammitglieds mit dem Bot dazu: Das Mitglied steuert seine eigenen Sitzungen, mit eigener Rolle und eigenem Stammordner: Claude arbeitet für das Mitglied in diesem Ordner und liest nichts in deinem Home-Ordner außerhalb davon. Wer nur zuschauen soll, bekommt in deiner Gruppe read_only.
Stammordner der Mitglieder~/aipager-users/<label>read_only/new
Vier Rollen und pro Rolle eine Tool-Regel.
Es zählt die Rolle, die du in dem Chat hast, in dem du gerade bist. Ein Tool, das eine Rolle nicht nutzen darf, wird abgelehnt, bevor es läuft, ohne Nachfrage. Nichts in Telegram und nichts in der Mini App ändert, wer auf der Liste der erlaubten Personen steht: nur aipager config, auf dem Computer.
| Darf | owner | admin | user | read_only |
|---|---|---|---|---|
| Nachrichten an eine Sitzung schicken | ✓ | ✓ | ✓ | ✕ |
| Erlauben, Ablehnen, Claudes Fragen beantworten | ✓ | ✓ | ✓ | ✕ |
| Bash und alles andere, was Code ausführt | ✓ | ✓ | ✕ | ✕ |
| Vollzugriff-Modus, die /settings einer Gruppe, /update | ✓ | ✓ | im eigenen Chat | ✕ |
| Wo ihre Sitzungen arbeiten dürfen | überall | überall | im Stammordner | im Stammordner |
| Dateien mit Anmeldedaten lesen (~/.ssh, …) | ✓ | ✓ | ✕ | ✕ |
Nutz es wie einen Chat.
Keine Konsole mit Chat-Anstrich: Alles, was du in Telegram sowieso machst, geht auch hier. Sprich auf dem Heimweg eine Sprachnachricht ein, wirf den Screenshot rein, schreib den nächsten Gedanken, bevor der letzte fertig ist.
- 🎙️Sag es einfach
Schick eine Sprachnachricht: aipager wandelt sie auf deinem eigenen Computer in Text um (nie in irgendeiner Cloud), schickt dir zurück, was es verstanden hat, und tippt sie in die Sitzung, als hättest du sie geschrieben.
0:07🎙️ Gehört: fix den flaky Login-E2E-Test - 📎Ein Screenshot vom Bug
Fotos und Dateien landen in einem Ordner auf deinem Computer, und Claude bekommt den Pfad, mit deiner Bildunterschrift als Nachricht oder mit „check this: …“, wenn du keine geschrieben hast. Schick mehrere auf einmal, und sie gehen als eine Nachricht raus.
- 📤Es schickt dir Dateien
Bitte in deinen eigenen Worten darum, „schick mir den Screenshot“, und die Datei kommt direkt nach der Antwort in den Chat dieser Sitzung: Bilder als Fotos, Videos und Audio als das, was sie sind, alles andere als Datei, mehrere auf einmal als ein Album. Nie die Einstellungen von aipager, die Zugangsdaten von Claude oder deine Schlüssel: Die werden abgelehnt, bevor irgendetwas gesendet wird.
schick mir den Screenshot - 👀Schick die nächste sofort
Deine Nachricht geht in dem Moment an Claude, in dem du sie sendest, auch mitten in einer Aufgabe: 👀, solange Claudes eigene Warteschlange sie hält, 👍, wenn Claude sie annimmt. „⚡ Jetzt senden“ gibt sie weiter, ohne das Ende des Schritts abzuwarten.
- ⏸Nie als Antwort gelesen
Eine Nachricht, die du schickst, während eine Berechtigungsanfrage offen ist, wird zurückgehalten, statt als Antwort auf die Anfrage zu zählen, und geht an die Sitzung, sobald du die Anfrage beantwortet hast.
- 🤖Agenten und Hintergrundbefehle, mitgezählt
Jeder Hintergrund-Agent, den Claude startet, bekommt eine eigene Zeile auf der Karte mit dem, was er gerade tut, und ein Befehl, der im Hintergrund weiterläuft, zeigt seine eigene Uhr, bis er endet.
- 🔔Es sagt dir Bescheid
Eine Warnung zum Kontext, eine Komprimierung, eine Sitzung, die beendet ist oder nichts mehr meldet, eine Aufgabe, die ungewöhnlich lange läuft: Der Chat sagt es dir, ohne dass du nachsehen musst.
- ⌨️Die Buttons sind schon da
Unter dem Eingabefeld liegt eine Tastatur: ein Button pro laufender Sitzung, dann Status, Stop und Neu…, dann Vorlagen › für die Nachrichten, die du immer wieder tippst, und Befehle › für alles, was Claude Code selbst erledigt.
- 📋/status, der ganze Chat auf einmal
Alle Sitzungen in einer Liste, die du direkt bedienen kannst: was jede gerade tut, ihr Modell, wie viel Kontext noch bleibt, was sie gekostet hat, was in ihrer Warteschlange steht, mit „Stoppen“, „Antworten“ und dem Rest des Menüs bei jeder einzelnen.
Ein Dashboard, ohne Telegram zu verlassen.
/app zeigt alle Sitzungen auf einmal: eine Kachel pro Sitzung, mit ihrem Kontext-Ring, ihrem Ordner, ihrem Modell und dem, was sie gekostet hat. Du antwortest weiter im Chat; die App ist für den Überblick über alle da und für das, was im Chat umständlich ist, etwa Änderungen (diff) lesen oder eine Einstellung ändern.
Eine Kachel pro Sitzung, mit Kontext-Ring, wem sie gehört, Modell und Kosten. Darüber eine Zeile, die sagt, wie es im Chat steht: was arbeitet, was bereit ist, was der Tag gekostet hat, wie viele beendet sind. Mit dem + startest du eine weitere: ein Name, einer der Ordner, die du schon nutzt, ein Modell.
Eine Sitzung, die auf deine Antwort zu einer Berechtigungsanfrage oder Frage wartet, steht ganz oben, mit dem, was sie fragt. „Im Chat antworten“ schickt die Anfrage samt Buttons wieder ans Ende des Chats, und du beantwortest sie dort.
Oben der Zustand, „Arbeitet (3:12)“ oder „Bereit, zuletzt aktiv vor 5 Min.“, und mit einem Tippen „Stoppen“ oder „Fortsetzen“. Darunter die zuletzt genutzten Tools, die letzte Antwort, die Modellauswahl, die Dateien, die Claude in dieser Aufgabe geändert hat, als Änderungen (diff), und die eigenen Einstellungen dieser Sitzung.
Sie ist standardmäßig an, jede Anfrage an die App wird anhand der Signatur von Telegram geprüft, und die Seite lädt nichts von anderswo: keine Schriften, keine Skripte. aipager miniapp disable schaltet sie aus.
In deiner Sprache, bis hin zu den Ziffern.
Nur die eigenen Wörter von aipager ändern sich: Karten, Anfragen, Buttons, die angeheftete Leiste, /status, die Mini App, die Docs. Deine Sitzungen nicht: Claude antwortet in der Sprache, in der du schreibst, und was aipager an Claude schickt, bleibt, wie es war. Wähl eine mit /language oder lass aipager die Sprache deiner Telegram-App übernehmen.
Persisch und Arabisch laufen von rechts nach links, mit persischen (۰-۹) oder arabisch-indischen (٠-٩) Ziffern und eigenen Trennzeichen, in Telegram und in der Mini App. Sitzungsnamen, Pfade, Befehle und Code behalten ihre eigene Richtung.
Jede Sprache ist so geschrieben, wie die Leute, die ihre Apps in dieser Sprache nutzen, wirklich reden, Lehnwörter inklusive, und mit ihren eigenen Pluralformen (Arabisch hat sechs).
Ein privater Chat kann die Sprache deiner Telegram-App übernehmen. Eine Gruppe hat eine Sprache, die ein Admin festlegt, und ein Hinweis nach einem Tippen erscheint in der Sprache der Person, die getippt hat.
Die README und jede Seite unter docs/ sind übersetzt. Wenn eine Übersetzung und die englische Seite voneinander abweichen, gilt die englische Fassung.
pnpm test e2e/login --trace onMaßgeblich bleibt das Terminal.
Claude Code läuft in einem echten Terminal, in dtach, also muss niemand ein Fenster offen halten. Jeder Schritt löst einen Hook aus, der ein Datagramm über einen lokalen Socket an aipager schickt, und aipager bearbeitet eine Nachricht in deinem Chat. Deine Antworten gehen denselben Weg zurück: eine Entscheidung an den Hook, der den Aufruf hält, oder Tastenanschläge in die Sitzung.
- Claude Codein dtach, kein Fenster nötig
- Hooklöst bei jedem Schritt aus
- aipagerein Prozess, unter deinem Benutzer
- Telegramdein eigener Bot-Token
- deine Chatsdein privater Chat, die Gruppe deines Teams
aipager session api verbindet dich aus jedem Terminal mit der laufenden Sitzung. Tipp dort, tipp im Chat: dieselbe Sitzung. Schließ das Fenster, und sie läuft weiter; die Verbindung folgt der Sitzung sogar durch einen Neustart.
aipager tippt in die Sitzung und hört auf die eigenen Ereignisse von Claude Code. Was dein Chat zeigt, kommt aus den Hooks und der gespeicherten Unterhaltung, nicht aus dem Auslesen eines Terminals.
Ein Hook schickt ein Datagramm und ist fertig; das kostet Claude Code etwa 20 ms. Hört aipager gerade nicht zu, fällt das Ereignis einfach weg und Claude macht weiter; aipager holt später aus den eigenen Dateien der Sitzung nach, was gefehlt hat.
Nichts dazwischen.
aipager spricht nie mit Anthropic. Das tut nur Claude Code selbst, mit deinem eigenen Login, auf deinem eigenen Computer. aipager startet es in einem Terminal und hört auf die Hooks, die Claude Code veröffentlicht. Kein nachgebauter Endpunkt, kein Proxy, kein Konto außer deinem: Die Sitzung, die du vom Handy aus steuerst, ist dieselbe, die du an der Tastatur steuern würdest.
aipager spricht mit der Telegram Bot API über deinen eigenen Bot-Token. Es gibt kein aipager-Konto und keinen aipager-Dienst, und zwischen deinem Handy und deinem Computer steht kein fremder Computer.
aipager antwortet nur in den Chats, die in deiner Konfiguration stehen. Fremde, die den Bot finden, bekommen nur eine Zeile, dass er nicht für sie eingerichtet ist; nichts, was sie schicken, erreicht eine Sitzung.
aipager lauscht nur auf Loopback. Die Mini App geht über einen Cloudflare-Tunnel nach außen, wo jede Anfrage Telegrams Signatur tragen muss, und aipager miniapp disable schaltet sie aus.
Der Bot-Token und die Chat-IDs liegen in ~/.config/aipager/aipager.yaml mit den Dateirechten 600. Sie kommen nicht ins Log von aipager und werden überall geschwärzt, wo sie doch in ein Log rutschen könnten.
Kein sudo, kein setuid. Alles, was es schreibt, liegt in deinem Home-Ordner, in /tmp oder in seinem eigenen Socket-Ordner, und jeder Prozess, den es startet (claude, dtach, die Installer), läuft unter deinem Benutzer.
In deiner settings.json steht, wofür nachgefragt werden muss. aipager reicht die Frage nur weiter; es entscheidet nie, was laufen darf, und ein Button aus einer fertigen Aufgabe ist veraltet und greift nicht in die Arbeit ein, die gerade läuft.
Mitglieder und Rollen ändern sich nur mit aipager config, auf dem Computer. Nichts in Telegram und nichts in der Mini App fügt eine Person hinzu oder erweitert eine Rolle.
Jedes Erlauben, jedes Ablehnen und jede Antwort wird an ~/.claude/aipager-audit.jsonl angehängt (nie überschrieben), in einer Gruppe mit dem Namen der Person, die getippt hat.
Vier Zeilen. Ab in die Gespeicherten Nachrichten.
Tipp auf eine Zeile, um sie zu kopieren. Zwei Dinge vorher: ein eigener Bot von @BotFather (tipp dort auf „Starten“) und Claude Code, auf diesem Computer angemeldet. Der Assistent in Zeile zwei fragt den Rest ab.
Leg den Bot-Token in eine Datei, die der Agent nie lesen muss, und gib Claude Code dann das hier:
Install aipager for me by following https://aipager.run/agent.md. My Telegram bot token is in ~/.config/aipager/bot-token and my Telegram user id is <your id>.
Lieber dein Paketmanager? uv, pipx, Homebrew, Docker, Nix, das AUR und Snap. alle Wege zur Installation →
Frag einfach.
Hol Claude in deine Chats.
Dann mach das Terminal zu und genieß deinen Abend.