
adminandClaude Opus 4.8
25b18ea342
feat(ai-outfit): multiple named prompt templates (§19.8)
- config_service: outfit_prompts.json load/save (utf-8-sig read, no-BOM write,
corrupt/empty -> migrate legacy outfit_prompt.txt or seed 默认; always >=1;
_normalize_prompts drops invalid). app_config gains outfit_prompt_name.
- ai_outfit_panel: 通用话术 group gets a template dropdown + 新建/另存为/重命名/
删除 (keeps 插入标题/保存). Switching loads the template + refreshes preview;
dirty edits prompt Save/Discard/Cancel before switching/new/save-as (cancel
reverts the combo); unique names; can't delete the last one; selection
persisted via config_changed; 开始生成 stores the editor into the template.
- tests: +6 config cases (14 total); offscreen CRUD/dirty/rename/delete verified;
full suite (12 files) green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 14:12:34 +08:00
..
2026-06-15 15:53:01 +08:00
2026-06-18 18:03:52 +08:00
2026-06-22 10:40:28 +08:00
2026-06-17 16:42:20 +08:00
2026-06-22 14:12:34 +08:00
2026-06-18 17:35:00 +08:00
2026-06-18 14:29:09 +08:00
2026-06-18 11:58:06 +08:00
2026-06-18 11:58:06 +08:00
2026-06-18 17:52:05 +08:00
2026-06-16 15:11:56 +08:00
2026-06-18 11:09:29 +08:00
2026-06-16 11:21:21 +08:00