| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- """配置管理工具"""
- import json
- import logging
- import os
- from typing import Dict, Optional
- logger = logging.getLogger(__name__)
- class ConfigManager:
- """用户配置管理器"""
- def __init__(self):
- # 配置文件路径 - 存储到用户家目录中
- self.config_dir = os.path.join(os.path.expanduser("~"), ".ai_write_helper")
- self.config_file = os.path.join(self.config_dir, "user_config.json")
- # 确保配置目录存在
- os.makedirs(self.config_dir, exist_ok=True)
- def load_config(self) -> Dict:
- """从本地JSON文件加载配置"""
- default_config = {"api_key": "", "base_url": "", "model_name": "gpt-3.5-turbo"}
- if os.path.exists(self.config_file):
- try:
- with open(self.config_file, "r", encoding="utf-8") as f:
- loaded_config = json.load(f)
- default_config.update(loaded_config)
- except Exception as exc:
- logger.warning("读取配置文件失败,使用默认配置: %s", exc)
- return default_config
- def save_config(self, api_key: str, base_url: str, model_name: str) -> bool:
- """保存配置到本地JSON文件"""
- config = {"api_key": api_key, "base_url": base_url, "model_name": model_name}
- try:
- with open(self.config_file, "w", encoding="utf-8") as f:
- json.dump(config, f, ensure_ascii=False, indent=2)
- return True
- except Exception as exc:
- logger.warning("保存配置文件失败: %s", exc)
- return False
- # 全局配置管理器实例
- config_manager = ConfigManager()
|