οὐθείς
EN · DE

Mit outheis kommunizieren

outheis ist über drei Kanäle erreichbar. Alle Kanäle verbinden sich mit demselben Dispatcher und denselben Agenten — der Unterschied liegt darin, wo du tippst und wie du Antworten erhältst.


Web UI

Eine browserbasierte Oberfläche, die vom Dispatcher lokal bereitgestellt wird. Kein separater Server notwendig — die Web UI ist im Daemon integriert und startet automatisch mit ihm.

Zugriff: http://127.0.0.1:8080 (während der Dispatcher läuft)

Was sie bietet: - Live-Nachrichtenfeed — alle Agenten-Gespräche in Echtzeit - Eingabefeld — Nachrichten direkt aus dem Browser an den Relay-Agenten senden - Konfigurationseditor (Modelle, Agenten, Anbieter, Scheduler) - Memory-, Rules- und Skills-Viewer und -Editor - Vault-Dateibrowser — Dateien in allen konfigurierten Vaults ansehen, bearbeiten und löschen - Tags-Ansicht — #Tags scannen, umbenennen oder im gesamten Vault entfernen - Scheduler — wiederkehrende Aufgaben verwalten, Verlauf anzeigen

Konfiguration: Standardmäßig aktiviert. Port und Host können in config.json geändert werden:

"webui": { "host": "127.0.0.1", "port": 8080 }

Remote-Zugriff: Die UI bindet nur an localhost. Um von einem anderen Rechner darauf zuzugreifen, SSH-Port-Weiterleitung verwenden:

ssh -L 8080:localhost:8080 user@dein-server

Dann http://localhost:8080 im lokalen Browser öffnen. Der Tunnel bleibt aktiv, solange die SSH-Verbindung besteht.

Eine vollständige Beschreibung aller Ansichten und API-Endpunkte findet sich unter Web UI.


CLI

Kommandozeilen-Interface zum Senden von Nachrichten und Verwalten des Daemons. Nach der Installation als outheis verfügbar.

Einrichtung: Verfügbar nach pip install -e . mit aktiver venv.

Nachrichten senden:

outheis send "Was steht heute an?"
outheis send "@zeno suche Notizen zu Projekt Alpha"
outheis chat                                         # interaktiver Modus mit Verlauf

Der Relay-Agent verarbeitet alle Nachrichten und leitet sie automatisch an den richtigen Agenten weiter. Mit @name kann ein Agent direkt angesprochen werden (@zeno, @cato, @alan, …).

Daemon-Steuerung:

outheis start         # im Hintergrund starten
outheis start -f      # im Vordergrund starten
outheis start -fv     # Vordergrund + verbose (zeigt Tool-Calls)
outheis stop          # Daemon stoppen
outheis status        # PID, Uptime, Agenten-Status anzeigen

Memory und Rules einsehen:

outheis memory              # alle gespeicherten Erinnerungen anzeigen
outheis memory --type user  # nur Benutzer-Facts anzeigen
outheis rules               # alle Regeln anzeigen (System + Benutzer)
outheis rules relay         # Regeln eines bestimmten Agenten anzeigen

Signal

Nachrichten über die Signal-Messenger-App empfangen und senden. Der Bot läuft als separater Prozess neben dem Daemon — er hört auf eingehende Signal-Nachrichten, leitet sie an den Relay-Agenten weiter und sendet die Antworten zurück. Sprachnachrichten werden automatisch transkribiert, wenn faster-whisper installiert ist.

Wann verwenden: Der primäre Kanal, wenn du vom Handy mit outheis interagieren möchtest, ohne einen Browser oder ein Terminal zu öffnen.

Was du brauchst

Eine dedizierte SIM-Karte mit einer Telefonnummer, die noch nicht bei Signal registriert ist. Diese Nummer wird zur Identität des Bots — es sollte nicht deine persönliche Nummer sein. Eine Prepaid-SIM reicht aus; die Nummer muss nur einmalig während der Registrierung per SMS oder Anruf erreichbar sein.

1. signal-cli installieren

signal-cli benötigt Java 17+. Zuerst prüfen ob vorhanden (java -version), ggf. installieren.

macOS (Homebrew):

brew install signal-cli

Linux / manuell:

Neuestes Release herunterladen von github.com/AsamK/signal-cli/releases. Archiv entpacken und das signal-cli-Binary in einen Pfad legen, der in $PATH ist (z. B. /usr/local/bin/signal-cli).

Überprüfen:

signal-cli --version

2. Bot-Nummer registrieren

+49... überall durch die Bot-Telefonnummer im internationalen Format ersetzen.

signal-cli -a +49... register

Signal sendet einen Bestätigungscode per SMS an die Nummer. Falls SMS nicht verfügbar ist, alternativ einen Anruf anfordern:

signal-cli -a +49... register --voice

Mit dem erhaltenen Code bestätigen:

signal-cli -a +49... verify 123-456

Das Konto ist jetzt registriert. signal-cli speichert die Zugangsdaten unter ~/.local/share/signal-cli/.

3. Eigene Nummer vertrauen

Bevor der Bot Nachrichten mit deinem persönlichen Signal-Konto austauschen kann, muss die Sicherheitsnummer einmalig bestätigt werden:

signal-cli -a +49... trust -v <sicherheitsnummer> +49DEINE_PERSÖNLICHE_NUMMER

Die Sicherheitsnummer ermitteln:

signal-cli -a +49... listIdentities

Alternativ zuerst eine Testnachricht senden — signal-cli gibt dann eine Warnung wegen nicht vertrauenswürdiger Identität aus, die die Sicherheitsnummer enthält.

4. outheis konfigurieren

Signal-Abschnitt in ~/.outheis/human/config.json eintragen:

"signal": {
  "enabled": true,
  "bot_name": "Ou",
  "bot_phone": "+49...",
  "allowed": []
}

bot_phone auf die registrierte Bot-Nummer setzen. bot_name ist der Anzeigename, den Signal-Kontakte sehen. allowed ist eine Whitelist erlaubter Telefonnummern — eine leere Liste bedeutet, dass nur human.phone (aus dem human-Abschnitt) Nachrichten senden kann.

human.phone im Config auf die eigene persönliche Nummer setzen:

"human": {
  "phone": "+49DEINE_PERSÖNLICHE_NUMMER",
  ...
}

5. Optional: Sprachtranskription

Um eingehende Sprachnachrichten vor der Weiterleitung an den Relay-Agenten zu transkribieren:

pip install -e ".[signal]"

Installiert faster-whisper. Ohne diese Abhängigkeit funktioniert der Transport weiterhin; Sprachnachrichten werden stillschweigend übersprungen.

6. Starten

outheis signal        # Vordergrund
outheis signal -v     # verbose (zeigt Tool-Calls)

Signal-Transport und Haupt-Daemon laufen unabhängig voneinander. Zuerst den Daemon starten (outheis start), dann den Signal-Transport in einem separaten Terminal oder als Hintergrundprozess.

Details zur internen Architektur: Signal.