Umgebungsvariablen
Überschreiben Sie jede YeePilot-Konfigurationseinstellung mit Umgebungsvariablen
Überblick
Jede YeePilot-Konfigurationsoption kann mithilfe von Umgebungsvariablen überschrieben werden. Dies ist nützlich für CI/CD-Pipelines, containerisierte Deployments, temporäre Überschreibungen und das Fernhalten von Geheimnissen aus Konfigurationsdateien.
Umgebungsvariablen haben immer Vorrang vor Werten in ~/.yeepilot/config.yaml.
Namenskonvention
Umgebungsvariablen folgen einem einheitlichen Muster:
- Beginnen Sie mit dem Präfix
YEEPILOT_. - Konvertieren Sie den Konfigurationsschlüssel in GROSSBUCHSTABEN.
- Ersetzen Sie Punkte und verschachtelte Schlüssel durch Unterstriche.
Beispiele
| Konfigurationsschlüssel | Umgebungsvariable |
|---|---|
ai.provider | YEEPILOT_AI_PROVIDER |
ai.model | YEEPILOT_AI_MODEL |
ai.api_key | YEEPILOT_AI_API_KEY |
ai.max_tokens | YEEPILOT_AI_MAX_TOKENS |
ai.token_mode | YEEPILOT_AI_TOKEN_MODE |
security.mode | YEEPILOT_SECURITY_MODE |
sandbox.enabled | YEEPILOT_SANDBOX_ENABLED |
sandbox.use_namespaces | YEEPILOT_SANDBOX_USE_NAMESPACES |
personality.language | YEEPILOT_PERSONALITY_LANGUAGE |
tui.theme | YEEPILOT_TUI_THEME |
update.auto_check | YEEPILOT_UPDATE_AUTO_CHECK |
Konfigurationspriorität
Wenn dieselbe Einstellung an mehreren Stellen definiert ist, löst YeePilot sie in dieser Reihenfolge auf (höchste Priorität zuerst):
- Umgebungsvariablen -- Haben immer Vorrang.
- Konfigurationsdatei (
~/.yeepilot/config.yaml) -- Wird verwendet, wenn keine Umgebungsvariable gesetzt ist. - Eingebaute Standardwerte -- Wird verwendet, wenn weder Umgebungsvariable noch Konfigurationsdateiwert existiert.
# Dies überschreibt alles in config.yaml
export YEEPILOT_AI_PROVIDER=anthropic
export YEEPILOT_AI_MODEL=claude-sonnet-4-20250514
yeepilot runHäufige Umgebungsvariablen
KI-Anbieter-Einstellungen
# Anbieter und Modell auswählen
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o
# API-Schlüssel (bevorzugt gegenüber Konfigurationsdatei aus Sicherheitsgründen)
export YEEPILOT_AI_API_KEY=sk-...
# Benutzerdefinierter API-Endpunkt (z.B. für lokale Modelle)
export YEEPILOT_AI_BASE_URL=http://localhost:11434/v1
# Token-Verwaltung
export YEEPILOT_AI_MAX_TOKENS=8192
export YEEPILOT_AI_TOKEN_MODE=saver
# Agent und Denkmodus
export YEEPILOT_AI_AGENT_MODE=true
export YEEPILOT_AI_THINK_MODE=medium
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_reviewSicherheitseinstellungen
# Sicherheitshaltung
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_SECURITY_REQUIRE_CONFIRMATION=true
# Audit-Protokoll-Speicherort
export YEEPILOT_SECURITY_AUDIT_LOG_PATH=/var/log/yeepilot/audit.logSandbox-Einstellungen
# Namespaces deaktivieren (nützlich unter macOS oder eingeschränkten Umgebungen)
export YEEPILOT_SANDBOX_USE_NAMESPACES=false
# Ressourcenlimits anpassen
export YEEPILOT_SANDBOX_MAX_CPU_SECONDS=600
export YEEPILOT_SANDBOX_MAX_MEMORY_MB=1024Persönlichkeit und Anzeige
# Sprache und Ton
export YEEPILOT_PERSONALITY_LANGUAGE=de
export YEEPILOT_PERSONALITY_TONE=professional
export YEEPILOT_PERSONALITY_VERBOSITY=brief
# TUI-Theme
export YEEPILOT_TUI_THEME=darkDirekte API-Schlüssel-Variablen
Zusätzlich zu YEEPILOT_AI_API_KEY erkennt YeePilot auch die Standard-API-Schlüssel-Umgebungsvariablen, die von jedem Anbieter verwendet werden:
| Variable | Anbieter |
|---|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter |
Diese funktionieren ohne das YEEPILOT_-Präfix und werden automatisch überprüft, wenn kein anderer API-Schlüssel konfiguriert ist.
# Diese sind für OpenAI gleichwertig:
export YEEPILOT_AI_API_KEY=sk-abc123
# oder
export OPENAI_API_KEY=sk-abc123Wenn sowohl YEEPILOT_AI_API_KEY als auch eine anbieterspezifische Variable gesetzt sind, hat YEEPILOT_AI_API_KEY Vorrang.
Praktische Beispiele
Temporärer Anbieterwechsel
Wechseln Sie zu einem anderen Anbieter für eine einzelne Sitzung, ohne Ihre Konfigurationsdatei zu ändern:
YEEPILOT_AI_PROVIDER=anthropic \
YEEPILOT_AI_MODEL=claude-sonnet-4-20250514 \
ANTHROPIC_API_KEY=sk-ant-... \
yeepilot runProduktionsserver-Absicherung
Strenge Sicherheit per Umgebungsvariable für alle Benutzer auf einem gemeinsamen Server setzen:
# Zu /etc/environment oder /etc/profile.d/yeepilot.sh hinzufügen
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_review
export YEEPILOT_SANDBOX_ENABLED=true
export YEEPILOT_SANDBOX_USE_NAMESPACES=true
export YEEPILOT_SANDBOX_NETWORK_ACCESS=falseCI/CD-Pipeline
YeePilot in einer nicht-interaktiven Pipeline verwenden:
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o-mini
export OPENAI_API_KEY="${OPENAI_SECRET}"
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_AI_AUTONOMY_PROFILE=high
yeepilot exec "check disk usage and report servers over 80%"Kostenbewusste Konfiguration
Token-Verbrauch und API-Kosten minimieren:
export YEEPILOT_AI_TOKEN_MODE=saver
export YEEPILOT_AI_MAX_TOKENS=2048
export YEEPILOT_AI_CONVERSATION_MAX_HISTORY=5
export YEEPILOT_AI_OUTPUT_TRUNCATE_LENGTH=200Shell-Konfiguration
Um Umgebungsvariablen sitzungsübergreifend beizubehalten, fügen Sie sie zu Ihrem Shell-Profil hinzu:
Bash
# Zu ~/.bashrc oder ~/.bash_profile hinzufügen
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Zsh
# Zu ~/.zshrc hinzufügen
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Fish
# Zu ~/.config/fish/config.fish hinzufügen
set -gx YEEPILOT_AI_PROVIDER openai
set -gx OPENAI_API_KEY sk-...Laden Sie nach der Bearbeitung Ihre Shell neu oder führen Sie source ~/.bashrc (oder das Äquivalent für Ihre Shell) aus.
Entwicklungsmodus
Die Variable YEEPILOT_DEV_MODE ist ein Sonderfall. Sie wirkt sich nur aus, wenn sie mit einem Entwicklungs-Build von YeePilot verwendet wird (kompiliert mit dem dev-Build-Tag). Produktions-Binärdateien ignorieren diese Variable vollständig.
# Funktioniert nur mit Entwicklungs-Builds
export YEEPILOT_DEV_MODE=1Dies wird von Mitwirkenden während der Entwicklung verwendet und ist für die normale Nutzung nicht relevant.
Ihre Konfiguration überprüfen
Um zu sehen, welche Einstellungen aktiv sind (einschließlich Umgebungsvariablen-Überschreibungen), führen Sie aus:
yeepilot statusDies zeigt den aktuellen Anbieter, das Modell, den Sicherheitsmodus und andere aktive Einstellungen an und zeigt, woher jeder Wert stammt.