Files
msgbot/config.py
T
youpaishidifu 7111f84a6d 添加自动回复功能: KB匹配命中后发答案回对应消息窗口
- monitor.py: 添加原始剪贴板存储 + _parse_last_sender提取发送者
  + _search_contact搜索框定位联系人 + _paste_and_send粘贴发送
- auto_reply.py(新): AutoReply编排类,含防重复/阈值过滤/线程锁
- gui.py: UI添加自动回复开关+阈值滑块,搜索命中回调触发回复
- config.py: 添加auto_reply_enabled/auto_reply_min_score配置项
2026-07-25 11:01:02 +08:00

41 lines
1.1 KiB
Python

"""配置管理 — JSON 配置读写"""
import json
import os
from pathlib import Path
CONFIG_FILE = Path(__file__).parent / "config.json"
DEFAULT_CONFIG = {
"monitor_enabled": False,
"knowledge_base_path": "",
"poll_interval_seconds": 2.0,
"wechat_enabled": True,
"qq_enabled": False,
"auto_reply_enabled": False,
"auto_reply_min_score": 0.35,
}
def load_config() -> dict:
"""加载配置,文件不存在则返回默认"""
if not CONFIG_FILE.exists():
return DEFAULT_CONFIG.copy()
try:
with open(CONFIG_FILE, "r", encoding="utf-8") as f:
data = json.load(f)
# 合并默认值,保证新字段不缺失
merged = DEFAULT_CONFIG.copy()
merged.update(data)
return merged
except (json.JSONDecodeError, OSError):
return DEFAULT_CONFIG.copy()
def save_config(cfg: dict):
"""保存配置"""
merged = DEFAULT_CONFIG.copy()
merged.update(cfg)
with open(CONFIG_FILE, "w", encoding="utf-8") as f:
json.dump(merged, f, ensure_ascii=False, indent=2)