Variables de entorno
Anule cualquier ajuste de configuracion de YeePilot usando variables de entorno
Vision general
Cada opcion de configuracion de YeePilot puede anularse usando variables de entorno. Esto es util para pipelines de CI/CD, despliegues en contenedores, anulaciones temporales y mantener secretos fuera de los archivos de configuracion.
Las variables de entorno siempre tienen prioridad sobre los valores en ~/.yeepilot/config.yaml.
Convencion de nombres
Las variables de entorno siguen un patron consistente:
- Comenzar con el prefijo
YEEPILOT_. - Convertir la clave de configuracion a MAYUSCULAS.
- Reemplazar puntos y claves anidadas con guiones bajos.
Ejemplos
| Clave de configuracion | Variable de entorno |
|---|---|
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 |
Precedencia de configuracion
Cuando el mismo ajuste se define en multiples lugares, YeePilot los resuelve en este orden (mayor prioridad primero):
- Variables de entorno -- Siempre ganan.
- Archivo de configuracion (
~/.yeepilot/config.yaml) -- Se usa si no hay variable de entorno establecida. - Valores predeterminados integrados -- Se usan si no existe ni variable de entorno ni valor en el archivo de configuracion.
# Esto anula lo que sea que este en config.yaml
export YEEPILOT_AI_PROVIDER=anthropic
export YEEPILOT_AI_MODEL=claude-sonnet-4-20250514
yeepilot runVariables de entorno comunes
Ajustes de proveedor de IA
# Seleccionar proveedor y modelo
export YEEPILOT_AI_PROVIDER=openai
export YEEPILOT_AI_MODEL=gpt-4o
# Clave API (preferido sobre archivo de configuracion por seguridad)
export YEEPILOT_AI_API_KEY=sk-...
# Endpoint de API personalizado (por ejemplo, para modelos locales)
export YEEPILOT_AI_BASE_URL=http://localhost:11434/v1
# Gestion de tokens
export YEEPILOT_AI_MAX_TOKENS=8192
export YEEPILOT_AI_TOKEN_MODE=saver
# Agente y pensamiento
export YEEPILOT_AI_AGENT_MODE=true
export YEEPILOT_AI_THINK_MODE=medium
export YEEPILOT_AI_AUTONOMY_PROFILE=strict_reviewAjustes de seguridad
# Postura de seguridad
export YEEPILOT_SECURITY_MODE=strict
export YEEPILOT_SECURITY_REQUIRE_CONFIRMATION=true
# Ubicacion del registro de auditoria
export YEEPILOT_SECURITY_AUDIT_LOG_PATH=/var/log/yeepilot/audit.logAjustes del sandbox
# Deshabilitar namespaces (util en macOS o entornos restringidos)
export YEEPILOT_SANDBOX_USE_NAMESPACES=false
# Ajustar limites de recursos
export YEEPILOT_SANDBOX_MAX_CPU_SECONDS=600
export YEEPILOT_SANDBOX_MAX_MEMORY_MB=1024Personalidad y visualizacion
# Idioma y tono
export YEEPILOT_PERSONALITY_LANGUAGE=de
export YEEPILOT_PERSONALITY_TONE=professional
export YEEPILOT_PERSONALITY_VERBOSITY=brief
# Tema de la TUI
export YEEPILOT_TUI_THEME=darkVariables directas de clave API
Ademas de YEEPILOT_AI_API_KEY, YeePilot tambien reconoce las variables de clave API estandar usadas por cada proveedor:
| Variable | Proveedor |
|---|---|
OPENAI_API_KEY | OpenAI |
ANTHROPIC_API_KEY | Anthropic |
OPENROUTER_API_KEY | OpenRouter |
Estas funcionan sin el prefijo YEEPILOT_ y se verifican automaticamente cuando no hay otra clave API configurada.
# Estas son equivalentes para OpenAI:
export YEEPILOT_AI_API_KEY=sk-abc123
# o
export OPENAI_API_KEY=sk-abc123Si tanto YEEPILOT_AI_API_KEY como una variable especifica del proveedor estan establecidas, YEEPILOT_AI_API_KEY tiene prioridad.
Ejemplos practicos
Cambio temporal de proveedor
Cambie a un proveedor diferente para una sola sesion sin cambiar su archivo de configuracion:
YEEPILOT_AI_PROVIDER=anthropic \
YEEPILOT_AI_MODEL=claude-sonnet-4-20250514 \
ANTHROPIC_API_KEY=sk-ant-... \
yeepilot runBloqueo de servidor de produccion
Establezca seguridad estricta via entorno para todos los usuarios en un servidor compartido:
# Agregar a /etc/environment o /etc/profile.d/yeepilot.sh
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=falsePipeline de CI/CD
Use YeePilot en un pipeline no interactivo:
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%"Configuracion consciente de costos
Minimice el uso de tokens y costos de API:
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=200Configuracion del shell
Para hacer que las variables de entorno persistan entre sesiones, agreguelas a su perfil de shell:
Bash
# Agregar a ~/.bashrc o ~/.bash_profile
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Zsh
# Agregar a ~/.zshrc
export YEEPILOT_AI_PROVIDER=openai
export OPENAI_API_KEY=sk-...Fish
# Agregar a ~/.config/fish/config.fish
set -gx YEEPILOT_AI_PROVIDER openai
set -gx OPENAI_API_KEY sk-...Despues de editar, recargue su shell o ejecute source ~/.bashrc (o el equivalente para su shell).
Modo de desarrollo
La variable YEEPILOT_DEV_MODE es un caso especial. Solo tiene efecto cuando se usa con una compilacion de desarrollo de YeePilot (compilada con la etiqueta de compilacion dev). Los binarios de produccion ignoran esta variable por completo.
# Solo funciona con compilaciones de desarrollo
export YEEPILOT_DEV_MODE=1Esto es usado por contribuidores durante el desarrollo y no es relevante para el uso normal.
Verificar su configuracion
Para ver que ajustes estan activos (incluyendo anulaciones por variables de entorno), ejecute:
yeepilot statusEsto muestra el proveedor actual, modelo, modo de seguridad y otros ajustes activos, indicando de donde proviene cada valor.