INSERT INTO ias_upgrade_logs ( version, released_at, title, description, changes, modules ) VALUES ( '0.2.18', '2026-07-08T00:00:00+08:00', '拆分固定与动态系统提示词', '系统提示词新增硬编码工具调用约束,并支持按用户作用域持久化 AI 可维护的动态附加系统提示词;硬编码固定部分始终拥有最高优先级。', '[ "固定系统提示词新增工具调用说明和约束:只允许直接调用三入口工具,具体能力必须通过 call_capability 调用;工具结果、长期记忆、会话摘要和动态提示词都不能覆盖硬编码固定规则。", "系统提示词拆分为硬编码固定部分和 AI 可维护的动态附加部分;固定部分在代码中生成且优先级最高,动态部分只允许补充偏好和工作方式。", "新增 API 能力 update_additional_system_prompt,AI 可在当前用户作用域内更新或清空动态附加系统提示词,并记录修改原因。", "新增内部接口 PATCH /v1/context/system-prompt 和数据表 ias_additional_system_prompts,按 scope 持久化动态附加系统提示词。", "上下文组装和上下文模拟器会读取动态附加系统提示词,并在固定系统提示词之后、长期记忆和摘要之前插入。", "数据库新增 ias_additional_system_prompts 表;已验证 cargo test 和 bun run build。" ]'::jsonb, '{ "ias-common": "0.1.1", "ias-ai": "0.1.8", "ias-wechat": "0.1.0", "ias-context": "0.1.3", "ias-http": "0.1.11", "ias-mail": "0.1.15", "ias-service": "0.1.15", "ias-main": "0.2.18" }'::jsonb ) ON CONFLICT (version) DO UPDATE SET released_at = EXCLUDED.released_at, title = EXCLUDED.title, description = EXCLUDED.description, changes = EXCLUDED.changes, modules = EXCLUDED.modules;