Die vier Ebenen 01 Diktieren Hey Murmel 02 Nachschlagen 03 Handeln Gespräch Meetings 04 Betrieb führen Unterwegs Privatsphäre Technik Status
Native macOS-App · Swift · lokal-first Beta

Eine Taste. Und der Rest passiert.

Murmel begann als Ersatz für ein Diktier-Abo: Taste halten, sprechen, loslassen — der Text steht da, wo der Cursor blinkt. Dabei ist es nicht geblieben. Sage ich mitten im Diktat „Hey Murmel", schlägt es in 101.016 Stücken meiner eigenen Dateien nach, legt Termine und Erinnerungen an, schreibt Meetings mit. Und es steuert per Sprache mein komplettes Geschäfts-Backend. Der Kern läuft offline auf dem Mac.

Swift 6.2 · 16.749 Zeilen · 73 Dateien 26 Werkzeuge im Agenten 101.016 Wissens-Stücke, lokal 39 Backend-Werkzeuge whisper.cpp · Ollama · 0 € laufend
Murmel, das Maskottchen: ein flauschiger Ball mit Headset, der winkt
00 Der Unterschied

Diktieren ist die erste Ebene. Nicht die letzte.

Wispr Flow, Voicely, Superwhisper: gute Werkzeuge, alle mit demselben Bauplan — gesprochenes Wort rein, geschriebenes Wort raus. Murmel macht das auch, und dann macht es weiter. Vier Ebenen, jede baut auf der darunter auf. Klick dich durch.

Gesprochenes Wort, geschriebenes Wort.

fn halten, sprechen, loslassen. whisper.cpp erkennt lokal, eine optionale Politur räumt „ähm" und Satzzeichen auf, ⌘V setzt den Text ins aktive Fenster. Terminal, Mail, Browser, egal. 13 Stil-Modi — von „Roh" bis „Claude-Prompt".

Das können die anderen auch. Deshalb ist es nur Ebene 01.

Wer das kann: jedes gute Diktier-Tool
Murmel erklärt etwas mit ausgestreckter Hand

Antworten aus deinen eigenen Unterlagen.

„Hey Murmel, was steht in meiner LinkedIn-Strategie zu Hooks?" — statt zu raten, sucht Murmel erst in 101.016 Text-Stücken aus 5.267 Dateien auf meiner Platte, und antwortet dann mit Quellenangabe: Datei, Abschnitt. Volltext- und Bedeutungssuche parallel, lokal eingebettet.

Ein Diktier-Tool kennt deine Daten nicht. Es soll sie auch gar nicht kennen.

Wer das kann: ein Werkzeug mit Gedächtnis
Murmel mit Lupe

Nicht antworten. Machen.

„Erinnere mich morgen um 9 an den Anruf mit der Bank" landet in der Erinnerungen-App. „Was habe ich Donnerstag vor?" liest den Kalender. Dazu Timer als echte Benachrichtigungen, Bildschirm-Text per Vision-OCR, Dateien über Spotlight, E-Mail-Entwürfe, Nachrichten. 26 Werkzeuge, die der Agent selbst auswählt.

Das geht nur, weil Murmel eine echte macOS-App ist und kein Browser-Tab.

Wer das kann: eine native App mit Rechten
Murmel jongliert mit Zetteln und Briefen

Ein ganzes Geschäft, per Zuruf.

Murmel spricht mit dem Backend von deinebusinesspage: 39 Werkzeuge über 26 Datenbereiche — Kunden, Angebote, Rechnungen, Ausgaben, Projekte, Termine, Board, Umsatzberichte. Lesen läuft sofort durch. Die 10 schreibenden Werkzeuge gehen nie ohne ausdrückliche Bestätigung durch.

„Wie ist der Umsatz diesen Monat?" — gesprochen, beantwortet, mit Zahlen aus der echten Datenbank.

Wer das kann: ein System, das dir selbst gehört
Murmel am Laptop
Was passiert, wenn du sprichst
Diktier-Abo
Murmel
Text ins aktive FensterPush-to-talk, überall auf dem Mac
Stil und Ton anpassenE-Mail, Code-Kommentar, Prompt …
Eigenes Fachwörterbuchn8n, Supabase, Kundennamen
Erkennung ohne CloudAudio verlässt den Rechner nicht
je nach Anbieter
Deine eigenen Dateien befragenAntwort mit Quellenangabe
Erinnerung / Termin anlegenDirekt in die Apple-Apps
Meeting mitschreibenBeide Spuren, nach Sprechern getrennt
Freihändiges GesprächAntwort kommt gesprochen zurück
Geschäfts-Backend steuernKunden, Angebote, Umsatz, Board
Vom Handy erreichbarTelegram, mit Rückfrage vor jedem Schreibvorgang

Die linke Spalte ist keine Kritik. Ein Diktier-Abo soll diktieren, und das tut es gut. Angefangen habe ich trotzdem, und der Auslöser war banal: 15 € im Monat für etwas, dessen Kern ich selbst bauen kann. Der Unterschied liegt im Zuschnitt. Murmel ist für genau einen Arbeitsplatz gebaut, meinen. Deshalb darf es an Daten, an die ein Produkt für alle nicht heran dürfte.

01 Diktieren

Vier Stationen, ein Knopfdruck.

Von der gehaltenen Taste bis zum Text im Fenster passiert alles auf dem Rechner. Kein Zwischenstopp im Netz. Tippe auf eine Station.

Murmel läuft auf dem Mac: das Menüleisten-Panel oben rechts, darunter das Terminal, in dem die App entstanden ist
// Murmel live: das Menüleisten-Panel mit Stil-Wahl und Taste, darunter das Terminal, in dem es gebaut wurde
murmel · station
# Station 01 — aufnehmen, solange die Taste hält hotkey> fn gedrückt AVAudioEngine, 16 kHz Mono globaler Push-to-talk über CGEventTap — funktioniert in jeder App, auch wenn Murmel gar nicht im Vordergrund ist
# Station 02 — Spracherkennung, offline whisper> large-v3-turbo --lang de + Silero-VAD (Sprachpausen) Deutsch und Englisch im selben Satz, Zeichensetzung inklusive Ein residenter whisper-server hält das Modell warm — kein Kaltstart pro Diktat.
# Station 03 — Politur, falls gewünscht ollama> qwen2.5:3b # strikte Regel: nur korrigieren, niemals antworten 13 Stil-Modi · eigenes Wörterbuch · Sprachbefehle Wird die Ausgabe verdächtig lang, greift der Halluzinations-Schutz und der Rohtext gewinnt. Standard ist ohnehin „Roh".
# Station 04 — ins aktive Fenster insert> Zwischenablage + synthetisches ⌘V Terminal · Browser · Mail · Notizen · überall Jedes Diktat landet zusätzlich im durchsuchbaren Verlauf (SQLite). Aktueller Stand auf meinem Rechner: 3.422 Diktate.

13 Modi — dieselbe Taste, anderes Ergebnis

01RohGenau das gesprochene Wort, kein Modell dazwischen. Standard.
02StrukturiertDeine Worte, sauber in Absätze gegliedert — der Ton bleibt.
03E-MailHöflicher, sauberer Fließtext zum Absenden.
04Code-KommentarKnapper, technischer Kommentar- oder Commit-Text.
05Claude-PromptKlarer, strukturierter Auftrag für einen KI-Assistenten.
06BrainstormingLose Gedanken zu klaren Stichpunkten geordnet.
07→ EnglischDeutsch sprechen, englisch eingefügt bekommen. Lokal übersetzt.
08→ DeutschBeliebig sprechen, deutsch eingefügt bekommen.
09BefehlText kopieren, Anweisung sprechen („mach förmlich") — der kopierte Text wird umgeschrieben.
10AssistentFrage stellen — die Antwort wird direkt am Cursor eingefügt.
11ZusammenfassenLanges Diktat rein, knappe Zusammenfassung raus.
12Daten-AssistentAuftrag sprechen — sucht in den eigenen Daten und fügt das Ergebnis ein.
13Backend-SteuerungBefehl sprechen — steuert das deinebusinesspage-Backend.
live · streaming

Live-Vorschau

Beim Sprechen läuft der Text in einem schwebenden Overlay mit. Ein schnelles Modell für die Vorschau, das genaue für die Einfügung.

wörterbuch

Eigenes Wörterbuch

Fachbegriffe und Namen korrekt geschrieben, pflegbar in einer eigenen Oberfläche.

„n acht n" → n8n
auto-lernen

Vorschläge aus dem Verlauf

Murmel findet im eigenen Verlauf falsch gehörte Begriffe und schlägt Korrektur-Paare vor. Ein Klick übernimmt.

verlauf

Alles durchsuchbar

Jedes Diktat liegt in einer lokalen Datenbank, per Klick erneut einfügbar.

3.422 Einträge
sprachbefehle

Sprachbefehle

„neue Zeile", „Punkt", „abbrechen" werden als Aktion erkannt statt wörtlich getippt.

automatik

Stil nach App

Murmel merkt, in welchem Programm der Cursor steht, und schaltet den passenden Modus vor.

Der Bruch

Zwei Worte — und aus Diktat wird Auftrag.

Murmel im Anzug mit Sonnenbrille — der Agenten-Modus

Ich muss nichts umschalten. Fange ich ein Diktat mit „Hey Murmel" an, erkennt die App das Wake-Word, wirft den Text nicht ins Fenster, sondern öffnet ein eigenes Chat-Fenster: Markdown-Antworten, Wort für Wort im Stream, Weiterfragen per Mikrofon-Knopf. Dahinter denkt qwen3:8b lokal und ruft echte Werkzeuge auf, statt nur zu reden.

Das Hey-Murmel-Fenster mit dem Auftrag „Erinnere mich morgen um 9 an den Anruf mit der Bank“ und Murmels Antwort: Aufgabe erledigt, die Aufgabe ist für morgen um 9 Uhr fällig
Echte Aufnahme, 02.08.2026, 11:52 Uhr. Ein Satz in Alltagssprache, und die Aufgabe steht in der Erinnerungen-App. morgen um 9 hat kein Modell geraten, sondern ein Datums-Parser aufgelöst.
dieselbe sekunde in ~/.murmel/murmel.log · echter auszug
[2026-08-02T09:49:07Z] Schrift-Trigger: murmel://hey"Erinnere mich morgen um 9 an den Anruf mit der Bank" [2026-08-02T09:52:33Z] ConversationEngine: Tool aufgabe_anlegen(["faellig": morgen um 9, "titel": Anruf mit der Bank]) → Aufgabe angelegt: Anruf mit der Bank (morgen 09:00 – fällig) [2026-08-02T09:52:46Z] LLM-Metrik[stream+tools]: Antwort 63 Tok/5473 ms (11.5 Tok/s) · gesamt 12538 ms

Im Fenster steht nur das Ergebnis. Was dazwischen passiert, steht im Protokoll, und genau darüber wurden beide echten Fehler in diesem Projekt gefunden: Evidenz an jeder Stufe, statt zu raten.

geerdet

Erfindet nichts

Harte Regel gegen Halluzination: Relevanz-Schwelle in der Suche, abgeschottetes Gedächtnis pro Sitzung, und eine Persona, die ihre echten Fähigkeiten kennt.

fenster

Eigenes Chat-Fenster

Markdown, Code-Blöcke, Streaming Wort für Wort. Anhänge (PDF, Bild) werden gelesen und mitgedacht.

weiter

Antwort weiterreichen

Je nach Ziel-App formatiert: Rich Text für Mail, Sternchen-Fett für Messenger, Markdown als Datei.

02 Nachschlagen

Frag deine eigenen Unterlagen — mit Quellenangabe.

Ein Sprachmodell weiß viel über die Welt und nichts über meine Arbeit. Also bekommt es meine Arbeit als Nachschlagewerk: 101.016 Text-Stücke aus 5.267 Dateien, jedes einzelne lokal in Zahlen umgerechnet, damit die Suche nicht nur Wörter, sondern Bedeutung findet. Kein Byte davon liegt bei jemand anderem.

Murmel mit Lupe
ohne fachjargon

Was das eigentlich ist

Im Fachjargon heißt das RAG. Übersetzt: erst nachschlagen, dann antworten. Statt aus dem Gedächtnis zu raten, holt Murmel die passenden Stellen aus deinen Dateien und legt sie dem Modell als Lesestoff vor, so wie man jemandem vor der Antwort die Akte hinschiebt.

zwei suchen, ein ergebnis

Wort und Bedeutung

Die eine Suche findet den exakten Begriff („Migration 067"), die andere den Sinn („was war das mit der Einwilligung?"). Beide laufen gleichzeitig, ein Rangfolge-Verfahren mischt die Treffer. Ein Prüfstand mit festen Testfragen misst, ob die richtige Quelle unter den Treffern landet.

0 € · offline

Bleibt auf der Platte

Die Umrechnung in Zahlen macht ein lokales Modell, der Index liegt in einer Datei auf dem Mac, die Antwort formuliert das lokale Sprachmodell. Halbes Gigabyte Index, keine laufenden Kosten.

murmel · eine wissens-anfrage, von vorn bis hinten
du> „Hey Murmel, was steht in meiner LinkedIn-Strategie zu Hooks?" 1. Volltext-Suche (FTS5 / BM25) und Bedeutungs-Suche (nomic-embed-text) — parallel, lokal 2. Rangfolgen zusammenführen → die besten Stellen aus 101.016 Stücken 3. qwen3:8b antwortet mit diesem Kontext, unterhalb der Relevanz-Schwelle: lieber nichts sagen Antwort mit Quelle: „POST-STRATEGY.md · Abschnitt Hooks"

Die wichtigste Regel im ganzen Aufbau ist die langweiligste: Findet die Suche nichts Passendes, sagt Murmel nichts. Eine Antwort ohne Beleg wäre schlimmer als gar keine.

// Relevanz-Schwelle · Quellenangabe an jeder Antwort · Prüfstand für die Treffer-Qualität
03 Handeln

26 Werkzeuge. Murmel wählt selbst, welches passt.

Ich sage nicht „öffne Werkzeug X". Ich sage, was ich will. Das Modell entscheidet, welches der 26 Werkzeuge das erledigt, ruft es auf, bekommt das Ergebnis zurück und formuliert daraus die Antwort. Weil Murmel eine native macOS-App ist, reicht das bis in die Systemprogramme: Erinnerungen, Kalender, Spotlight, Bildschirmtext, Benachrichtigungen.

Murmel jongliert mit Zetteln
macOS-nativ 6

Kalender, Aufgaben, Zeit

  • termine
  • termin_anlegen
  • erinnerungen
  • aufgabe_anlegen
  • timer_stellen
  • aktuelle_zeit

Gelesen wird über EventKit, Apples eigene Schnittstelle. Eine Erinnerung legt Murmel bewusst über die Erinnerungen-App selbst an. Nur so landet sie in der sichtbaren Standardliste statt in einer versteckten. „morgen", „Freitag", „in 20 Minuten" versteht ein eigener deutscher Datums-Parser, nicht das Modell, das dabei raten würde.

Gedächtnis 5

Wissen und Verlauf

  • wissen_durchsuchen
  • notion_durchsuchen
  • letzte_diktate
  • zwischenablage_suchen
  • terminal_verlauf

Sucht in den 101.016 Wissens-Stücken, im Kopier-Verlauf und sogar im Terminal: „Was haben wir gestern im Terminal besprochen?"

Kommunikation 4

Mail, Nachrichten, Posts

  • email_suchen
  • email_verfassen
  • nachricht_senden
  • linkedin_post

Entwürfe entstehen, Absenden bleibt ein bewusster Klick. Nichts geht ungefragt raus.

Geschäft 1

Die Tür zum eigenen Backend

  • geschaeft

Ein Werkzeug, hinter dem 39 stecken: Murmel reicht den Satz ans Backend weiter, das aus seinen eigenen Werkzeugen wählt. Kommt dort eines dazu, kann Murmel es sofort. Mehr dazu auf Ebene 04.

Netzwerk 2

Kontakte auf dem eigenen Rechner

  • kontakt_finden
  • faellige_kontakte

Ein lokales Kontaktsystem für das Netzwerk, das im Geschäfts-Backend gar nicht steht: Status, Phase, nächster Kontakt. „Wen sollte ich diese Woche anrufen?" beantwortet sich damit selbst — auch ohne Netz.

Überblick 3

Tag, Briefing, Nachlese

  • tagesbriefing
  • briefing
  • debrief

Morgens die Lage, vor dem Termin die Vorbereitung, danach die Nachlese, aus Kalender, CRM und Wissensindex zusammengezogen.

Handwerk 2

Rechnen und Dateien

  • rechnen
  • datei_oeffnen

Gerechnet wird von einem exakten Rechner, nicht vom Sprachmodell. Dateien und Programme gehen über Spotlight auf: „öffne die Rechnung von gestern".

Nur auf Ansage 3

Der Weg nach draußen

  • web_recherche
  • bild_erstellen
  • n8n_ausloesen

Die Werkzeuge, die ins offene Netz gehen oder etwas nach draußen anstoßen — mit eigenem Schlüssel, abschaltbar, und nur wenn ich es ausdrücklich verlange. Das Geschäfts-Backend zählt hier nicht dazu: das ist mein eigener Server.

Sehen Vision

Bildschirm und Anhänge lesen

  • Screenshot → Text
  • PDF
  • Bilder

Apple Vision liest, was auf dem Bildschirm steht, direkt in den Chat. Fehlermeldung zeigen statt abtippen.

Stimme

Einmal die Taste. Dann einfach reden.

Murmel denkt nach

Rechte ⌥-Taste einmal halten, Frage sprechen — danach hört Murmel nach jeder Antwort von selbst weiter zu. Eine Sprechpause beendet die Frage, ein „danke, das war's" beendet das Gespräch.

Damit das nach Gespräch klingt und nicht nach Warteschleife: Der erste Satz erklingt, während der Rest noch entsteht. Die nächste Sprachausgabe wird vorbereitet, während die aktuelle noch läuft. Und ein kurzes „Mhm." überbrückt die Denksekunde.

Die Stimme heißt Seraphina und ist die bewusste Ausnahme von der Lokal-Regel: sie kommt online, und sie ist jederzeit abschaltbar. Ohne Netz übernimmt automatisch die beste installierte System-Stimme. Das Gespräch funktioniert also auch komplett offline.

Die erste Frage war früher immer die langsamste, weil das Sprachmodell erst geladen werden musste. Heute passiert das schon beim Starten im Hintergrund, damit die erste Antwort so schnell kommt wie die zehnte.

// Beim App-Start werden Wissensspeicher, Sprachmodell, Mikrofon und Spracherkennung vorgewärmt
Meetings

Zwei Spuren, ein Protokoll, kein Mitschreiben.

Murmel nimmt im Meeting beide Seiten getrennt auf: das Mikrofon für mich, die Systemausgabe für die Gegenseite. Beide Spuren starten in derselben Millisekunde, deshalb lässt sich hinterher ein echter chronologischer Dialog daraus bauen statt eines Wortsalats.

wer hat was gesagt

Sprecher trennen

Auf der Gegenseite sitzen oft mehrere Personen. Ein lokaler Durchgang ordnet jeden Beitrag einem Sprecher zu, ohne den Text dabei anzufassen. Erkennt er weniger als zwei Sprecher, bleibt alles schlicht „Gegenüber". Lieber unscharf als falsch.

ergebnis

Was hängen bleibt

Aus dem Rohtranskript destilliert Murmel fünf Felder: Kurzfassung, Kernpunkte, Entscheidungen, To-dos und Folgetermin. Die Zerlegung ist fest verdrahtet, nicht dem Modell überlassen.

danach

Archiv und Weiterleiten

Jedes Meeting landet im Verlauf-Tab, nach Sprechern getrennt, durchsuchbar, und lässt sich als Mail, Nachricht oder Datei weiterreichen.

murmel · meeting-zusammenfassung, nachgestelltes beispiel
Aufnahme beendet · 2 Spuren · 41 Min · 3 Sprecher erkannt KURZFASSUNG Angebot über die Business-Page geht raus, Termin für die Abnahme steht. ENTSCHEIDUNGEN · Preis bleibt bei 990 €, Zahlungsziel 14 Tage · Texte kommen vom Kunden bis Freitag TO-DOS · Angebot anlegen und versenden · Abnahme-Termin in den Kalender FOLGETERMIN Do, 14:00 Verlauf gespeichert · als Mail weiterleiten? [↩]
04 Betrieb führen

Und dann steuert es das ganze Geschäft.

Murmel arbeitet am Laptop

Hier hört das Diktier-Tool auf. Am anderen Ende der Leitung liegt das Backend von deinebusinesspage: meine Kunden, Angebote, Rechnungen, Ausgaben, Projekte und Termine. 39 Werkzeuge über 26 Datenbereiche. Ich sage einen Satz, und die Datenbank antwortet.

29 werkzeuge

Lesen läuft durch

Leads, Angebote, Aufträge, Rechnungen, Produkte, Ausgaben, Abos, Termine, Projektaufgaben, Prüfschritte, Änderungsprotokoll, E-Mails. Dazu sechs Auswertungen: Tagesbriefing, Umsatzbericht, Finanzübersicht, Kundenakte, Projektakte, Geschäfts-Momentaufnahme.

10 werkzeuge

Schreiben nur mit Ja

Kunde anlegen, Angebot erstellen, Ausgabe buchen, Termin anlegen oder verschieben, Projekt ändern, Board-Aufgabe anlegen oder bewegen, Studio-Not-Aus. Jedes davon kommt erst als Rückfrage zurück und wird in einem zweiten Schritt bestätigt.

26 bereiche

Ein Zugang, keine Sonderwege

Alle Lese-Werkzeuge hängen an einem gemeinsamen Verzeichnis der Datenbereiche. Kommt ein Bereich dazu, kann Murmel ihn ohne neue Programmierung befragen.

murmel → POST /api/copilot · nachgestellter beispiel-dialog
du> „Hey Murmel, wie ist der Umsatz diesen Monat und was steht offen?" get_revenue_report (monat: 2026-08) ✓ gelesen list_invoices (status: offen) ✓ gelesen murmel> Diesen Monat sind 2 Rechnungen bezahlt. Offen sind 3 — davon eine seit 19 Tagen. du> „Leg der Bäckerei Krause ein Angebot über den Landingpage-Starter an." create_offer ⚠ schreibendes Werkzeug — braucht Bestätigung murmel> Angebot für „Bäckerei Krause", Landingpage-Starter, 499 € netto. Anlegen? du> „Ja." POST /api/copilot/confirm → Angebot ANG-2026-7f3a1c04 angelegt

Der Aufbau dahinter ist bewusst schlicht: die Schnittstelle ist ein dünner Mantel um eine Werkzeug-Schleife, die getrennt getestet ist. Dieselbe Schleife bedient auch den Telegram-Weg. Lesen läuft durch, Schreiben wird zurückgehalten und wartet auf ein ausdrückliches Ja. Ein verhörtes Wort darf keine Rechnung schreiben.

Unterwegs

Der Mac bleibt zu Hause. Murmel nicht.

Zwei Wege führen vom Handy zurück zum System. Beide sind so gebaut, dass von außen niemand an den Rechner kommt.

weg 1 · fernsteuerung

Der Mac ruft ab, nicht umgekehrt

Murmel fragt alle vier Sekunden eine Befehls-Warteschlange in der Cloud ab, arbeitet ab, was dort liegt, und schickt die Antwort per Telegram zurück. Kein offener Port, kein Tunnel — die Verbindung geht immer nur nach draußen. Und Schreib-Befehle aus der Ferne führt Murmel nie still aus: erst kommt „Bestätigen?", dann muss ein „ja" folgen.

ausgehend · zwei Schritte bis zur Ausführung
weg 2 · cloud-ableger

Der Telegram-Bot

Ein eigener Bot, aus n8n-Abläufen gebaut. Er antwortet nur mir, versteht Sprachnachrichten, erstellt Bilder auf Zuruf und kennt meine Notizen über einen zweiten, kleinen Wissensindex in der Cloud, den ein Nacht-Ablauf um 04:30 frisch hält. Die 101.016 lokalen Stücke bleiben auf dem Mac. Nur die Notizen gehen mit.

läuft auch, wenn der Laptop zu ist
Lokal-first

Was hierbleibt — und was nur auf Ansage geht.

„Lokal" ist schnell behauptet. Deshalb hier die ehrliche Aufteilung, Zeile für Zeile. Alles rechts ist einzeln abschaltbar, und ohne Netz arbeitet Murmel links einfach weiter.

Murmel erschrickt
bleibt auf dem Mac

Der Kern

  • Jedes Byte Audio. Die Spracherkennung läuft auf dem Rechner, die Aufnahme wird danach gelöscht.
  • Der Wissensindex. 101.016 Stücke, ein halbes Gigabyte, eine Datei im Benutzerordner.
  • Die Umrechnung in Bedeutung. Das Einbettungs-Modell läuft mit.
  • Das Denken. qwen3:8b antwortet lokal in Ollama.
  • Diktat-Verlauf, Wörterbuch, CRM, Meeting-Archiv. Alles in lokalen Datenbanken.
  • Kalender und Erinnerungen. Über die Apple-Schnittstellen, ohne Umweg.
geht raus, wenn ich es sage

Die Ausnahmen

  • Die Stimme „Seraphina". Neuronale Sprachausgabe von außen, abschaltbar, offline übernimmt die Systemstimme.
  • Bilder erstellen. Nur mit eigenem Schlüssel, nur auf ausdrücklichen Zuruf.
  • Web-Recherche. Dito.
  • n8n-Übergabe. Genau ein Webhook als einzige Tür für alles Externe.
  • Backend-Steuerung. Geht an meinen eigenen Server, mit eigenem Schlüssel.
  • Telegram und Fernsteuerung. Standardmäßig aus.

Der Unterschied zu einem Abo-Werkzeug ist nicht, dass Murmel niemals ins Netz geht. Er ist, dass ich jede einzelne dieser Türen selbst geöffnet habe und jede wieder zumachen kann, und dass der Rechner ohne sie nicht stillsteht.

Das Hey-Murmel-Fenster mit der Frage „Auf welche Daten hast du Zugriff?“ und Murmels Antwort: eine Liste aus lokalen Dateien, Notion, Terminal-Verlauf, Kalender, Erinnerungen, E-Mail-Postfach, Zwischenablage und n8n-Workflows, gefolgt von der Einschränkung, dass es weder ins Internet noch an nicht lokal gespeicherte Dateien kommt

Du musst mir nicht glauben. Frag ihn selbst.

Das links ist keine Grafik, die ich für diese Seite gebaut habe. Es ist Murmels eigene Antwort auf die Frage „Auf welche Daten hast du Zugriff?", aufgenommen am 02.08.2026 und unbearbeitet.

Interessant ist der letzte Absatz. Murmel sagt von sich aus, wo Schluss ist: kein Internet, keine Dateien, die nicht lokal liegen. Das stimmt für diese Installation, weil hier kein Schlüssel für Web-Recherche oder Bilder hinterlegt ist. Wer einen einträgt, macht genau diese Tür auf, und die Antwort fiele anders aus.

Eine Software, die eine ehrliche Auskunft über ihre eigene Reichweite gibt, ist mir lieber als eine, die man erst auseinandernehmen muss.

Unter der Haube

Ein Baustein, eine Aufgabe.

Murmel mit Schraubenschlüssel und Werkzeugkoffer

Eine Swift-Menüleisten-App, gebaut mit dem Swift Package Manager — kein volles Xcode nötig. 73 Dateien, 16.749 Zeilen, jede Datei mit genau einer Zuständigkeit, verdrahtet von einer zentralen Stelle. Das war von Anfang an so angelegt, weil acht KI-Agenten am ersten Tag parallel daran gebaut haben und sich sonst gegenseitig überschrieben hätten.

Baustein
Wo
Aufgabe
Hotkey
Hotkey/HotkeyMonitor
Globaler Halte-Hotkey auf fn oder rechter ⌥, systemweit
Aufnahme
Audio/AudioRecorder
Mikrofon → 16 kHz Mono, dazu die zweite Spur fürs Meeting
Erkennung
Transcription/…
whisper.cpp lokal, plus residenter Server für die Live-Vorschau
Politur
Polish/OllamaPolisher
Stil-Modi über das lokale Modell, mit Rückfall auf den Rohtext
Einfügen
Insertion/…
Zwischenablage und synthetisches ⌘V ins aktive Fenster
Wissen
Knowledge/ (7 Dateien)
Indexer, Zerleger, Einbettung, Speicher, Notion-Anbindung, Prüfstand
Werkzeuge
Features/ (39 Dateien)
Die 26 Agenten-Werkzeuge, CRM, Meeting, Wake-Word, Fernsteuerung
Oberfläche
UI/ (9 Fenster)
Menüleiste, Chat, CRM, Meeting, Verwaltung, Overlay, Einrichtung
Verdrahtung
Core/AppCoordinator
Die Zustandsmaschine, die alle Stationen verbindet
Swift 6.2 · SwiftUI · AppKit whisper.cpp large-v3-turbo Silero VAD v5.1.2 Ollama qwen3:8b nomic-embed-text Einbettungen SQLite FTS5 · Vektoren EventKit Kalender · Erinnerungen Vision Text im Bild AVAudioEngine zwei Spuren edge-tts Sprachausgabe n8n die eine Tür nach draußen Supabase Cloud-Index · Warteschlange Next.js Backend-Schnittstelle
16.749
Zeilen Swift
in 73 Dateien
179
Commits
seit 21.06.2026
26
Werkzeuge
im Sprach-Agenten
39
Backend-Werkzeuge
über 26 Bereiche
101.016
Wissens-Stücke
aus 5.267 Dateien
0 €
laufende Kosten
im Kern

Alle Zahlen am 02.08.2026 im Projekt gezählt, nicht geschätzt: Zeilen und Dateien aus dem Quellcode, Commits aus der Versionsgeschichte, Werkzeuge aus den Definitionen, Wissens-Stücke aus dem Index auf meinem Rechner.

Status · Beta

Murmel ist in der Beta.

Es läuft, und zwar nicht im Testbetrieb, sondern als tägliches Arbeitsgerät: 3.422 Diktate, 101.016 Wissens-Stücke, jeden Werktag im Einsatz. Angefangen hat es, weil ich für ein Diktier-Abo keine 15 € im Monat zahlen wollte. Aufgehört habe ich nicht, weil jede Woche etwas dazukam, das ich im Alltag gebraucht habe. Lizenziert ist es unter MIT.

Beta heißt hier: an den Funktionen fehlt nichts, an der Verpackung schon. Murmel ist selbst signiert, deshalb muss man beim ersten Start einmal an Gatekeeper vorbei. Für einen Download per Doppelklick bräuchte es eine notarisierte App und damit einen Apple-Developer-Account. Das Repository liegt noch privat, bis der Ordner mit den Arbeitsnotizen durchgesehen ist.

Zu kaufen gibt es Murmel deshalb noch nicht. Wer es trotzdem ausprobieren oder in den Quellcode schauen will: schreib mir, dann finden wir einen Weg.

Wenn du hier bist, weil dich meine Arbeitsweise interessiert: Ein Problem aus dem eigenen Alltag, eine Scheibe nach der anderen gebaut, jede sofort benutzt, die nächste erst danach. Feste Verträge zwischen den Bausteinen, damit mehrere Agenten parallel arbeiten können. Fehler über Protokolldateien gejagt statt geraten. Und an jeder Stelle, an der es hätte teuer werden können, eine Rückfrage eingebaut.

Murmel macht Feierabend
Murmel · gebaut von Alexander Heyers · Swift, whisper.cpp, Ollama · macOS 14+ auf Apple Silicon
Maskottchen und Zeichnungen: eigene Produktion. Stand dieser Seite: 02.08.2026. Zurück zum Portfolio ↗