Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Variables d'environnement

PRX lit les variables d'environnement pour les cles API, les chemins de configuration et les surcharges d'execution. Les variables d'environnement prennent le pas sur les valeurs de config.toml pour les champs sensibles en termes de securite comme les cles API.

Chemins de configuration

VariableDefautDescription
OPENPRX_CONFIG_DIR~/.openprxSurcharger le repertoire de configuration. PRX cherche config.toml et config.d/ dans ce repertoire
OPENPRX_WORKSPACE~/.openprx/workspaceSurcharger le repertoire de l'espace de travail (memoire, sessions, donnees)

Lorsque OPENPRX_CONFIG_DIR est defini, il a la priorite sur OPENPRX_WORKSPACE et le marqueur d'espace de travail actif.

Ordre de resolution du repertoire de configuration :

  1. OPENPRX_CONFIG_DIR (priorite la plus elevee)
  2. OPENPRX_WORKSPACE
  3. Marqueur d'espace de travail actif (~/.openprx/active_workspace.toml)
  4. ~/.openprx/ (par defaut)

Cles API des fournisseurs

Chaque fournisseur dispose d'une variable d'environnement dediee. PRX verifie celles-ci avant de se rabattre sur le champ api_key dans config.toml.

Fournisseurs principaux

VariableFournisseur
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GOOGLE_API_KEYGoogle Gemini (alternative)
OPENROUTER_API_KEYOpenRouter
OLLAMA_API_KEYOllama (generalement pas necessaire)
GLM_API_KEYZhipu GLM
ZAI_API_KEYZ.AI
MINIMAX_API_KEYMinimax
MOONSHOT_API_KEYMoonshot
DASHSCOPE_API_KEYAlibaba Qwen (DashScope)

Tokens OAuth

Certains fournisseurs prennent en charge l'authentification OAuth en plus de (ou a la place de) cles API :

VariableFournisseurDescription
ANTHROPIC_OAUTH_TOKENAnthropicToken OAuth Claude Code
CLAUDE_CODE_ACCESS_TOKENAnthropicToken d'acces Claude Code (alternative)
CLAUDE_CODE_REFRESH_TOKENAnthropicToken de rafraichissement Claude Code pour le renouvellement automatique
MINIMAX_OAUTH_TOKENMinimaxToken d'acces OAuth Minimax
MINIMAX_OAUTH_REFRESH_TOKENMinimaxToken de rafraichissement OAuth Minimax
MINIMAX_OAUTH_CLIENT_IDMinimaxSurcharge de l'ID client OAuth
MINIMAX_OAUTH_REGIONMinimaxRegion OAuth (global ou cn)
QWEN_OAUTH_TOKENQwenToken d'acces OAuth Qwen
QWEN_OAUTH_REFRESH_TOKENQwenToken de rafraichissement OAuth Qwen
QWEN_OAUTH_CLIENT_IDQwenSurcharge de l'ID client OAuth Qwen
QWEN_OAUTH_RESOURCE_URLQwenSurcharge de l'URL de ressource OAuth Qwen

Fournisseurs compatibles / tiers

VariableFournisseur
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

Alternative generique

VariableDescription
API_KEYAlternative generique utilisee lorsqu'aucune variable specifique au fournisseur n'est definie

Variables d'outils et de canaux

VariableDescription
BRAVE_API_KEYCle API Brave Search (pour [web_search] avec provider = "brave")
GITHUB_TOKENToken d'acces personnel GitHub (utilise par les competences et les integrations)
GOOGLE_APPLICATION_CREDENTIALSChemin du fichier ADC Google Cloud (Gemini via compte de service)

Variables d'execution

VariableDescription
OPENPRX_VERSIONSurcharger la chaine de version rapportee
OPENPRX_AUTOSTART_CHANNELSDefinir a "1" pour demarrer automatiquement les listeners de canaux au boot
OPENPRX_EVOLUTION_CONFIGSurcharger le chemin de configuration de l'evolution
OPENPRX_EVOLUTION_DEBUG_RAWActiver la journalisation de debogage brute de l'evolution

Substitution de variables dans la configuration

PRX ne prend pas en charge nativement la syntaxe ${VAR_NAME} dans config.toml. Cependant, vous pouvez obtenir la substitution de variables d'environnement par ces approches :

1. Utiliser directement les variables d'environnement

Pour les cles API, PRX verifie automatiquement la variable d'environnement correspondante. Vous n'avez pas besoin de les referencer dans le fichier de configuration :

toml
# Pas besoin de api_key -- PRX verifie ANTHROPIC_API_KEY automatiquement
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"

2. Utiliser un wrapper shell

Generer config.toml depuis un modele en utilisant envsubst ou similaire :

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

3. Utiliser la configuration scindee avec les secrets

Gardez les secrets dans un fichier separe qui est genere depuis les variables d'environnement au moment du deploiement :

bash
# Generer le fragment de secrets
cat > ~/.openprx/config.d/secrets.toml << EOF
api_key = "$ANTHROPIC_API_KEY"

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

Support du fichier .env

PRX ne charge pas automatiquement les fichiers .env. Si vous avez besoin du support .env, utilisez l'une de ces approches :

Avec systemd

Ajoutez EnvironmentFile a votre unite de service :

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

Avec un wrapper shell

Sourcez le fichier .env avant de demarrer PRX :

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

Avec direnv

Si vous utilisez direnv, placez un fichier .envrc dans votre repertoire de travail :

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

Recommandations de securite

  • Ne commitez jamais les cles API dans le controle de version. Utilisez des variables d'environnement ou des secrets chiffres.
  • Le sous-systeme [secrets] de PRX chiffre les champs sensibles dans config.toml avec ChaCha20-Poly1305. Activez-le avec [secrets] encrypt = true (active par defaut).
  • Le .dockerignore fourni avec PRX exclut les fichiers .env et .env.* des builds de conteneurs.
  • Les journaux d'audit masquent automatiquement les cles API et les tokens.
  • Lors de l'utilisation de OPENPRX_CONFIG_DIR pour pointer vers un repertoire partage, assurez-vous des permissions de fichier appropriees (chmod 600 config.toml).

Released under the Apache-2.0 License.