So arbeitest du mit listen
Vier Schritte, jeder auf der Oberfläche, die gerade zur Hand ist: aufnehmen, lesen und korrigieren, teilen, und mit einem Agenten durchsuchen und taggen.
Aufnehmen
Aufgenommen wird ein Raum, kein Telefonat. Wähle die Oberfläche, die du dabei hast. Alle schreiben in dasselbe listen, die Aufnahme taucht überall in deiner Liste auf.
- Mac (Menüleiste). Nimmt Videocalls mit getrenntem Mikrofon- und Systemton auf. Eine fertige Audiodatei lädst du hoch, indem du sie irgendwo ins Fenster ziehst.
- Kommandozeile.
listen recordnimmt über das Mikrofon auf bisStrg-C.listen uploadlädt eine vorhandene Datei hoch. - Im Browser. Zieh eine Audiodatei auf eine beliebige Seite. Am Fensterrand erscheint der Ablage-Rahmen, beim Loslassen ein Fenster mit Titel, Notiz und den weiteren Angaben.
- Android. Eine schlanke App für Gespräche im Raum, per direktem APK.
listen record --title "Standup" # Mikrofon bis Strg-C, dann Upload listen upload meeting.m4a # eine vorhandene Datei stattdessen
Vor der Aufnahme steht die Zustimmung. record und upload fragen nach Zweck, Sichtbarkeit und einer Bestätigung, dass alle Beteiligten einverstanden sind, bevor ein Byte das Gerät verlässt. Titel und Darstellung legst du danach fest.
Die lokale Datei ist die Quelle der Wahrheit: listen löscht nichts, bevor der Upload nachweislich durch ist. Ein Abbruch hinterlässt eine Aufnahme, die du fortsetzen kannst.
Lesen und korrigieren
Öffne eine Aufnahme im Browser. Oben eine kurze Sprecher-Tabelle, darunter das Gespräch in Zeilen. Beim Abspielen läuft die Ansicht mit und markiert die Zeile, die gerade klingt.
- Klick springt. Ein Klick auf eine Zeile setzt das Audio genau dorthin.
- Eigenes Scrollen hat Vorrang. Sobald du selbst scrollst, hört das Mitlaufen für einen Moment auf, damit du in Ruhe zurücklesen kannst.
- Ein Wort korrigieren. Als Eigentümer:in besserst du einen Verhörer direkt in der Zeile aus, oder benennst eine Stimme um. Jede Korrektur wird eine neue Fassung, die alte bleibt erhalten.
- Als Markdown kopieren. Ein Klick legt das ganze Transkript so auf die Zwischenablage, wie es hier steht.
Notizen und Suche
Nach der Aufnahme kannst du eine Notiz anhängen, den Gedanken, der beim Lesen sonst verloren geht. Im Browser gibt es dafür auch einen Aufnahme-Knopf: du sprichst die Notiz, sie wird transkribiert und landet zum Gegenlesen im Feld. Notizen liegen als eigener Tab an der Aufnahme.
Die Suche geht über alle Transkripte und Notizen eines Projekts, mit deutscher Wortstammsuche, sodass „besprechen“ auch „besprochen“ findet. Ein Treffer bringt dich per Klick an genau die Stelle im Gespräch.
Teilen
Eine Aufnahme gehört zunächst dir. Zum Teilen hast du zwei Wege, beide widerrufbar, beide nur für Eigentümer:innen:
- Lese-Link. Öffnet ein Projekt ohne Konto zum Lesen: Transkripte, Notizen, Audio. Der Link wird genau einmal angezeigt, gespeichert wird nur sein Hash. Ein verlorener Link wird neu erzeugt, nicht wiederhergestellt.
- Einzelne Person. Du gibst einer Kollegin per E-Mail Lese-Recht auf eine Aufnahme. Sie meldet sich an und sieht das Transkript, mehr nicht.
Beides nimmst du jederzeit wieder zurück. Ein widerrufener Link öffnet nichts mehr.
Mit einem Agenten arbeiten (CLI und MCP)
listen ist für Coding-Agenten genauso gebaut wie für Menschen. Über die CLI und einen MCP-Server kann Claude Code deine Gespräche durchsuchen, lesen, Transkripte korrigieren und eine eigene Schicht aus Tags und Notizen darüber legen.
Verbinden. Installiere die CLI, melde dich an, und hänge den MCP-Server an deinen Agenten. listen token liefert ein gültiges Zugangs-Token für den Header:
claude mcp add --transport http listen https://listen.senze.ai/api/mcp/mcp \ --header "Authorization: Bearer $(listen token)"
Lesen und durchsuchen. Der Agent sieht dieselben Aufnahmen wie du, nach denselben Regeln. Über MCP durchsucht er Transkripte und Notizen (search_transcripts), holt ein ganzes Transkript (get_transcript) oder fragt den Verarbeitungsstand ab (get_recording_status). Auf der Kommandozeile ist derselbe Griff:
listen list --state transcribed --json # Aufnahmen, maschinenlesbar listen get 0bcdb6c5 # das aktuelle Transkript listen get <recording-id> --agent # mit Äußerungs-IDs, für Agenten
listen get --agent stellt jeder Zeile ihre ID voran ([u7|12:04]). Diese ID ist der Anker: über sie zeigt eine Annotation oder eine Korrektur auf genau eine Stelle.
Korrigieren. Ein Transkript wird nie im Ganzen ersetzt. listen pull schreibt es als Datei, der Agent bessert darin aus was falsch ist, und listen apply vergleicht die Datei mit dem gezogenen Stand und schickt nur die Unterschiede. Ein --dry-run zeigt vorher, was sich ändern würde.
listen pull <recording-id> # das Transkript als editierbare Datei listen apply <file> # nur die Unterschiede werden übernommen listen apply <file> --dry-run # nur ansehen, nichts schicken
Taggen und annotieren. Eine Aufnahme trägt typisierte Schichten, jede über einen Schlüssel benannt. Ein Tag ist eine Annotation mit dem Schlüssel tag, eine Notiz hat note, jeder andere Schlüssel ist deine eigene Konvention. Jede Annotation hängt an genau einem Anker: an der ganzen Aufnahme, oder an einer einzelnen Äußerung.
listen tag 0bcdb6c5 "wichtig" # die ganze Aufnahme
listen tag <recording-id> "action-item" --utterance u7 # eine Äußerung
listen tag <recording-id> "review" --json # gibt die angelegte ID zurück
# ein Wort/eine Phrase INNERHALB einer Äußerung markieren
listen tag <recording-id> "key-term" --utterance u7 --char-start 12 --char-end 20
listen tag <recording-id> "key-term" --utterance u7 --quote "Preisgrenze"
listen annotate <recording-id> --key follow-up --value '{"due":"2026-08-10"}'
listen annotate <recording-id> --key sentiment --value positive --utterance u7tagist der bequeme Weg, er schreibt ein Label.annotateist der allgemeine: jeder--key, und--valuewird als JSON gelesen, wenn es JSON ist, sonst als Text.- Ohne
--utterancehängt die Annotation an der ganzen Aufnahme (dazu muss das Audio fertig verarbeitet sein). Mit--utterancehängt sie an einer Zeile, deren ID auslisten get --agentkommt. - Enger als eine Zeile geht mit
--char-start/--char-endoder--quote: dann zeigt die Annotation auf genau das Wort oder die Phrase.
Derselbe Griff steht dem Agenten über MCP offen: add_annotations legt Tags und Notizen an, list_annotations liest sie. So kann ein Agent zum Beispiel ein ganzes Gespräch durchgehen und jede Aufgabe, die vereinbart wurde, an ihrer Stelle als action-item markieren.
Annotationen schreiben ist Eigentümer:innen vorbehalten, serverseitig erzwungen. Ein Nicht-Eigentümer bekommt eine klare Absage, keinen stillen Fehlschlag. Gelöscht wird nie etwas: eine Korrektur ist immer eine neue Fassung.