feat: 配置回退到 ~/.ias/ 目录

配置加载顺序(当前目录 → 全局目录 → 默认):
  1. .env              → ~/.ias/.env        → 无
  2. config.json        → ~/.ias/config.json  → 默认内置
  3. resources/skills/  (始终从项目目录加载)

现在可以在任意目录运行 ias,如:
  cd /tmp && ias whoami    # 读取 ~/.ias/ 的配置
This commit is contained in:
2026-06-02 09:51:22 +08:00
parent 1497b1bba0
commit e88f3240c4
2 changed files with 42 additions and 14 deletions
+10 -1
View File
@@ -28,7 +28,16 @@ async fn main() {
let is_service = matches!(cli.command, Commands::Service);
logger::init_logger(Some(".data/logs"), is_service);
dotenvy::dotenv().ok();
// .env 加载:先当前目录,再 ~/.ias/.env
if std::path::Path::new(".env").exists() {
dotenvy::dotenv().ok();
} else if let Ok(home) = std::env::var("HOME") {
let fallback = std::path::PathBuf::from(&home).join(".ias").join(".env");
if fallback.exists() {
dotenvy::from_path(&fallback).ok();
tracing::info!("使用全局环境配置: {}", fallback.display());
}
}
let config = AppConfig::from_file("config.json");