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 工具文件
This commit is contained in:
2026-07-08 14:58:13 +08:00
parent 279d89b87a
commit 7d5140c8d2
49 changed files with 2330 additions and 1185 deletions
-62
View File
@@ -1,62 +0,0 @@
name: query_mail_messages
desc: 通过 iAs 邮件 HTTP API 查询邮件列表或搜索邮件,支持关键词、邮箱目录、来源和分页过滤。返回邮件总数、分页信息和当前页邮件 JSON 列表。
params:
- name: base_url
type: string
required: false
default: "http://127.0.0.1:9003"
description: iAs HTTP 服务地址,默认 http://127.0.0.1:9003;如果服务绑定了其他地址可覆盖。
- name: q
type: string
required: false
default: ""
description: 搜索关键词,会匹配发件人、主题、摘要、正文和 Message-ID。
- name: mailbox
type: string
required: false
default: ""
description: 邮箱目录过滤,例如 INBOX;为空则不过滤。
- name: source_key
type: string
required: false
default: ""
description: 邮件来源过滤;为空则不过滤。
- name: page
type: integer
required: false
default: "1"
description: 页码,默认 1。
- name: per_page
type: integer
required: false
default: "10"
description: 每页数量,默认 10,接口最大 100。
steps:
- url: ${param:base_url}/v1/mail/messages
method: GET
query:
- [q, "${param:q}"]
- [mailbox, "${param:mailbox}"]
- [source_key, "${param:source_key}"]
- [page, "${param:page}"]
- [per_page, "${param:per_page}"]
timeout: 20
var:
- name: success
extract: success
default: "false"
- name: page
extract: page
default: "1"
- name: per_page
extract: per_page
default: "0"
- name: total
extract: total
default: "0"
- name: messages
extract: messages
default: "[]"
result: |
邮件查询 success=${step0:success}, page=${step0:page}, per_page=${step0:per_page}, total=${step0:total}
messages=${step0:messages}
-21
View File
@@ -1,21 +0,0 @@
name: get_weather
desc: 查询指定城市实时天气
params:
- name: city
type: string
required: true
description: 城市名称
env:
- WEATHER_API_KEY
steps:
- url: https://api.weather.com/current?q=${param:city}&key=${env:WEATHER_API_KEY}
method: GET
var:
- name: city_name
extract: location.name
- name: temp
extract: current.temp_c
- name: condition
extract: current.condition.text
result: |
${step0:city_name} 当前温度 ${step0:temp}°C${step0:condition}