OPEN BETA Aktiv in Entwicklung — Feedback willkommen.
CIPHER-MUX
// 02 · Architektur

Was drin steckt.

Hier findest du eine Übersicht der zentralen Bausteine: vom Grid-System über Personas bis hin zum eingebauten MCP-Server. Alles auf einer Seite, damit du in Ruhe verstehen kannst, wie die Komponenten ineinandergreifen.

01 Überblick

Die Applikation

CIPHER-MUX ist eine Electron-Umgebung. Das Herzstück ist ein Grid mit bis zu 21 Zellen für Agent-Sessions und Markdown-Editoren. Im Hintergrund sorgt tmux dafür, dass deine Sitzungen auch bei einem Neustart oder Systemausfall sicher erhalten bleiben.

CIPHER-MUX — 2×2 Grid im cipher-ivory Theme CIPHER-MUX — 2×2 Grid im cipher-dark Theme
cipher-ivory v0.9.99
21 Zellen max (7×3)
13 Entity-Typen
68 MCP-Tools in 12 Kategorien
13 UI-Themes inkl. WCAG AAA
02 Interface

Das Grid-System flexibel nutzen

Das Grid ist deine Arbeitsfläche — maximal 7 Spalten, 3 Reihen. Ordne Sessions per Drag & Drop an, wie es für deinen Workflow passt. Zellen lassen sich vertikal erweitern. Die Kopfzeilen bieten Projektwechsel und Shell-Zugriff.

03 Prozess-Management

Sitzungen und das tmux-Backend

Jede Zelle beherbergt einen isolierten CLI-Prozess mit eigenem Kontextfenster — welche CLI, entscheidet die Rolle. Da das tmux-Backend die Prozesse im Hintergrund aktiv hält, kannst du die App jederzeit schließen. Beim nächsten Start hilft dir ein Recovery-Dialog dabei, bestehende Sitzungen nahtlos wiederaufzunehmen.

// session anatomy
  • Eigener CLI-Prozess pro Zelle
  • Eigener Kontext, eigene Projektanweisung, eigene History
  • Header-Controls: Expand, Projekt wechseln, Shell, Close
  • Klick auf Header = Fokus, visuelle Hervorhebung
  • $-Button: direkt ins tmux-Terminal der Session
  • Eject: Session aus dem Grid in eigenes Fenster
// recovery
// nach app-restart
● 3 sessions found in tmux
✓ workshop · running 2h 14m
✓ companion · running 2h 14m
✓ cyber-factory · running 0h 47m
RESUME CLOSE ALL
04 Rollen

Presets — Funktionale System-Prompts

Während Personas das „Wie“ klären, definieren Presets das „Was“. Sie geben den Agenten klare Aufgaben, Werkzeuge und Grenzen vor. Acht spezialisierte Rollen gliedern den Entwicklungsprozess:

05 Konfiguration

Personas — Die richtige Tonalität finden

Personas steuern, wie das Modell mit dir kommuniziert. Da jeder Mensch anders arbeitet, stehen dir sechs Standard-Profile zur Auswahl. Jede Persona hat jetzt ihren eigenen Avatar — eine visuelle Identität, die im Session-Header und im Workspace-Editor angezeigt wird. Bei Bedarf lassen sich jederzeit eigene Profile anlegen.

Cipher
// The Sentinel
Wachsam, pragmatisch loyal. Maker-Team-Vibe.
staubtrockenkeine service-floskelnradikal ehrlichdunkler humor
Relay
// The Dry
Wissenschaftsjournalistisch. Sachlich, auf Augenhöhe.
fakten belastbarkeine lobhudeleiunsicherheit deklarieren
Wayne
// The Pragmatic Enthusiast
„Das kriegen wir hin“-Attitude. Motivation in zähen Sessions.
leichter nerd-humoroption a vs bfehler = puzzle
Der Kyniker
// Radikal Reduziert
Maximal komprimiert, telegrafisch. Nur Fakten und Code.
stichpunkte statt fliesstextbinäre antworten
Theaitetos
// Diskursiv
Gegenfragen, logische Lücken aufdecken, Reflexion erzwingen.
keine fertigen antwortenedge-cases aufdecken
Der Glitch
// Weird · Quirky
Bricht KI-Antwortmuster. Für festgefahrene Situationen.
chaostheorie-analogienprämisse hinterfragen
06 Prompt-Architektur

Wie sich Prompts zusammensetzen

Das System-Prompt einer Session wird dynamisch generiert. Es kombiniert die Funktion (Preset) mit der Tonalität (Persona) und dem spezifischen Projektkontext (Workspace). So ist sichergestellt, dass der Agent immer genau weiß, in welchem Umfeld er sich gerade bewegt.

// persona-resolution beim session-start
1.Globale Aktiv-Persona — wenn gesetzt: gilt für alle Sessions
2.Preset-Override — Auswahl im Preset-Editor
3.Default-Matrix — Empfehlung aus dem Pack
↓Hardcoded Fallback: Relay
// system-prompt · 3 ebenen pro session
Preset Rolle, Phasen, Tools, Grenzen
Persona Tonalität, Stilistik (Hut)
Workspace Projekt-Pfade, Memory, Custom-Prompt-Teile
07 Audio-I/O

Spracherkennung und Audio-Ausgabe

Lieber sprechen als tippen? Whisper.cpp läuft lokal, komplett ohne Cloud. VAD erkennt Sprechpausen automatisch. Für Sprachausgabe: Piper oder macOS-Systemstimme. Neu: Das Cipher-Adult-Voice-Bundle liefert eine dedizierte deutsche Erwachsenenstimme.

● whisper.cpp
lokal · keine cloud
  • VAD: erkennt pausen
  • review-then-submit
  • transkript zuerst sichtbar
● voice cmds
sprache → aktion
  • „abschicken“ / „senden“
  • „hoch“ / „runter“
  • „zum marker“
● grid nav
fokus per stimme
  • „grid links/rechts“
  • „grid hoch/runter“
  • fuzzy: „grit“, „zelle“
● BT shutter
physischer submit
  • STT-Pin auf session
  • BT-klick → send
  • komplett händefrei
TTS
Jede Entity-Session kann Text vorlesen lassen. Piper im Voice-Modus, macOS say als Fallback.
NORMALINTERRUPT
08 Wissensmanagement

Wissen lokal sichern

Notizen und Specs landen im eingebauten Editor — CodeMirror 6, Markdown, Auto-Save. Projektwissen speichern die Companion-Sessions in einer lokalen SQLite-Datenbank. Auto-Tagging läuft datenschutzfreundlich über gemma3:4b via Ollama.

// notes editor
CodeMirror 6 · Markdown live
  • YAML-Frontmatter (Titel, Tags)
  • Auto-Save nach 2s · Cmd+S triggert Auto-Tagging
  • Ollama gemma3:4b (lokal) für Tag-Vorschläge
  • Global oder Workspace-scoped
  • Tag-Tree in der Sidebar (NotesTreeView)
  • TestcaseView mit Checkboxen + Screenshots
  • Voller MCP-Zugriff: lesen, schreiben, suchen, handoff
// companion memory
SQLite · FTS5 · persistent

Companion, Refinement, Voice merken sich Fakten, Präferenzen, Interaktionen, Ereignisse — über Sessions hinweg.

● Fakten● Präferenzen● Interaktionen● Ereignisse
09 Schnittstellen

Model Context Protocol (MCP)

Ein lokaler HTTP-Server mit 62 Tools in 10 Kategorien. Agenten steuern darüber Sessions, kommunizieren über einen Message Bus und greifen auf Notes und Memory zu.

Session Mgmt 08
create · kill · focus · eject · scroll
Message Bus 02
send · read
Context Monitor 01
context_status
Task Queue 04
create · update · list · get
Bug Reports 01
resolve
Input Requests 01
create
Notes 10
CRUD · search · handoff_* · open · list
Companion Memory 04
write · recall · search · forget
App Control 12
grid · sidebar · theme · choreography · highlight
Voice / TTS 02
tts_speak · entity voice
10 Barrierefreiheit

Zugänglich für alle

cipher-mux nimmt Barrierefreiheit ernst. Neben 10 wählbaren Farbthemes (siehe oben) gibt es dedizierte Profile für Farbfehlsichtigkeit — damit alle Statusinformationen auch ohne Farbunterscheidung lesbar bleiben. Der Focus Mode blendet alle Zellen außer der aktiven ab — weniger visuelles Rauschen, mehr Konzentration.

CIPHER-MUX im High Contrast Profil
High Contrast
Sehschwäche · variabel
WCAG AAA · Schwarz/Weiß/Gelb · Maximaler Kontrast
CIPHER-MUX im Deuteranopie Profil
Deuteranopie
Rot-Grün-Schwäche · ~7 % der Männer
Rot/Grün → Blau/Orange · Okabe-Ito-Palette
CIPHER-MUX im Tritanopie Profil
Tritanopie
Blau-Gelb-Schwäche · <0,01 %
Blau/Gelb → Magenta/Grün
CIPHER-MUX im Achromatopsie Profil
Achromatopsie
Komplett farbenblind · ~0,003 %
Reine Graustufen · Formen und Text als Informationsträger
11 Ressourcenmanagement

Effizienter Umgang mit Tokens

Lange Sessions stoßen irgendwann an Kontext-Grenzen. Eine Echtzeit-Anzeige hilft dir, die Auslastung im Blick zu behalten. Der Workshop empfiehlt oder initiiert bei 90% Auslastung selbstständig Zusammenfassungs-Routinen, damit keine Informationen verloren gehen. Zudem wählt das System je nach Aufgabenschwere automatisch das passendste LLM (Opus, Sonnet oder Haiku).

01
StatusLine Monitor
Echtzeit-Kontextverbrauch pro Zelle. Grün → orange (80%) → rot (90%).
02
Orchestrator-Watch
Prüft Workers alle 2 Minuten. Bei 90%: finish, summarize, frischer Worker.
03
Message Bus
Async Messaging zwischen Sessions. Wenige Dutzend Tokens statt Tausende für shared Conversation.
04
Multi-Model-Routing
Workshop (Opus), Workers (Sonnet), einfache Tasks (Haiku). Richtiges Modell für richtige Aufgabe.
05
Handover-Pattern
Zusammenfassung → neue Session → weitermachen. Kein Qualitätsverlust durch volle Kontexte.
06
Doom-Loop-Prevention
Nach 2 gescheiterten Fixes: neue Session. Confirmation-Trap-Vermeidung in CLAUDE.md.
12 Neu in v0.9.101

Focus Mode

Eine Session, volle Aufmerksamkeit. Focus Mode expandiert eine Zelle auf 2×2 und blendet alles andere ab. Die Focus-Bar zeigt Context-Auslastung und Schriftgröße — ein Klick oder Cmd+Shift+F schaltet um. Gut für lange Ausgaben, Code-Reviews und konzentriertes Arbeiten.

Focus Mode — expandierte Session Focus Mode — expandierte Session
13 Neu in v0.10.0

Drei Agent-CLIs, zwei Tiers

Eine Rolle ist nicht an eine CLI gebunden. Pro Rolle wählt das Feld „CLI“ im Preset-Editor, welche CLI ihre Sessions startet; „Standard-CLI“ in den Einstellungen setzt die Vorgabe für alle Rollen, die keine eigene nennen. Tier 2 heißt: nicht jede Mux-Fähigkeit ist dort gemessen — was fehlt, zeigt der Preset-Editor beim Umschalten an, vor dem Sessionstart und nicht danach. Grid, Presets, Personas, Workspaces, Notes, Voice und der MCP-Server arbeiten unter allen drei. Darunter steht das Feld „Modell“: leer lassen heißt, die CLI entscheidet selbst — sonst schlägt sie vor, was sie kennt, und ein voller Modellname außerhalb der Liste geht auch.

Claude Code · Tier 1

Die Voreinstellung — und zwar nicht aus Gewohnheit: die einzige CLI, für die jede Mux-Fähigkeit gemessen ist. Projektanweisung: CLAUDE.md. Context-Anzeige, Sub-Agents, MCP-Werkzeuge, Companion-Memory, Rollengrenzen über einen PreToolUse-Hook. Gemessen an Claude Code 2.1.284.

Codex CLI · Tier 2

Projektanweisung: AGENTS.md. Context-Anzeige, MCP-Werkzeuge, Companion-Memory und Rollengrenzen (PreToolUse-Hook) laufen. Was fehlt: Sub-Agents. Selbst installieren und anmelden — der Setup-Wizard kennt sie nicht. Gemessen an codex-cli 0.155.1.

opencode · Tier 2

Projektanweisung: AGENTS.md. Context-Anzeige und Rollengrenzen laufen über Plugins statt über Hook-Dateien, MCP-Werkzeuge und Companion-Memory wie gehabt. Was fehlt: Sub-Agents. Selbst installieren — und einen Anbieter anmelden, sonst steht die Session am Prompt und tut nichts. Gemessen an opencode 1.18.34.

14 Neu in v0.12.0

Local Cyber Factory — Claude schneidet zu, ein lokales Modell codet

Claude ist gut im Zerlegen und Prüfen, aber jede Zeile Code kostet Kontingent. Die Local Cyber Factory teilt die Arbeit deshalb auf: Ein Architekt in Claude Code zerlegt ein Vorhaben in kleine Häppchen und schreibt pro Häppchen einen Abnahmetest. Den Code schreibt ein lokales Modell über opencode, angebunden an einen beliebigen OpenAI-kompatiblen Endpunkt. Dazwischen steht ein Läufer im Mux, der selbst kein Modell ist — er glaubt dem Worker nichts, er misst. Im ersten echten Lauf mit qwen3.8-27b auf einem DGX Spark wurden vier Häppchen alle im ersten Versuch grün, jedes in 100 bis 180 Sekunden.

Architekt · Claude Code

Zerlegt, schreibt die Abnahmetests und nimmt grüne Häppchen ab. Produktionscode darf er nicht schreiben — das ist keine Bitte im Prompt, sondern eine Rollengrenze, die den Aufruf ablehnt.

Worker · opencode, lokal

Bekommt pro Versuch eine frische Session und schreibt den Code. Die Abnahmetests darf er nicht anfassen. Modell, Basis-URL, Kontext und Ausgabelimit stehen in den Einstellungen; ein Schlüssel ist nicht nötig.

Läufer · ohne Modell

Prüft vorab, ob der Abnahmetest wirklich rot ist und der Arbeitsbaum sauber. Danach das Gate: Testbefehl, Prüfsumme und git-Diff der geschützten Tests. Grün wird ein Commit, rot ein gesicherter Patch und ein Reset. Höchstens zwei Versuche pro Häppchen, dann bist du dran.

Ehrliche Grenzen

Braucht „skipPermissions“, sonst hängt opencode im Rückfrage-Dialog — der Mux lehnt dann mit genau diesem Grund ab. Am Ausgabelimit endet ein lokales Modell still, ohne Fehler; der Läufer wertet das als Fehlversuch. Geschützt ist nur, was der Architekt als geschützt nennt. Der Worker schreibt bisher keine eigenen Unit-Tests. Häppchen laufen nacheinander, nicht parallel. macOS only.