Skip to main content

Module loader

Module loader 

Source
Expand description

统一环境变量加载逻辑

集中维护 fallback 链,避免在业务代码中重复 or_else 调用。

Structs§

ScopedEnvGuard
RAII guard:drop 时通过 remove_env_var 清除指定环境变量。

Functions§

ensure_default_output_dir
确保 SKILLLITE_OUTPUT_DIR 有值,若未设置则使用 ~/.skilllite/chat/output/
env_bool
解析布尔型环境变量:1/true/yes 为 true,0/false/no 为 false
env_is_set
检查环境变量是否存在(任意主变量或别名)
env_optional
从主变量或别名链读取,返回 Option(空值视为未设置)
env_or
从主变量或别名链读取环境变量,失败时使用默认值
init_daemon_env
初始化 daemon/stdio 模式的静默环境变量
init_llm_env
初始化 LLM 环境变量(api_base / api_key / model)
load_dotenv
加载当前目录下的 .env 到环境变量(不覆盖已存在的变量)
load_dotenv_from_dir
Load .env from a specific directory (does not overwrite existing vars). Used by swarm to load from project root when started from a different cwd.
parse_dotenv_from_dir
从指定目录解析 .env,返回 key-value 对(不修改进程环境)。 用于子进程等需要将 .env 作为 env 传入的场景。
parse_dotenv_walking_up
从 start 目录向上查找 .env,最多查找 max_levels 层,返回首次找到的解析结果。 用于 assistant 等需要从工作区向上查找 .env 的场景。
remove_env_var
移除单个环境变量
set_env_var
设置单个环境变量(unsafe 集中在此处)
supply_chain_block_enabled
P0 可观测 vs P1 可阻断:返回是否在「可阻断」模式。false(默认)= 仅展示状态不阻断;true = 阻断 HashChanged/SignatureInvalid/TrustDeny