Files
iAs/ias-service/migrations/20260708003000_insert_upgrade_log_0_2_18.sql
T
wunianxiao 7d5140c8d2 feat: AI 工具架构重构与微信增强 (0.2.17 → 0.2.22)
0.2.17 收束模型初始工具列表:
- 仅暴露 query_capabilities/query_capability_detail/call_capability 三个入口
- API 能力统一通过 iAs HTTP API 封装,删除重复 YAML 工具

0.2.18 系统提示词拆分:
- 固定系统提示词硬编码,动态附加部分 AI 可维护
- 新增 update_additional_system_prompt 能力和持久化

0.2.19 上下文增强与打断语义:
- /new 拥有最高打断语义,取消运行中任务并清除当前 turn
- raw_message JSONB 原文入库,群聊按 group_id 隔离作用域
- 工具调用说明替代动态附加系统提示词

0.2.20 微信输入中状态:
- 改用官方 getconfig + sendtyping 流程,显式管理 typing 状态

0.2.21 API 文档功能分组:
- /v1/api-docs 返回 groups,帮助 AI 按功能面发现接口

0.2.22 AI API 能力去重:
- 移除与 HTTP endpoint 重复的专用能力,统一用 query_api_docs + call_http_api
- 删除不再编译的 web/memory 工具文件
2026-07-08 14:58:13 +08:00

37 lines
1.9 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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_promptAI 可在当前用户作用域内更新或清空动态附加系统提示词,并记录修改原因。",
"新增内部接口 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;