Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Konfigurationsreferenz

Diese Seite dokumentiert jeden Konfigurationsabschnitt und jedes Feld in der PRX-Datei config.toml. Felder mit einem Standardwert können weggelassen werden -- PRX verwendet dann den Standardwert.

Hauptebene (Standardeinstellungen)

Diese Felder erscheinen auf der Hauptebene von config.toml, außerhalb jedes Abschnittsheaders.

FeldTypStandardBeschreibung
default_providerstring"openrouter"Anbieter-ID oder Alias (z.B. "anthropic", "openai", "ollama")
default_modelstring"anthropic/claude-sonnet-4.6"Modellbezeichner, der über den ausgewählten Anbieter geroutet wird
default_temperaturefloat0.7Sampling-Temperatur (0.0--2.0). Niedriger = deterministischer
api_keystring?nullAPI-Schlüssel für den ausgewählten Anbieter. Wird durch anbieterspezifische Umgebungsvariablen überschrieben
api_urlstring?nullBasis-URL-Überschreibung für die Anbieter-API (z.B. entfernter Ollama-Endpunkt)
toml
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"
default_temperature = 0.7
api_key = "sk-ant-..."

[gateway]

HTTP-Gateway-Server für Webhook-Endpunkte, Pairing und die Web-API.

FeldTypStandardBeschreibung
hoststring"127.0.0.1"Bindungsadresse. Verwenden Sie "0.0.0.0" für öffentlichen Zugriff
portu1616830Lauschport
require_pairingbooltrueGeräte-Pairing erforderlich, bevor API-Anfragen akzeptiert werden
allow_public_bindboolfalseBindung an Nicht-Localhost ohne Tunnel erlauben
pair_rate_limit_per_minuteu325Maximale Pairing-Anfragen pro Minute pro Client
webhook_rate_limit_per_minuteu3260Maximale Webhook-Anfragen pro Minute pro Client
api_rate_limit_per_minuteu32120Maximale API-Anfragen pro Minute pro authentifiziertem Token
trust_forwarded_headersboolfalseX-Forwarded-For / X-Real-IP-Header vertrauen (nur hinter Reverse-Proxy aktivieren)
request_timeout_secsu64300HTTP-Handler-Zeitlimit in Sekunden
idempotency_ttl_secsu64300TTL für Webhook-Idempotenzschlüssel
toml
[gateway]
host = "127.0.0.1"
port = 16830
require_pairing = true
api_rate_limit_per_minute = 120

WARNING

Änderungen an host oder port erfordern einen vollständigen Neustart. Diese Werte werden beim Serverstart gebunden und können nicht per Hot-Reload geändert werden.

[channels_config]

Übergeordnete Kanalkonfiguration. Einzelne Kanäle sind verschachtelte Unterabschnitte.

FeldTypStandardBeschreibung
clibooltrueInteraktiven CLI-Kanal aktivieren
message_timeout_secsu64300Zeitlimit pro Nachrichtenverarbeitung (LLM + Werkzeuge)

[channels_config.telegram]

FeldTypStandardBeschreibung
bot_tokenstring(erforderlich)Telegram Bot-API-Token von @BotFather
allowed_usersstring[][]Erlaubte Telegram-Benutzer-IDs oder Benutzernamen. Leer = alle ablehnen
mention_onlyboolfalseIn Gruppen nur auf Nachrichten antworten, die den Bot @-erwähnen
stream_mode"off" | "partial""off"Streaming-Modus: off sendet vollständige Antwort, partial bearbeitet einen Entwurf fortschreitend
draft_update_interval_msu641000Mindestintervall zwischen Entwurfsbearbeitungen (Ratenbegrenzungsschutz)
interrupt_on_new_messageboolfalseLaufende Antwort abbrechen, wenn derselbe Benutzer eine neue Nachricht sendet
toml
[channels_config.telegram]
bot_token = "123456:ABC-DEF..."
allowed_users = ["alice", "bob"]
mention_only = true
stream_mode = "partial"

[channels_config.discord]

FeldTypStandardBeschreibung
bot_tokenstring(erforderlich)Discord-Bot-Token vom Developer Portal
guild_idstring?nullAuf eine einzelne Gilde (Server) beschränken
allowed_usersstring[][]Erlaubte Discord-Benutzer-IDs. Leer = alle ablehnen
listen_to_botsboolfalseNachrichten anderer Bots verarbeiten (eigene Nachrichten werden immer ignoriert)
mention_onlyboolfalseNur auf @-Erwähnungen antworten
toml
[channels_config.discord]
bot_token = "MTIz..."
guild_id = "987654321"
allowed_users = ["111222333"]
mention_only = true

[channels_config.slack]

FeldTypStandardBeschreibung
bot_tokenstring(erforderlich)Slack-Bot-OAuth-Token (xoxb-...)
app_tokenstring?nullApp-Level-Token für Socket Mode (xapp-...)
channel_idstring?nullAuf einen einzelnen Kanal beschränken
allowed_usersstring[][]Erlaubte Slack-Benutzer-IDs. Leer = alle ablehnen
mention_onlyboolfalseIn Gruppen nur auf @-Erwähnungen antworten

[channels_config.lark]

FeldTypStandardBeschreibung
app_idstring(erforderlich)Lark/Feishu App-ID
app_secretstring(erforderlich)Lark/Feishu App Secret
encrypt_keystring?nullEreignis-Verschlüsselungsschlüssel
verification_tokenstring?nullEreignis-Verifizierungstoken
allowed_usersstring[][]Erlaubte Benutzer-IDs. Leer = alle ablehnen
use_feishuboolfalseFeishu (China) API-Endpunkte statt Lark (international) verwenden
receive_mode"websocket" | "webhook""websocket"Nachrichtenempfangsmodus
portu16?nullWebhook-Lauschport (nur für Webhook-Modus)
mention_onlyboolfalseNur auf @-Erwähnungen antworten

PRX unterstützt auch diese zusätzlichen Kanäle (konfiguriert unter [channels_config.*]):

  • Matrix -- homeserver, access_token, Raum-Allowlists
  • Signal -- über signal-cli REST API
  • WhatsApp -- Cloud API oder Web-Modus
  • iMessage -- nur macOS, Kontakt-Allowlists
  • DingTalk -- Stream Mode mit client_id / client_secret
  • QQ -- Offizielles Bot-SDK mit app_id / app_secret
  • E-Mail -- IMAP/SMTP
  • IRC -- Server, Kanal, Nick
  • Mattermost -- URL + Bot-Token
  • Nextcloud Talk -- Basis-URL + App-Token
  • Webhook -- Generische eingehende Webhooks

[memory]

Gedächtnis-Backend für Gesprächsverlauf, Wissen und Embeddings.

FeldTypStandardBeschreibung
backendstring"sqlite"Backend-Typ: "sqlite", "lucid", "postgres", "markdown", "none"
auto_savebooltrueBenutzereingaben automatisch im Gedächtnis speichern
acl_enabledboolfalseGedächtnis-Zugriffskontrolllisten aktivieren
hygiene_enabledbooltrueRegelmäßige Archivierung und Aufbewahrungsbereinigung durchführen
archive_after_daysu327Tages-/Sitzungsdateien älter als diesen Wert archivieren
purge_after_daysu3230Archivierte Dateien älter als diesen Wert löschen
conversation_retention_daysu323SQLite: Gesprächszeilen älter als diesen Wert bereinigen
daily_retention_daysu327SQLite: Tageszeilen älter als diesen Wert bereinigen
embedding_providerstring"none"Embedding-Anbieter: "none", "openai", "custom:<URL>"
embedding_modelstring"text-embedding-3-small"Embedding-Modellname
embedding_dimensionsusize1536Embedding-Vektordimensionen
vector_weightf640.7Gewicht für Vektorähnlichkeit bei Hybridsuche (0.0--1.0)
keyword_weightf640.3Gewicht für BM25-Stichwortsuche (0.0--1.0)
min_relevance_scoref640.4Minimale Hybrid-Punktzahl zur Aufnahme ins Gedächtnis im Kontext
embedding_cache_sizeusize10000Maximale Embedding-Cache-Einträge vor LRU-Verdrängung
snapshot_enabledboolfalseKernerinnerungen nach MEMORY_SNAPSHOT.md exportieren
snapshot_on_hygieneboolfalseSnapshot während Hygiene-Durchläufen ausführen
auto_hydratebooltrueAutomatisch aus Snapshot laden, wenn brain.db fehlt
toml
[memory]
backend = "sqlite"
auto_save = true
embedding_provider = "openai"
embedding_model = "text-embedding-3-small"
embedding_dimensions = 1536
vector_weight = 0.7
keyword_weight = 0.3

[router]

Heuristischer LLM-Router für Multi-Modell-Bereitstellungen. Bewertet Kandidatenmodelle mit einer gewichteten Formel, die Fähigkeit, Elo-Rating, Kosten und Latenz kombiniert.

FeldTypStandardBeschreibung
enabledboolfalseHeuristisches Routing aktivieren
alphaf320.0Ähnlichkeitspunktzahl-Gewicht
betaf320.5Fähigkeitspunktzahl-Gewicht
gammaf320.3Elo-Punktzahl-Gewicht
deltaf320.1Kostenstrafe-Koeffizient
epsilonf320.1Latenzstrafe-Koeffizient
knn_enabledboolfalseKNN-semantisches Routing aus Verlauf aktivieren
knn_min_recordsusize10Minimale Verlaufseinträge, bevor KNN das Routing beeinflusst
knn_kusize7Anzahl nächster Nachbarn für die Abstimmung

[router.automix]

Adaptive Eskalationsrichtlinie: mit einem günstigen Modell beginnen, bei sinkender Konfidenz auf Premium eskalieren.

FeldTypStandardBeschreibung
enabledboolfalseAutomix-Eskalation aktivieren
confidence_thresholdf320.7Eskalieren, wenn Konfidenz unter diesen Wert fällt (0.0--1.0)
cheap_model_tiersstring[][]Modellebenen, die als "günstig zuerst" gelten
premium_model_idstring""Für Eskalation verwendetes Modell
toml
[router]
enabled = true
beta = 0.5
gamma = 0.3
knn_enabled = true

[router.automix]
enabled = true
confidence_threshold = 0.7
premium_model_id = "anthropic/claude-sonnet-4-6"

[security]

Betriebssystemebene-Sicherheit: Sandboxing, Ressourcenlimits und Audit-Logging.

[security.sandbox]

FeldTypStandardBeschreibung
enabledbool?null (automatische Erkennung)Sandbox-Isolation aktivieren
backendstring"auto"Backend: "auto", "landlock", "firejail", "bubblewrap", "docker", "none"
firejail_argsstring[][]Benutzerdefinierte Firejail-Argumente

[security.resources]

FeldTypStandardBeschreibung
max_memory_mbu32512Maximaler Speicher pro Befehl (MB)
max_cpu_time_secondsu6460Maximale CPU-Zeit pro Befehl
max_subprocessesu3210Maximale Anzahl von Unterprozessen
memory_monitoringbooltrueSpeichernutzungsüberwachung aktivieren

[security.audit]

FeldTypStandardBeschreibung
enabledbooltrueAudit-Logging aktivieren
log_pathstring"audit.log"Pfad zur Audit-Logdatei (relativ zum Konfigurationsverzeichnis)
max_size_mbu32100Maximale Loggröße vor Rotation
sign_eventsboolfalseEreignisse mit HMAC signieren zur Manipulationserkennung
toml
[security.sandbox]
backend = "landlock"

[security.resources]
max_memory_mb = 1024
max_cpu_time_seconds = 120

[security.audit]
enabled = true
sign_events = true

[observability]

Metriken- und verteiltes Tracing-Backend.

FeldTypStandardBeschreibung
backendstring"none"Backend: "none", "log", "prometheus", "otel"
otel_endpointstring?nullOTLP-Endpunkt-URL (z.B. "http://localhost:4318")
otel_service_namestring?nullDienstname für OTel-Collector (Standard: "prx")
toml
[observability]
backend = "otel"
otel_endpoint = "http://localhost:4318"
otel_service_name = "prx-production"

[mcp]

Model Context Protocol Server-Integration. PRX fungiert als MCP-Client und verbindet sich mit externen MCP-Servern für zusätzliche Werkzeuge.

FeldTypStandardBeschreibung
enabledboolfalseMCP-Client-Integration aktivieren

[mcp.servers.<name>]

Jeder benannte Server ist ein Unterabschnitt unter [mcp.servers].

FeldTypStandardBeschreibung
enabledbooltrueServer-spezifischer Aktivierungsschalter
transport"stdio" | "http""stdio"Transporttyp
commandstring?nullBefehl für stdio-Modus
argsstring[][]Befehlsargumente für stdio-Modus
urlstring?nullURL für HTTP-Transport
envmap<string, string>{}Umgebungsvariablen für stdio-Modus
startup_timeout_msu6410000Start-Zeitlimit
request_timeout_msu6430000Zeitlimit pro Anfrage
tool_name_prefixstring"mcp"Präfix für bereitgestellte Werkzeugnamen
allow_toolsstring[][]Werkzeug-Allowlist (leer = alle)
deny_toolsstring[][]Werkzeug-Denylist
toml
[mcp]
enabled = true

[mcp.servers.filesystem]
transport = "stdio"
command = "npx"
args = ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]

[mcp.servers.remote-api]
transport = "http"
url = "http://localhost:8090/mcp"
request_timeout_ms = 60000

[browser]

Browser-Automatisierungswerkzeug-Konfiguration.

FeldTypStandardBeschreibung
enabledboolfalsebrowser_open-Werkzeug aktivieren
allowed_domainsstring[][]Erlaubte Domains (exakter Treffer oder Subdomain-Übereinstimmung)
session_namestring?nullBenannte Browser-Sitzung für Automatisierung
toml
[browser]
enabled = true
allowed_domains = ["docs.rs", "github.com", "*.example.com"]

Websuche- und URL-Abruf-Werkzeugkonfiguration.

FeldTypStandardBeschreibung
enabledboolfalseweb_search-Werkzeug aktivieren
providerstring"duckduckgo"Suchanbieter: "duckduckgo" (kostenlos) oder "brave" (API-Schlüssel erforderlich)
brave_api_keystring?nullBrave Search API-Schlüssel
max_resultsusize5Maximale Ergebnisse pro Suche (1--10)
timeout_secsu6415Anfrage-Zeitlimit
fetch_enabledbooltrueweb_fetch-Werkzeug aktivieren
fetch_max_charsusize10000Maximale von web_fetch zurückgegebene Zeichen
toml
[web_search]
enabled = true
provider = "brave"
brave_api_key = "BSA..."
max_results = 5
fetch_enabled = true

[xin]

Xin (Herz/Geist) autonome Aufgaben-Engine -- plant und führt Hintergrundaufgaben aus, einschließlich Evolution, Fitnessprüfungen und Hygiene-Operationen.

FeldTypStandardBeschreibung
enabledboolfalseXin-Aufgaben-Engine aktivieren
interval_minutesu325Tick-Intervall in Minuten (Minimum 1)
max_concurrentusize4Maximale gleichzeitige Aufgabenausführungen pro Tick
max_tasksusize128Maximale Gesamtaufgaben im Speicher
stale_timeout_minutesu3260Minuten, bevor eine laufende Aufgabe als veraltet markiert wird
builtin_tasksbooltrueIntegrierte Systemaufgaben automatisch registrieren
evolution_integrationboolfalseXin die Evolutions-/Fitness-Planung verwalten lassen
toml
[xin]
enabled = true
interval_minutes = 10
max_concurrent = 4
builtin_tasks = true
evolution_integration = true

[cost]

Ausgabenlimits und Preise pro Modell zur Kostenverfolgung.

FeldTypStandardBeschreibung
enabledboolfalseKostenverfolgung aktivieren
daily_limit_usdf6410.0Tägliches Ausgabenlimit in USD
monthly_limit_usdf64100.0Monatliches Ausgabenlimit in USD
warn_at_percentu880Warnung, wenn Ausgaben diesen Prozentsatz des Limits erreichen
allow_overrideboolfalseAnfragen erlauben, das Budget mit --override-Flag zu überschreiten
toml
[cost]
enabled = true
daily_limit_usd = 25.0
monthly_limit_usd = 500.0
warn_at_percent = 80

[reliability]

Wiederholungs- und Fallback-Kettenkonfiguration für robusten Anbieterzugriff.

FeldTypStandardBeschreibung
max_retriesu323Maximale Wiederholungsversuche bei vorübergehenden Fehlern
fallback_providersstring[][]Geordnete Liste von Fallback-Anbieternamen
toml
[reliability]
max_retries = 3
fallback_providers = ["openai", "gemini"]

[secrets]

Verschlüsselter Zugangsdatenspeicher mit ChaCha20-Poly1305.

FeldTypStandardBeschreibung
encryptbooltrueVerschlüsselung für API-Schlüssel und Token in der Konfiguration aktivieren

[auth]

Einstellungen für den Import externer Zugangsdaten.

FeldTypStandardBeschreibung
codex_auth_json_auto_importbooltrueOAuth-Zugangsdaten automatisch aus Codex CLI auth.json importieren
codex_auth_json_pathstring"~/.codex/auth.json"Pfad zur Codex CLI-Auth-Datei

[proxy]

Ausgehende HTTP/HTTPS/SOCKS5-Proxy-Konfiguration.

FeldTypStandardBeschreibung
enabledboolfalseProxy aktivieren
http_proxystring?nullHTTP-Proxy-URL
https_proxystring?nullHTTPS-Proxy-URL
all_proxystring?nullFallback-Proxy für alle Schemata
no_proxystring[][]Umgehungsliste (gleiches Format wie NO_PROXY)
scopestring"zeroclaw"Bereich: "environment", "zeroclaw", "services"
servicesstring[][]Dienst-Selektoren, wenn Bereich "services" ist
toml
[proxy]
enabled = true
https_proxy = "socks5://127.0.0.1:1080"
no_proxy = ["localhost", "127.0.0.1", "*.internal"]
scope = "zeroclaw"

Released under the Apache-2.0 License.