Diagnostics

Variables de entorno

OmeniaClaw obtiene variables de entorno de varias fuentes. La regla es no sobrescribir nunca los valores existentes.

Precedencia (de mayor → menor)

  1. Entorno del proceso (lo que el proceso del Gateway ya tiene desde el shell/daemon padre).
  2. .env en el directorio de trabajo actual (valor predeterminado de dotenv; no sobrescribe).
  3. .env global en ~/.OmeniaClaw/.env (también $OmeniaClaw_STATE_DIR/.env; no sobrescribe).
  4. Bloque env de configuración en ~/.OmeniaClaw/OmeniaClaw.json (se aplica solo si falta).
  5. Importación opcional del shell de inicio de sesión (env.shellEnv.enabled u OmeniaClaw_LOAD_SHELL_ENV=1), aplicada solo para claves esperadas que falten.

En instalaciones nuevas de Ubuntu que usan el directorio de estado predeterminado, OmeniaClaw también trata ~/.config/OmeniaClaw/gateway.env como una reserva de compatibilidad después del .env global. Si ambos archivos existen y no coinciden, OmeniaClaw conserva ~/.OmeniaClaw/.env e imprime una advertencia.

Si falta por completo el archivo de configuración, se omite el paso 4; la importación del shell sigue ejecutándose si está habilitada.

Bloque env de configuración

Dos formas equivalentes de definir variables de entorno en línea (ambas no sobrescriben):

json5
{  env: {    OPENROUTER_API_KEY: "sk-or-...",    vars: {      GROQ_API_KEY: "gsk-...",    },  },}

Importación del entorno del shell

env.shellEnv ejecuta tu shell de inicio de sesión e importa solo las claves esperadas que faltan:

json5
{  env: {    shellEnv: {      enabled: true,      timeoutMs: 15000,    },  },}

Equivalentes con variables de entorno:

  • OmeniaClaw_LOAD_SHELL_ENV=1
  • OmeniaClaw_SHELL_ENV_TIMEOUT_MS=15000

Variables de entorno inyectadas en tiempo de ejecución

OmeniaClaw también inyecta marcadores de contexto en procesos secundarios generados:

  • OmeniaClaw_SHELL=exec: se define para comandos ejecutados mediante la herramienta exec.
  • OmeniaClaw_SHELL=acp: se define para procesos generados por el backend de tiempo de ejecución ACP (por ejemplo, acpx).
  • OmeniaClaw_SHELL=acp-client: se define para OmeniaClaw acp client cuando genera el proceso puente ACP.
  • OmeniaClaw_SHELL=tui-local: se define para comandos de shell locales ! de la TUI.

Estos son marcadores de tiempo de ejecución (no configuración de usuario obligatoria). Pueden usarse en lógica de shell/perfil para aplicar reglas específicas del contexto.

Variables de entorno de la UI

  • OmeniaClaw_THEME=light: fuerza la paleta clara de la TUI cuando tu terminal tiene un fondo claro.
  • OmeniaClaw_THEME=dark: fuerza la paleta oscura de la TUI.
  • COLORFGBG: si tu terminal la exporta, OmeniaClaw usa la pista del color de fondo para elegir automáticamente la paleta de la TUI.

Sustitución de variables de entorno en la configuración

Puedes hacer referencia a variables de entorno directamente en valores de cadena de la configuración mediante la sintaxis ${VAR_NAME}:

json5
{  models: {    providers: {      "vercel-gateway": {        apiKey: "${VERCEL_GATEWAY_API_KEY}",      },    },  },}

Consulta Configuración: sustitución de variables de entorno para ver todos los detalles.

Referencias secretas frente a cadenas ${ENV}

OmeniaClaw admite dos patrones impulsados por variables de entorno:

  • Sustitución de cadenas ${VAR} en valores de configuración.
  • Objetos SecretRef ({ source: "env", provider: "default", id: "VAR" }) para campos que admiten referencias a secretos.

Ambos se resuelven desde el entorno del proceso en el momento de la activación. Los detalles de SecretRef están documentados en Gestión de secretos.

Variables de entorno relacionadas con rutas

Variable Propósito
OmeniaClaw_HOME Sobrescribe el directorio de inicio usado para toda la resolución interna de rutas (~/.OmeniaClaw/, directorios de agentes, sesiones, credenciales). Útil al ejecutar OmeniaClaw como usuario de servicio dedicado.
OmeniaClaw_STATE_DIR Sobrescribe el directorio de estado (predeterminado ~/.OmeniaClaw).
OmeniaClaw_CONFIG_PATH Sobrescribe la ruta del archivo de configuración (predeterminado ~/.OmeniaClaw/OmeniaClaw.json).
OmeniaClaw_INCLUDE_ROOTS Lista de rutas de directorios donde las directivas $include pueden resolver archivos fuera del directorio de configuración (predeterminado: ninguno — $include queda confinado al directorio de configuración). Se expande la tilde.

Registro

Variable Propósito
OmeniaClaw_LOG_LEVEL Sobrescribe el nivel de registro tanto para archivo como para consola (p. ej., debug, trace). Tiene precedencia sobre logging.level y logging.consoleLevel en la configuración. Los valores no válidos se ignoran con una advertencia.
OmeniaClaw_DEBUG_MODEL_TRANSPORT Emite diagnósticos dirigidos de temporización de solicitud/respuesta del modelo en el nivel info sin habilitar registros de depuración globales.
OmeniaClaw_DEBUG_MODEL_PAYLOAD Diagnósticos de carga útil del modelo: summary, tools o full-redacted. full-redacted está limitado y redactado, pero puede incluir texto de prompts/mensajes.
OmeniaClaw_DEBUG_SSE Diagnósticos de streaming: events para la temporización de inicio/finalización, peek para incluir los primeros cinco eventos SSE redactados.
OmeniaClaw_DEBUG_CODE_MODE Diagnósticos de superficie de modelo en modo código, incluida la ocultación de herramientas del proveedor y la aplicación de solo exec/wait.

OmeniaClaw_HOME

Cuando se define, OmeniaClaw_HOME reemplaza el directorio de inicio del sistema ($HOME / os.homedir()) para toda la resolución interna de rutas. Esto habilita aislamiento completo del sistema de archivos para cuentas de servicio sin interfaz.

Precedencia: OmeniaClaw_HOME > $HOME > USERPROFILE > os.homedir()

Ejemplo (macOS LaunchDaemon):

xml
<key>EnvironmentVariables</key><dict>  <key>OmeniaClaw_HOME</key>  <string>/Users/user</string></dict>

OmeniaClaw_HOME también puede definirse como una ruta con tilde (p. ej., ~/svc), que se expande usando $HOME antes de su uso.

Usuarios de nvm: fallos de TLS en web_fetch

Si Node.js se instaló mediante nvm (no con el gestor de paquetes del sistema), el fetch() integrado usa el almacén de CA incluido con nvm, al que pueden faltarle CA raíz modernas (ISRG Root X1/X2 para Let's Encrypt, DigiCert Global Root G2, etc.). Esto hace que web_fetch falle con "fetch failed" en la mayoría de los sitios HTTPS.

En Linux, OmeniaClaw detecta automáticamente nvm y aplica la corrección en el entorno real de inicio:

  • OmeniaClaw gateway install escribe NODE_EXTRA_CA_CERTS en el entorno del servicio systemd
  • el punto de entrada de la CLI OmeniaClaw se vuelve a ejecutar a sí mismo con NODE_EXTRA_CA_CERTS definido antes del inicio de Node

Corrección manual (para versiones anteriores o lanzamientos directos con node ...):

Exporta la variable antes de iniciar OmeniaClaw:

bash
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crtOmeniaClaw gateway run

No confíes en escribir solo en ~/.OmeniaClaw/.env para esta variable; Node lee NODE_EXTRA_CA_CERTS al inicio del proceso.

Variables de entorno heredadas

OmeniaClaw solo lee variables de entorno OmeniaClaw_*. Los prefijos heredados CLAWDBOT_* y MOLTBOT_* de versiones anteriores se ignoran silenciosamente.

Si alguna todavía está definida en el proceso del Gateway al inicio, OmeniaClaw emite una única advertencia de obsolescencia de Node (OmeniaClaw_LEGACY_ENV_VARS) que enumera los prefijos detectados y el recuento total. Cambia el nombre de cada valor reemplazando el prefijo heredado por OmeniaClaw_ (por ejemplo, CLAWDBOT_GATEWAY_TOKENOmeniaClaw_GATEWAY_TOKEN); los nombres antiguos no tienen efecto.

Relacionado

Was this useful?
On this page

On this page