Inventario contrastado con Comal **0.1.0**, el **2026-10-16**. Las referencias de código señalan el punto inspeccionado, no disponibilidad garantizada de servicios externos. ## Precedencia Los flags explícitos predominan. COMAL_* es la familia canónica; los aliases HARNESS_* sólo se aplican en caminos que llaman a comalEnvironment y nunca sustituyen un valor canónico existente. Las variables propias del proveedor actúan donde lo permite su adaptador. Perfiles y conexiones guardadas tienen reglas de reanudación; consulta [modelos](modelos). No hay aliases heredados universales para COMAL_AUTH_DIR, COMAL_PEER_DIR, COMAL_PROVIDERS_CONFIG o COMAL_PROFILE: esos caminos leen entorno directamente. ## Variables observadas | Variable | Función | Fuente | | --- | --- | --- | | `ANTHROPIC_API_KEY` | Clave de API Anthropic. | `src/cli.mjs:94` | | `ANTHROPIC_BASE_URL` | Base del proveedor Anthropic. | `src/cli.mjs:94` | | `BRAVE_SEARCH_API_KEY` | Clave del motor Brave. | `src/cli.mjs:106` | | `COLORTERM` | truecolor o 24bit anuncia colores RGB cuando hay terminal interactiva. | `src/tui/text.mjs:24` | | `COMAL_AUTH_DIR` | Almacén privado de login; ~/.config/comal/auth. | `src/provider-auth.mjs:46` | | `COMAL_BASE_URL` | Endpoint; por defecto http://llama.local:11438/. | `src/cli.mjs:90` | | `COMAL_CONTEXT_WINDOW` | Límite explícito de contexto; ausente adapta al modelo, fallback 45000 si se desconoce. | `src/cli.mjs:91` | | `COMAL_EFFORT` | Selección de esfuerzo: auto por defecto; niveles según contrato. | `src/cli.mjs:235` | | `COMAL_IMAGE_TOKENS` | Reserva estimada por imagen: 4096. | `src/vision.mjs:13` | | `COMAL_MAX_SUBAGENTS` | Máximo de tareas hijas por solicitud: 8. | `src/subagents.mjs:43` | | `COMAL_MAX_TOKENS` | Reserva/límite inicial de salida: 8192; Codex no envía un límite de salida al backend. | `src/cli.mjs:91` | | `COMAL_MODEL` | ID de modelo; en local puede descubrirse. | `src/cli.mjs:90` | | `COMAL_MODEL_IDLE_TIMEOUT_MS` | Timeout sin progreso: 180000 ms. | `src/cli.mjs:92` | | `COMAL_MODEL_TIMEOUT_MS` | Timeout total OpenAI: 600000 ms. | `src/cli.mjs:92` | | `COMAL_PEER_DIR` | Directorio privado del bus local de sesiones. | `src/session-bus.mjs:62` | | `COMAL_PLUGIN_CONFIG` | Ruta de configuración de plugins. | `src/cli.mjs:346` | | `COMAL_PROFILE` | Nombre de perfil inicial. | `src/session-provider-settings.mjs:10` | | `COMAL_PROVIDER` | Protocolo base: openai por defecto. | `src/cli.mjs:90` | | `COMAL_PROVIDERS_CONFIG` | Ruta al archivo de perfiles. | `src/provider-profiles.mjs:58` | | `COMAL_REDUCED_MOTION` | 1 congela marca y spinner de la TUI; no modifica el trabajo del modelo. | `src/tui/brand.mjs:10` | | `COMAL_SEARCH_PROVIDER` | auto, duckduckgo, bing, searxng o brave. | `src/cli.mjs:106` | | `COMAL_SEARCH_URL` | Endpoint configurado para búsqueda web. | `src/web-tools.mjs:81` | | `COMAL_SUBAGENT_MAX_TURNS` | Llamadas por hijo: 6 por defecto. | `src/subagents.mjs:43` | | `COMAL_SUBAGENT_TIMEOUT_MS` | Timeout por hijo: 300000 ms. | `src/subagents.mjs:44` | | `COMAL_THINKING` | Extensiones de thinking de llama.cpp; auto por defecto. | `src/openai-provider.mjs:99` | | `COMAL_VISION` | auto, on u off. | `src/vision.mjs:12` | | `COMAL_WEB_ALLOW_PRIVATE` | 1 permite destinos privados en WebFetch. | `src/web-tools.mjs:43` | | `COMAL_WORK_MAX_CALLS` | Máximo de continuación del residente: 80. 0 desactiva extensión. | `src/cli.mjs:91` | | `DISPLAY` | Contexto de utilitario clipboard en X11. | `src/tui/clipboard.mjs:10` | | `EDITOR` | Editor externo; fallback vi. | `src/tui/controller.mjs:130` | | `FORCE_COLOR` | 0 sin color, 1 ANSI16, 2 ANSI256, 3 truecolor. NO_COLOR tiene prioridad. | `src/tui/text.mjs:18` | | `GEMINI_API_KEY` | Clave de API Gemini. | `src/cli.mjs:238` | | `GEMINI_MODEL` | Modelo para Gemini directo. | `src/session-provider-settings.mjs:36` | | `HARNESS_BASE_URL` | Alias heredado de base local/proveedor. | `src/session-provider-settings.mjs:29` | | `HARNESS_MODEL` | Alias heredado de modelo. | `src/provider.mjs:68` | | `HARNESS_PROVIDER` | Alias heredado donde se normaliza comalEnvironment. | `src/session-provider-settings.mjs:29` | | `KIMI_CODE_API_KEY` | Entrada de login mediante clave de membresía Kimi Code. | `src/provider-auth.mjs:11` | | `MINIMAX_SUBSCRIPTION_KEY` | Entrada de login mediante Subscription Key MiniMax. | `src/provider-auth.mjs:12` | | `NO_COLOR` | Desactiva colores de salida. | `src/cli.mjs:261` | | `OPENAI_API_KEY` | Clave de API; opcional para el residente local. | `src/cli.mjs:93` | | `OPENAI_BASE_URL` | Base OpenAI compatible si no se fijó la canónica. | `src/cli.mjs:93` | | `OPENAI_MODEL` | Modelo OpenAI compatible. | `src/cli.mjs:93` | | `SEARXNG_URL` | URL de la instancia SearxNG. | `src/cli.mjs:106` | | `TERM` | Tipo de terminal; dumb desactiva color y animación, 256color permite su degradación. | `src/tui/text.mjs:18` | | `VISUAL` | Editor externo, tiene prioridad sobre EDITOR. | `src/tui/controller.mjs:130` | | `WAYLAND_DISPLAY` | Contexto de utilitario clipboard en Wayland. | `src/tui/clipboard.mjs:9` | | `XAI_API_KEY` | Clave API xAI; no autentica una suscripción Grok. | `src/provider-auth.mjs:13` | | `COMAL_SUBAGENT_IDLE_MS` | Sin progreso del modelo y sin herramientas en vuelo: 60000 ms (hasta 1800000). | `src/subagents.mjs:67` | | `COMAL_SUBAGENT_QUEUE_TIMEOUT_MS` | Espera de recursos: por defecto el timeout total del hijo, hasta 1800000 ms. | `src/subagents.mjs:68` | | `COMAL_SUBAGENT_QUEUE_LIMIT` | Cola acotada de hijos/requests: 8 por defecto (1–32). | `src/subagents.mjs:69` | | `COMAL_PROVIDER_CONCURRENCY` | Requests de inferencia compartidos padre/hijos: 2 por defecto (1–8); usa 1 para un servidor de un slot. | `src/subagents.mjs:73` | | `COMAL_CLOUD_ORIGIN` | Origen HTTPS de la cuenta Comal; default https://comal.milpahq.com. Separado de COMAL_BASE_URL. | `src/cloud-client.mjs:13` | | `COMAL_CLOUD_CONFIG` | Archivo privado de credenciales de cuenta Comal; default XDG_CONFIG_HOME/comal/cloud/credentials.json, modo0600 y carpeta0700. | `src/cloud-client.mjs:13` | | `COMAL_CLOUD_NETWORK_ORIGIN` | Sólo laboratorio con COMAL_ENV=test: enruta el socket sin cambiar Host/origen/TLS lógico. | `src/cloud-client.mjs:16` | | `COMAL_ENV` | Producción por defecto; test habilita HTTP loopback y transporte local de laboratorio. No usar test en el servicio público. | `src/cloud-client.mjs:11` | ## Credenciales Sólo guarda nombres de variables en apiKeyEnv y headersEnv. Sus valores no pertenecen a perfiles, ejemplos o prompts. La clave usada por `login` se guarda en el almacén privado de Comal; cambiar después la variable no equivale a volver a ejecutar login.