This commit is contained in:
Your Name
2026-07-23 11:30:11 +08:00
parent 32895b1591
commit 45b3bc0852
28 changed files with 7967 additions and 1338 deletions
+27
View File
@@ -224,6 +224,33 @@ def save_settings():
os.replace(tmp, _SETTINGS_FILE)
def export_settings() -> dict:
"""返回可下发给桌面端的 AI 配置副本。"""
g = globals()
return {key: g[key] for key in CONFIGURABLE_KEYS}
def apply_settings(settings: dict, *, persist: bool = True) -> dict:
"""应用后台下发配置,并可原子写入本地配置文件。
未知字段会被忽略,避免后台响应意外覆盖模块中的其他全局变量。
返回实际应用的字段,便于同步客户端记录版本与诊断信息。
"""
global AI_SYSTEM_PROMPT
if not isinstance(settings, dict):
raise TypeError("AI 配置必须是 JSON 对象")
g = globals()
applied = {}
for key in CONFIGURABLE_KEYS:
if key in settings:
g[key] = settings[key]
applied[key] = settings[key]
AI_SYSTEM_PROMPT = build_system_prompt()
if persist:
save_settings()
return applied
def load_settings():
"""从 ai_settings.json 加载已保存的配置,覆盖本文件中的默认值。"""
global AI_SYSTEM_PROMPT