Variabel lingkungan
OpenClaw mengambil variabel lingkungan dari beberapa sumber. Aturannya adalah jangan pernah menimpa nilai yang sudah ada.Prioritas (tertinggi → terendah)
- Lingkungan proses (yang sudah dimiliki proses Gateway dari shell/daemon induk).
.envdi direktori kerja saat ini (default dotenv; tidak menimpa)..envglobal di~/.openclaw/.env(alias$OPENCLAW_STATE_DIR/.env; tidak menimpa).- Blok
envkonfigurasi di~/.openclaw/openclaw.json(diterapkan hanya jika belum ada). - Impor login-shell opsional (
env.shellEnv.enabledatauOPENCLAW_LOAD_SHELL_ENV=1), diterapkan hanya untuk kunci yang diharapkan dan belum ada.
~/.config/openclaw/gateway.env sebagai fallback kompatibilitas setelah .env global. Jika kedua file ada dan nilainya berbeda, OpenClaw mempertahankan ~/.openclaw/.env dan menampilkan peringatan.
Jika file konfigurasi sama sekali tidak ada, langkah 4 dilewati; impor shell tetap berjalan jika diaktifkan.
Blok env konfigurasi
Dua cara yang setara untuk menetapkan variabel env inline (keduanya tidak menimpa):
Impor env shell
env.shellEnv menjalankan login shell Anda dan hanya mengimpor kunci yang diharapkan dan belum ada:
OPENCLAW_LOAD_SHELL_ENV=1OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000
Variabel env yang disuntikkan saat runtime
OpenClaw juga menyuntikkan penanda konteks ke proses turunan yang dijalankan:OPENCLAW_SHELL=exec: ditetapkan untuk perintah yang dijalankan melalui alatexec.OPENCLAW_SHELL=acp: ditetapkan untuk spawn proses backend runtime ACP (misalnyaacpx).OPENCLAW_SHELL=acp-client: ditetapkan untukopenclaw acp clientsaat memunculkan proses bridge ACP.OPENCLAW_SHELL=tui-local: ditetapkan untuk perintah shell!TUI lokal.
Variabel env UI
OPENCLAW_THEME=light: paksa palet TUI terang saat terminal Anda memiliki latar belakang terang.OPENCLAW_THEME=dark: paksa palet TUI gelap.COLORFGBG: jika terminal Anda mengekspornya, OpenClaw menggunakan petunjuk warna latar belakang untuk memilih palet TUI secara otomatis.
Substitusi variabel env dalam konfigurasi
Anda dapat merujuk variabel env langsung dalam nilai string konfigurasi menggunakan sintaks${VAR_NAME}:
Referensi rahasia vs string ${ENV}
OpenClaw mendukung dua pola berbasis env:
- Substitusi string
${VAR}dalam nilai konfigurasi. - Objek SecretRef (
{ source: "env", provider: "default", id: "VAR" }) untuk field yang mendukung referensi rahasia.
Variabel env terkait path
| Variable | Tujuan |
|---|---|
OPENCLAW_HOME | Menimpa direktori home yang digunakan untuk semua resolusi path internal (~/.openclaw/, direktori agen, sesi, kredensial). Berguna saat menjalankan OpenClaw sebagai pengguna layanan khusus. |
OPENCLAW_STATE_DIR | Menimpa direktori state (default ~/.openclaw). |
OPENCLAW_CONFIG_PATH | Menimpa path file konfigurasi (default ~/.openclaw/openclaw.json). |
Logging
| Variable | Tujuan |
|---|---|
OPENCLAW_LOG_LEVEL | Menimpa tingkat log untuk file dan konsol (mis. debug, trace). Memiliki prioritas lebih tinggi daripada logging.level dan logging.consoleLevel dalam konfigurasi. Nilai yang tidak valid diabaikan dengan peringatan. |
OPENCLAW_HOME
Saat ditetapkan, OPENCLAW_HOME menggantikan direktori home sistem ($HOME / os.homedir()) untuk semua resolusi path internal. Ini memungkinkan isolasi filesystem penuh untuk akun layanan tanpa antarmuka.
Prioritas: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir()
Contoh (macOS LaunchDaemon):
OPENCLAW_HOME juga dapat ditetapkan ke path tilde (mis. ~/svc), yang akan diekspansi menggunakan $HOME sebelum digunakan.
Pengguna nvm: kegagalan TLS web_fetch
Jika Node.js diinstal melalui nvm (bukan manajer paket sistem), fetch() bawaan menggunakan
penyimpanan CA bawaan nvm, yang mungkin tidak memiliki root CA modern (ISRG Root X1/X2 untuk Let’s Encrypt,
DigiCert Global Root G2, dll.). Hal ini menyebabkan web_fetch gagal dengan "fetch failed" pada sebagian besar situs HTTPS.
Di Linux, OpenClaw secara otomatis mendeteksi nvm dan menerapkan perbaikannya di lingkungan startup yang sebenarnya:
openclaw gateway installmenulisNODE_EXTRA_CA_CERTSke lingkungan layanan systemd- entrypoint CLI
openclawmengeksekusi ulang dirinya sendiri denganNODE_EXTRA_CA_CERTSyang sudah ditetapkan sebelum startup Node
node ...):
Ekspor variabel tersebut sebelum memulai OpenClaw:
~/.openclaw/.env untuk variabel ini; Node membaca
NODE_EXTRA_CA_CERTS saat startup proses.