Asosiy tarkibga o'tish

Muhit o‘zgaruvchilari

OpenClaw muhit o‘zgaruvchilarini bir nechta manbalardan oladi. Qoidasi: mavjud qiymatlarni hech qachon almashtirmaslik.

Ustuvorlik (eng yuqori → eng past)

  1. Jarayon muhiti (Gateway jarayoni ota shell/daemon’dan allaqachon olganlari).
  2. Joriy ishchi katalogdagi .env (dotenv standarti; ustiga yozmaydi).
  3. Global .env ~/.openclaw/.env da (ya’ni $OPENCLAW_STATE_DIR/.env; ustiga yozmaydi).
  4. Config env bloki ~/.openclaw/openclaw.json ichida (faqat yetishmasa qo‘llanadi).
  5. Ixtiyoriy login-shell importi (env.shellEnv.enabled yoki OPENCLAW_LOAD_SHELL_ENV=1), faqat kutilgan kalitlar yetishmaganda qo‘llanadi.
Agar config fayli umuman mavjud bo‘lmasa, 4-qadam o‘tkazib yuboriladi; shell importi yoqilgan bo‘lsa baribir ishlaydi.

Config env bloki

Inline env o‘zgaruvchilarni o‘rnatishning ikki ekvivalent usuli (ikkalasi ham ustiga yozmaydi):
{
  env: {
    OPENROUTER_API_KEY: "sk-or-...",
    vars: {
      GROQ_API_KEY: "gsk-...",
    },
  },
}

Shell env importi

env.shellEnv login shell’ingizni ishga tushiradi va faqat yetishmayotgan kutilgan kalitlarni import qiladi:
{
  env: {
    shellEnv: {
      enabled: true,
      timeoutMs: 15000,
    },
  },
}
Env var ekvivalentlari:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Config ichida env varlarni almashtirish

Config string qiymatlarida env varlarni ${VAR_NAME} sintaksisi orqali to‘g‘ridan-to‘g‘ri murojaat qilishingiz mumkin:
{
  models: {
    providers: {
      "vercel-gateway": {
        apiKey: "${VERCEL_GATEWAY_API_KEY}",
      },
    },
  },
}
Batafsil ma’lumotlar uchun Configuration: Env var substitution ga qarang.

Yo‘lga oid muhit o‘zgaruvchilari

O‘zgaruvchiMaqsad
OPENCLAW_HOMEBarcha ichki yo‘l aniqlashlari uchun ishlatiladigan uy katalogini almashtiradi (~/.openclaw/, agent kataloglari, sessiyalar, hisob ma’lumotlari). OpenClaw’ni maxsus xizmat foydalanuvchisi sifatida ishga tushirganda foydali.
OPENCLAW_STATE_DIRHolat katalogini almashtiradi (standart ~/.openclaw).
OPENCLAW_CONFIG_PATHKonfiguratsiya fayli yo‘lini almashtiradi (standart ~/.openclaw/openclaw.json).

OPENCLAW_HOME

O‘rnatilganda, OPENCLAW_HOME barcha ichki yo‘l aniqlashlari uchun tizim uy katalogini ($HOME / os.homedir()) almashtiradi. Bu headless xizmat akkauntlari uchun to‘liq fayl tizimi izolyatsiyasini ta’minlaydi. Ustuvorlik: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() Misol (macOS LaunchDaemon):
<key>EnvironmentVariables</key>
<dict>
  <key>OPENCLAW_HOME</key>
  <string>/Users/kira</string>
</dict>
OPENCLAW_HOME ni tilda yo‘li sifatida ham o‘rnatish mumkin (masalan ~/svc), u ishlatishdan oldin $HOME yordamida kengaytiriladi.

Bog‘liq