Environment Variables
AGILab reads its configuration from environment variables. You can set them globally in
$HOME/.agilab/.env or per-session before launching the web interface / AGI installers. The table below
summarises the supported keys.
Variable |
Default |
Purpose |
|---|---|---|
|
|
Root directory containing app projects; used when selecting the active app.
Replace |
|
|
App loaded when no explicit project is provided. |
|
|
Default Python version passed to |
|
unset |
Optional worker-specific Python version override written per host (for example |
|
|
Enables free-threaded Python if both the environment and worker declare support. Either the
string |
|
|
Maximum number of rows shown in web data previews. |
|
|
Sample size used when previewing large tables. |
|
Current OS user |
Username/password pair ( |
|
unset |
API key surfaced to features that rely on OpenAI endpoints. |
|
unset |
API key used by the WORKFLOW assistant when |
|
|
Mistral chat model used by the online Mistral assistant provider. |
|
|
Reasoning mode passed to Mistral chat completions. Supported values are
|
|
|
Sampling temperature for the online Mistral assistant provider. |
|
|
Optional Mistral-compatible API base URL, for example when routing through a gateway. |
|
|
OpenAI-compatible Chat Completions base URL used by the WORKFLOW assistant
when |
|
|
Model name passed to the OpenAI-compatible endpoint. For vLLM this should
match the model served by |
|
|
Bearer token for the OpenAI-compatible endpoint. Local vLLM commonly accepts any value; gateways may require a real key. |
|
|
Sampling temperature for the OpenAI-compatible assistant provider. |
|
unset |
Optional maximum number of generated tokens for the OpenAI-compatible assistant provider. |
|
|
Request timeout in seconds for the OpenAI-compatible assistant provider. |
|
|
WORKFLOW assistant provider. Local Ollama families use values such as
|
|
|
Ollama endpoint used by the WORKFLOW local assistant controls. |
|
unset |
Ollama model selected in WORKFLOW. The shell installers persist this
when |
|
|
Local assistant mode. |
|
|
Enables local WORKFLOW recipe-memory retrieval. When enabled, the code
assistant mines validated |
|
|
Local JSONL recipe-card store used for snippets that AGILAB validates during the dataframe auto-fix loop. The store is provider-neutral and can be reused with OpenAI, Mistral, OpenAI-compatible gateways, GPT-OSS, or Ollama-backed models. |
|
unset |
Optional |
|
|
Includes unvalidated candidate snippets in retrieval when set to a truthy value. Leave disabled for normal use so only validated or executed recipes influence generation. |
|
|
User-facing knob for the shared datasets/outputs root. Prefer the relative
user-scoped form so mixed macOS/Linux/Windows nodes can resolve it under
their own home directory. When cluster mode is enabled, this value is
applied to |
|
|
Optional override for the |
|
|
Local datasets/outputs root used when cluster mode is disabled. In cluster mode, AGILab no longer falls back to this path if the shared mount is missing. |
|
|
Default scheduler host for distributed runs. |
|
|
Parent directory for install logs ( |
|
|
Target directory for exported artefacts. |
|
|
Where MLflow tracking data is stored. The WORKFLOW page serves the local MLflow UI from this directory and records parent/stage run metadata and artefacts there. |
|
|
Location of web page bundles loaded by the Analysis page. |
|
unset |
Optional pointer to the repository checkout containing apps or overrides.
Treat it as an executable-code boundary. For shared/team installs, set
|
|
|
Host passed by the |
|
unset |
Explicit acknowledgement that the Streamlit UI may bind publicly. This
flag is not sufficient alone; AGILAB also requires one of
|
|
unset |
Required only for the advanced raw-Python WORKFLOW auto-fix path.
Normal dataframe generation uses safe-action JSON contracts that AGILAB
validates before converting them into deterministic pandas code.
Supported acknowledgement values are |
|
|
Controls the installation mode passed to |
Additional host specific keys are supported for worker provisioning (for example
127.0.0.1_CMD_PREFIX or 127.0.0.1_PYTHON_VERSION). These are written automatically into
$HOME/.agilab/.env when you run installers and can be adjusted manually when one worker host
needs a different Python version or command prefix.
Remember to restart the web interface session after changing $HOME/.agilab/.env so AgiEnv picks
up the new values.
Cluster isolation note
For cluster-enabled use cases, treat the share directory as part of the user’s workspace contract, not as a generic team dropbox.
The default
AGI_CLUSTER_SHAREroot is user-scoped.If you override it, keep one root per user.
Each user should also use their own real worker login account or explicit
user@hosttargets when connecting to the cluster.Do not point multiple users at the same writable cluster-share directory.
Keep per-user datasets, worker installation files, and cluster-visible outputs isolated from other users.
Generated snippets and operator logs are a separate concern: they live under
AGI_LOG_DIR (by default ~/log), not under the cluster share.
This avoids accidental reuse or overwrite of another operator’s intermediate files and keeps cluster troubleshooting tied to one workspace at a time.
Security note
Prefer OS keyrings, enterprise vaults, or short-lived environment variables for
secrets such as OPENAI_API_KEY, MISTRAL_API_KEY,
AGILAB_LLM_API_KEY, and CLUSTER_CREDENTIALS. $HOME/.agilab/.env is
a local plaintext developer convenience, not a shared secret manager. Avoid
passing secrets on the command line because shell history and process listings
can expose them.