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

Umgebungsvariablen

PRX liest Umgebungsvariablen für API-Schlüssel, Konfigurationspfade und Laufzeitüberschreibungen. Umgebungsvariablen haben Vorrang vor Werten in config.toml für sicherheitskritische Felder wie API-Schlüssel.

Konfigurationspfade

VariableStandardBeschreibung
OPENPRX_CONFIG_DIR~/.openprxKonfigurationsverzeichnis überschreiben. PRX sucht config.toml und config.d/ in diesem Verzeichnis
OPENPRX_WORKSPACE~/.openprx/workspaceWorkspace-Verzeichnis überschreiben (Gedächtnis, Sitzungen, Daten)

Wenn OPENPRX_CONFIG_DIR gesetzt ist, hat es Vorrang vor OPENPRX_WORKSPACE und dem aktiven Workspace-Marker.

Auflösungsreihenfolge für das Konfigurationsverzeichnis:

  1. OPENPRX_CONFIG_DIR (höchste Priorität)
  2. OPENPRX_WORKSPACE
  3. Aktiver Workspace-Marker (~/.openprx/active_workspace.toml)
  4. ~/.openprx/ (Standard)

Anbieter-API-Schlüssel

Jeder Anbieter hat eine dedizierte Umgebungsvariable. PRX prüft diese, bevor auf das Feld api_key in config.toml zurückgegriffen wird.

Primäre Anbieter

VariableAnbieter
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GOOGLE_API_KEYGoogle Gemini (Alternative)
OPENROUTER_API_KEYOpenRouter
OLLAMA_API_KEYOllama (normalerweise nicht benötigt)
GLM_API_KEYZhipu GLM
ZAI_API_KEYZ.AI
MINIMAX_API_KEYMinimax
MOONSHOT_API_KEYMoonshot
DASHSCOPE_API_KEYAlibaba Qwen (DashScope)

OAuth-Token

Einige Anbieter unterstützen zusätzlich zu (oder anstelle von) API-Schlüsseln die OAuth-Authentifizierung:

VariableAnbieterBeschreibung
ANTHROPIC_OAUTH_TOKENAnthropicClaude Code OAuth-Token
CLAUDE_CODE_ACCESS_TOKENAnthropicClaude Code Access-Token (Alternative)
CLAUDE_CODE_REFRESH_TOKENAnthropicClaude Code Refresh-Token für automatische Erneuerung
MINIMAX_OAUTH_TOKENMinimaxMinimax OAuth Access-Token
MINIMAX_OAUTH_REFRESH_TOKENMinimaxMinimax OAuth Refresh-Token
MINIMAX_OAUTH_CLIENT_IDMinimaxOAuth-Client-ID-Überschreibung
MINIMAX_OAUTH_REGIONMinimaxOAuth-Region (global oder cn)
QWEN_OAUTH_TOKENQwenQwen OAuth Access-Token
QWEN_OAUTH_REFRESH_TOKENQwenQwen OAuth Refresh-Token
QWEN_OAUTH_CLIENT_IDQwenQwen OAuth-Client-ID-Überschreibung
QWEN_OAUTH_RESOURCE_URLQwenQwen OAuth-Ressourcen-URL-Überschreibung

Kompatible / Drittanbieter

VariableAnbieter
GROQ_API_KEYGroq
MISTRAL_API_KEYMistral
DEEPSEEK_API_KEYDeepSeek
XAI_API_KEYxAI (Grok)
TOGETHER_API_KEYTogether AI
FIREWORKS_API_KEYFireworks AI
PERPLEXITY_API_KEYPerplexity
COHERE_API_KEYCohere
NVIDIA_API_KEYNVIDIA NIM
VENICE_API_KEYVenice
LLAMACPP_API_KEYllama.cpp Server
KIMI_CODE_API_KEYKimi Code (Moonshot)
QIANFAN_API_KEYBaidu Qianfan
CLOUDFLARE_API_KEYCloudflare AI
VERCEL_API_KEYVercel AI

Fallback

VariableBeschreibung
API_KEYGenerischer Fallback, der verwendet wird, wenn keine anbieterspezifische Variable gesetzt ist

Werkzeug- und Kanalvariablen

VariableBeschreibung
BRAVE_API_KEYBrave Search API-Schlüssel (für [web_search] mit provider = "brave")
GITHUB_TOKENGitHub Personal Access Token (wird von Skills und Integrationen verwendet)
GOOGLE_APPLICATION_CREDENTIALSGoogle Cloud ADC-Dateipfad (Gemini über Dienstkonto)

Laufzeitvariablen

VariableBeschreibung
OPENPRX_VERSIONGemeldete Versionszeichenkette überschreiben
OPENPRX_AUTOSTART_CHANNELSAuf "1" setzen, um Kanal-Listener beim Start automatisch zu starten
OPENPRX_EVOLUTION_CONFIGPfad der Entwicklungskonfiguration überschreiben
OPENPRX_EVOLUTION_DEBUG_RAWRohes Entwicklungs-Debug-Logging aktivieren

Variablensubstitution in der Konfiguration

PRX expandiert die Syntax ${VAR_NAME} innerhalb von config.toml nicht nativ. Sie können jedoch Umgebungsvariablen-Substitution über folgende Ansätze erreichen:

1. Umgebungsvariablen direkt verwenden

Für API-Schlüssel prüft PRX automatisch die entsprechende Umgebungsvariable. Sie müssen sie nicht in der Konfigurationsdatei referenzieren:

toml
# Kein api_key nötig -- PRX prüft ANTHROPIC_API_KEY automatisch
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"

2. Shell-Wrapper verwenden

Generieren Sie config.toml aus einer Vorlage mit envsubst oder ähnlichem:

bash
envsubst < config.toml.template > ~/.openprx/config.toml

3. Aufgeteilte Konfiguration mit Secrets verwenden

Halten Sie Secrets in einer separaten Datei, die bei der Bereitstellung aus Umgebungsvariablen generiert wird:

bash
# Secrets-Fragment generieren
cat > ~/.openprx/config.d/secrets.toml << EOF
api_key = "$ANTHROPIC_API_KEY"

[channels_config.telegram]
bot_token = "$TELEGRAM_BOT_TOKEN"
EOF

.env-Dateiunterstützung

PRX lädt .env-Dateien nicht automatisch. Wenn Sie .env-Dateiunterstützung benötigen, verwenden Sie einen dieser Ansätze:

Mit systemd

Fügen Sie EnvironmentFile zu Ihrer Service-Unit hinzu:

ini
[Service]
EnvironmentFile=/opt/openprx/.env
ExecStart=/usr/local/bin/openprx

Mit einem Shell-Wrapper

Sourcen Sie die .env-Datei, bevor Sie PRX starten:

bash
#!/bin/bash
set -a
source /opt/openprx/.env
set +a
exec openprx

Mit direnv

Wenn Sie direnv verwenden, platzieren Sie eine .envrc-Datei in Ihrem Arbeitsverzeichnis:

bash
# .envrc
export ANTHROPIC_API_KEY="sk-ant-..."
export TELEGRAM_BOT_TOKEN="123456:ABC-DEF..."

Sicherheitsempfehlungen

  • Committen Sie niemals API-Schlüssel in die Versionskontrolle. Verwenden Sie Umgebungsvariablen oder verschlüsselte Secrets.
  • Das [secrets]-Subsystem von PRX verschlüsselt sensible Felder in config.toml mit ChaCha20-Poly1305. Aktivieren Sie es mit [secrets] encrypt = true (standardmäßig aktiviert).
  • Die mit PRX ausgelieferte .dockerignore schließt .env- und .env.*-Dateien aus Container-Builds aus.
  • Audit-Logs schwärzen API-Schlüssel und Token automatisch.
  • Wenn Sie OPENPRX_CONFIG_DIR auf ein gemeinsames Verzeichnis verweisen, stellen Sie korrekte Dateiberechtigungen sicher (chmod 600 config.toml).

Released under the Apache-2.0 License.