- 新增 plugins/code_editor.py: 精准代码编辑(搜索替换、批量编辑、diff对比) - 新增 plugins/code_search.py: 代码搜索与理解(跨文件搜索、符号提取、依赖分析) - 新增 plugins/git_tools.py: Git 版本控制(status/diff/log/commit/branch) - 新增 core/ 模块: 配置管理、引擎管理、对话处理、显示输出、代码沙箱 - 修复 requirements.txt: 使用正确的 pip 包名(Pillow、opencv-python 等) - 更新 unified_tool_manager.py: 兼容 Plugin 和 Liugin 两种类名 - 更新系统提示词: 增强编程工作流指导 本次更新由 mimo 自动化执行,与开发者无关。
43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
"""核心配置管理模块"""
|
|
import os
|
|
import json
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
# 常量
|
|
CONFIG_FILE = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "config.json")
|
|
MAX_FILE_SIZE = 52428800 # 50MB
|
|
DEFAULT_MAX_HISTORY = 999999
|
|
|
|
def load_config():
|
|
"""加载配置文件"""
|
|
try:
|
|
with open(CONFIG_FILE, 'r', encoding='utf-8') as f:
|
|
return json.load(f)
|
|
except FileNotFoundError:
|
|
return {"api": {"engines": {}}, "system": {}, "plugins": {}}
|
|
except json.JSONDecodeError:
|
|
return {"api": {"engines": {}}, "system": {}, "plugins": {}}
|
|
|
|
def save_config(config):
|
|
"""保存配置文件"""
|
|
try:
|
|
with open(CONFIG_FILE, 'w', encoding='utf-8') as f:
|
|
json.dump(config, f, ensure_ascii=False, indent=2)
|
|
except Exception as e:
|
|
logger.error(f"保存配置失败: {e}")
|
|
|
|
def get_system_config(key, default=None):
|
|
"""获取系统配置"""
|
|
config = load_config()
|
|
return config.get("system", {}).get(key, default)
|
|
|
|
def set_system_config(key, value):
|
|
"""设置系统配置"""
|
|
config = load_config()
|
|
if "system" not in config:
|
|
config["system"] = {}
|
|
config["system"][key] = value
|
|
save_config(config)
|