Skip to content
Esta página fue generada y traducida con asistencia de IA. Si encuentra alguna imprecisión, no dude en ayudar a mejorarla. Editar en GitHub

Variables de entorno

PRX lee variables de entorno para claves API, rutas de configuracion y sobreescrituras en tiempo de ejecucion. Las variables de entorno tienen precedencia sobre los valores en config.toml para campos sensibles como las claves API.

Rutas de configuracion

VariablePor defectoDescripcion
OPENPRX_CONFIG_DIR~/.openprxSobreescribir el directorio de configuracion. PRX busca config.toml y config.d/ dentro de este directorio
OPENPRX_WORKSPACE~/.openprx/workspaceSobreescribir el directorio del espacio de trabajo (memoria, sesiones, datos)

Cuando OPENPRX_CONFIG_DIR esta definida, tiene precedencia sobre OPENPRX_WORKSPACE y el marcador de espacio de trabajo activo.

Orden de resolucion del directorio de configuracion:

  1. OPENPRX_CONFIG_DIR (maxima prioridad)
  2. OPENPRX_WORKSPACE
  3. Marcador de espacio de trabajo activo (~/.openprx/active_workspace.toml)
  4. ~/.openprx/ (por defecto)

Claves API de proveedores

Cada proveedor tiene una variable de entorno dedicada. PRX las verifica antes de recurrir al campo api_key en config.toml.

Proveedores principales

VariableProveedor
ANTHROPIC_API_KEYAnthropic (Claude)
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GOOGLE_API_KEYGoogle Gemini (alternativa)
OPENROUTER_API_KEYOpenRouter
OLLAMA_API_KEYOllama (normalmente no necesaria)
GLM_API_KEYZhipu GLM
ZAI_API_KEYZ.AI
MINIMAX_API_KEYMinimax
MOONSHOT_API_KEYMoonshot
DASHSCOPE_API_KEYAlibaba Qwen (DashScope)

Tokens OAuth

Algunos proveedores soportan autenticacion OAuth ademas de (o en lugar de) claves API:

VariableProveedorDescripcion
ANTHROPIC_OAUTH_TOKENAnthropicToken OAuth de Claude Code
CLAUDE_CODE_ACCESS_TOKENAnthropicToken de acceso de Claude Code (alternativa)
CLAUDE_CODE_REFRESH_TOKENAnthropicToken de actualizacion de Claude Code para renovacion automatica
MINIMAX_OAUTH_TOKENMinimaxToken de acceso OAuth de Minimax
MINIMAX_OAUTH_REFRESH_TOKENMinimaxToken de actualizacion OAuth de Minimax
MINIMAX_OAUTH_CLIENT_IDMinimaxSobreescritura de ID de cliente OAuth
MINIMAX_OAUTH_REGIONMinimaxRegion OAuth (global o cn)
QWEN_OAUTH_TOKENQwenToken de acceso OAuth de Qwen
QWEN_OAUTH_REFRESH_TOKENQwenToken de actualizacion OAuth de Qwen
QWEN_OAUTH_CLIENT_IDQwenSobreescritura de ID de cliente OAuth de Qwen
QWEN_OAUTH_RESOURCE_URLQwenSobreescritura de URL de recurso OAuth de Qwen

Proveedores compatibles / de terceros

VariableProveedor
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_KEYservidor llama.cpp
KIMI_CODE_API_KEYKimi Code (Moonshot)
QIANFAN_API_KEYBaidu Qianfan
CLOUDFLARE_API_KEYCloudflare AI
VERCEL_API_KEYVercel AI

Respaldo

VariableDescripcion
API_KEYRespaldo generico usado cuando no se establece una variable especifica del proveedor

Variables de herramientas y canales

VariableDescripcion
BRAVE_API_KEYClave API de Brave Search (para [web_search] con provider = "brave")
GITHUB_TOKENToken de acceso personal de GitHub (usado por habilidades e integraciones)
GOOGLE_APPLICATION_CREDENTIALSRuta del archivo ADC de Google Cloud (Gemini via cuenta de servicio)

Variables de tiempo de ejecucion

VariableDescripcion
OPENPRX_VERSIONSobreescribir la cadena de version reportada
OPENPRX_AUTOSTART_CHANNELSEstablecer a "1" para auto-iniciar los listeners de canales al arrancar
OPENPRX_EVOLUTION_CONFIGSobreescribir la ruta de configuracion de evolucion
OPENPRX_EVOLUTION_DEBUG_RAWHabilitar logging de depuracion crudo de evolucion

Sustitucion de variables en la configuracion

PRX no expande nativamente la sintaxis ${VAR_NAME} dentro de config.toml. Sin embargo, puedes lograr la sustitucion de variables de entorno a traves de estos enfoques:

1. Usar variables de entorno directamente

Para claves API, PRX automaticamente verifica la variable de entorno correspondiente. No necesitas referenciarlas en el archivo de configuracion:

toml
# No se necesita api_key -- PRX verifica ANTHROPIC_API_KEY automaticamente
default_provider = "anthropic"
default_model = "anthropic/claude-sonnet-4-6"

2. Usar un wrapper de shell

Genera config.toml desde una plantilla usando envsubst o similar:

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

3. Usar configuracion dividida con secretos

Mantiene los secretos en un archivo separado que se genera desde variables de entorno en el momento del despliegue:

bash
# Generar fragmento de secretos
cat > ~/.openprx/config.d/secrets.toml << EOF
api_key = "$ANTHROPIC_API_KEY"

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

Soporte de archivos .env

PRX no carga archivos .env automaticamente. Si necesitas soporte de archivos .env, usa uno de estos enfoques:

Con systemd

Agrega EnvironmentFile a tu unidad de servicio:

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

Con un wrapper de shell

Carga el archivo .env antes de iniciar PRX:

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

Con direnv

Si usas direnv, coloca un archivo .envrc en tu directorio de trabajo:

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

Recomendaciones de seguridad

  • Nunca commits claves API al control de versiones. Usa variables de entorno o secretos cifrados.
  • El subsistema [secrets] de PRX cifra campos sensibles en config.toml con ChaCha20-Poly1305. Habilitalo con [secrets] encrypt = true (habilitado por defecto).
  • El .dockerignore que viene con PRX excluye archivos .env y .env.* de las compilaciones de contenedores.
  • Los logs de auditoria redactan automaticamente claves API y tokens.
  • Cuando uses OPENPRX_CONFIG_DIR para apuntar a un directorio compartido, asegura los permisos de archivo adecuados (chmod 600 config.toml).

Released under the Apache-2.0 License.