Skip to main content

skilllite_core/config/
mod.rs

1//! SkillLite 统一配置层
2//!
3//! 所有环境变量读取集中在此模块,业务代码通过结构化配置访问,避免直接 `std::env::var`。
4//!
5//! **配置来源优先级**(高 → 低):CLI/显式参数 > 环境变量 > .env 文件 > 默认值。
6//! 详见 `docs/zh/ENV_REFERENCE.md` 的「配置来源优先级」章节。
7//!
8//! - `loader`:env_or、env_optional、env_bool、load_dotenv、parse_dotenv_* 等
9//! - `schema`:LlmConfig、PathsConfig、AgentFeatureFlags
10//! - `env_keys`:key 常量(含 legacy 向后兼容)
11
12pub mod env_keys;
13pub mod loader;
14pub mod schema;
15
16pub use loader::{
17    ensure_default_output_dir, init_daemon_env, init_llm_env, remove_env_var, set_env_var,
18    supply_chain_block_enabled, ScopedEnvGuard,
19};
20#[allow(unused_imports)] // 供后续迁移 observability 等模块使用
21pub use loader::{
22    env_bool, env_optional, env_or, load_dotenv, load_dotenv_from_dir, parse_dotenv_from_dir,
23    parse_dotenv_walking_up,
24};
25pub use schema::{
26    AgentFeatureFlags, CacheConfig, EmbeddingConfig, LlmConfig, ObservabilityConfig, PathsConfig,
27    SandboxEnvConfig,
28};