Plattform-Edition
Script Runner für macOS
Verarbeitet Transkriptionen mit eigenen Shell-Skripten über stdin und stdout.
- Version
- 1.2.1
- Plugin-ID
- com.
typewhisper. script - Anforderungen
- TypeWhisper 1.8.0 oder neuer · macOS 14.0 oder neuer
Einblick in diese Edition

Funktionen dieser Edition
- Nachbearbeitung des Transkriptionstexts
- Eigene Shell-Befehle
- Textübergabe über stdin und Ergebnis über stdout
- Optionale Ausführungsregeln
- Optionale Exportläufe für fertige Recorder-Transkripte
Einstellungen dieser Edition
- Name, Befehl, optionale Ausführungsregeln und optionale Recorder-Läufe je Skript festlegen
Über
Das Script Runner Plugin leitet transkribierten Text durch einen beliebigen Shell-Befehl oder ein Skript. Dein Text wird über stdin übergeben, und was der Befehl auf stdout schreibt, wird zur finalen Ausgabe. Das gibt dir volle Flexibilität, Transkriptionen mit Standard-Unix-Tools, eigenen Skripten oder beliebigen Kommandozeilenprogrammen zu transformieren, filtern oder anzureichern.
Features
- Beliebige Shell-Befehle auf transkribiertem Text ausführen
- Text fließt über stdin/stdout - funktioniert mit Standard-Unix-Pipes
- Umgebungsvariablen mit Kontext (App-Name, URL, Sprache, Profil)
- Zeitlimit von fünf Sekunden pro Lauf unter macOS gegen unkontrollierte Skripte
- Regelfilter zur Einschränkung auf bestimmte Regeln
- Unter macOS optional Exportläufe für fertige Recorder-Transkripte
- Ausführungsprotokoll zur Fehlersuche
Umgebungsvariablen
Die folgenden Umgebungsvariablen stehen deinen Skripten zur Verfügung, wenn sie ein Diktat verarbeiten. Läufe für Recorder-Transkripte erhalten eigene Variablen, beschrieben unter Recorder-Transkripte.
- TYPEWHISPER_APP_NAME - Name der aktiven Anwendung (z.B. “Safari”)
- TYPEWHISPER_BUNDLE_ID - Bundle-Identifier der aktiven App (z.B. “com.apple.Safari”)
- TYPEWHISPER_URL - Aktuelle URL aus dem Browser, falls verfügbar
- TYPEWHISPER_LANGUAGE - Sprachcode der Transkription (z.B. “en”)
- TYPEWHISPER_RULE - Name der Regel, deren Filter gepasst hat, falls vorhanden
- TYPEWHISPER_PROFILE - Derselbe Wert wie TYPEWHISPER_RULE, für ältere Skripte
- TYPEWHISPER_SELECTED_TEXT - In der aktiven App markierter Text, falls vorhanden
Beispiele
GROSSBUCHSTABEN - Allen Text in Großbuchstaben umwandeln:
tr '[:lower:]' '[:upper:]'
Satzanfang groß - Den ersten Buchstaben jedes Satzes groß schreiben:
perl -pe 's/(^|[.!?]\s+)([a-z])/$1\u$2/g'
Suchen & Ersetzen - Bestimmte Wörter oder Phrasen ersetzen:
sed 's/old/new/g'
Zeitstempel anhängen - Aktuelles Datum und Uhrzeit am Ende anfügen:
cat; echo " ($(date '+%Y-%m-%d %H:%M'))"
Füllwörter entfernen - Füllwörter wie „um“ und „uh“ herausfiltern:
perl -pe 's/(?:^|(?<=\s))(?:uhm|uh|um|erm)\b,?\s*//gi; s/\s+([,.!?])/$1/g'
In Zwischenablage kopieren + zurückgeben - Text in die Zwischenablage kopieren und trotzdem zurückgeben:
text=$(cat); printf '%s' "$text" | pbcopy; printf '%s' "$text"
Externes Skript - Ein externes Skript ausführen:
~/scripts/process.sh
Recorder-Transkripte
Verfügbar unter macOS ab TypeWhisper 1.8 mit Version 1.2.0 oder neuer dieses Add-ons. TypeWhisper für Windows bietet diese Option nicht.
Ist Auch für fertige Recorder-Transkripte ausführen eingeschaltet, führt Script Runner den Befehl zusätzlich aus, sobald TypeWhisper ein Recorder-Transkript gespeichert hat. Das gilt für manuelle, Kalender- und API-Aufnahmen und auch für erneute Transkriptionen. Die Option ist standardmäßig ausgeschaltet, auch bei Skripten, die du schon früher eingerichtet hast. Sie hängt nicht vom Regelfilter ab.
Läufe für Recorder-Transkripte exportieren das Transkript, statt es zu verändern:
- Der Befehl erhält das gespeicherte Transkript über stdin. Jedes Skript bekommt das ursprüngliche Transkript, nicht die Ausgabe eines anderen Skripts.
- Was der Befehl auf stdout schreibt, wird ignoriert und verändert das gespeicherte Transkript nicht. Die Ausgabe darf leer sein.
- Ein Exit-Status ungleich null gilt als Fehler und erscheint im Ausführungsprotokoll.
Diese Umgebungsvariablen beschreiben die Aufnahme:
- TYPEWHISPER_SOURCE - Immer
recorder - TYPEWHISPER_RECORDING_ID - UUID der Aufnahme. Sie bleibt auch nach einer erneuten Transkription gleich.
- TYPEWHISPER_COMPLETION_ID - UUID dieser erfolgreichen Speicherung
- TYPEWHISPER_COMPLETED_AT - Zeitpunkt der Speicherung in Unix-Sekunden
- TYPEWHISPER_AUDIO_FILE - Pfad der Audiodatei
- TYPEWHISPER_TRANSCRIPT_FILE - Pfad des Transkripts als reiner Text
- TYPEWHISPER_MARKDOWN_FILE - Pfad des Markdown-Transkripts. Nur gesetzt, wenn eines gespeichert wurde. Das betrifft derzeit Kalenderaufnahmen mit Meeting-Metadaten.
Ab Version 1.3.0 dieses Add-ons und TypeWhisper 1.8.1 bekommen Aufnahmen, die aus dem Kalender gestartet wurden, zusätzlich die Angaben zum Termin. Bei allen anderen Aufnahmen sind diese Variablen nicht gesetzt, so kann ein Skript beide unterscheiden:
- TYPEWHISPER_MEETING_TITLE - Titel des Kalendertermins
- TYPEWHISPER_MEETING_START - Beginn des Termins in ganzen Unix-Sekunden
- TYPEWHISPER_MEETING_END - Ende des Termins in ganzen Unix-Sekunden
- TYPEWHISPER_MEETING_ATTENDEES - Teilnehmer, einer pro Zeile: der Name oder, wenn der Kalender keinen Namen kennt, die E-Mail-Adresse
Da Beginn und Ende ganze Sekunden sind, gibt date -r "$TYPEWHISPER_MEETING_START" +%H:%M die Startzeit aus.
Unter macOS beendet Script Runner jeden Lauf nach fünf Sekunden, bei Diktaten genauso wie bei Recorder-Transkripten. Gib längere Arbeit an einen anderen Prozess ab, etwa indem du das Transkript in einen Ordner kopierst, den ein separater Job verarbeitet.
Derselbe Befehl läuft weiterhin auch für Diktate, die zu seinem Regelfilter passen. Dort ersetzt seine Ausgabe wie gewohnt den Text. Wenn du nur Recorder-Transkripte exportieren willst, prüfe TYPEWHISPER_SOURCE und gib Diktattext unverändert zurück:
if [ "$TYPEWHISPER_SOURCE" = recorder ]; then
mkdir -p "$HOME/Meeting Notes" &&
cp "$TYPEWHISPER_TRANSCRIPT_FILE" "$HOME/Meeting Notes/"
else
cat
fi
Skripte laufen nur, solange TypeWhisper läuft, und die Zustellung ist nicht garantiert. Transkripte, die ein Skript verpasst hat, holst du mit GET /v1/recorder/recordings über die lokale API nach. Der Endpunkt liefert je Aufnahme das zuletzt gespeicherte Transkript, nicht jede Fassung: Wurde eine Aufnahme vor dem Nachholen erneut transkribiert, bekommst du nur das neuere Transkript.
Konfiguration
Jedes Skript hat diese Einstellungen:
- Name - Der Name in der Skriptliste und im Ausführungsprotokoll.
- Befehl - Der auszuführende Shell-Befehl. Text wird über stdin übergeben, die Ausgabe wird von stdout gelesen.
- Auch für fertige Recorder-Transkripte ausführen - Führt den Befehl zusätzlich für jedes gespeicherte Recorder-Transkript aus. Verfügbar unter macOS ab TypeWhisper 1.8, standardmäßig ausgeschaltet.
- Rules - Beschränkt Diktatläufe optional auf bestimmte Regeln. Ohne Auswahl läuft das Skript für alle Transkriptionen.
Das Zeitlimit von fünf Sekunden unter macOS ist fest und lässt sich nicht einstellen.
Einrichtung
- Öffne in TypeWhisper Einstellungen > Plugins entdecken und installiere Script Runner. Das Add-on erscheint danach in der Seitenleiste der Einstellungen, und seine Seite öffnet sich.
- Klicke auf Skript hinzufügen.
- Gib einen Namen und deinen Shell-Befehl oder den Pfad zu einem Skript ein.
- Wähle optional Regeln aus, um Diktatläufe einzuschränken. Wenn du Recorder-Transkripte exportieren willst, schalte Auch für fertige Recorder-Transkripte ausführen ein.
- Klicke auf Sichern. Passende Transkriptionen werden automatisch durch dein Skript verarbeitet.