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:
@@ -2,14 +2,18 @@
|
||||
|
||||
## 概述
|
||||
|
||||
TOOLKIT WORKFLOW 让你通过编写 YAML 文件来定义 LLM 工具。一个 YAML 文件描述一个工具:它接受哪些参数、调用哪些 HTTP API、如何从响应中提取数据、以及最终返回什么给 LLM。
|
||||
TOOLKIT WORKFLOW 让你通过编写 YAML 文件来定义外部 HTTP 能力。一个 YAML 文件描述一个能力:它接受哪些参数、调用哪些外部 HTTP API、如何从响应中提取数据、以及最终返回什么给 LLM。
|
||||
|
||||
模型初始只暴露三个入口工具:`query_capabilities`、`query_capability_detail` 和 `call_capability`。YAML 能力不会直接出现在初始 tools 数组中,必须先查询能力列表或详情,再通过 `call_capability` 按能力名称和参数调用。
|
||||
|
||||
核心能力:
|
||||
- 一个 YAML 文件 = 一个完整的 LLM 工具,无需写代码
|
||||
- 一个 YAML 文件 = 一个完整的 HTTP 能力,无需写代码
|
||||
- 支持多步 HTTP 请求链,步骤之间可以传递变量
|
||||
- 流程控制:`next` 跳转步骤、`jump` 降级到备源、`abort` 终止执行
|
||||
- 键级缓存:`cache` 缓存变量,同一调用中缺键自动重请求
|
||||
- 统一提取:`extract` 字段,语法自描述引擎(路径 / 正则)
|
||||
- 工具分类:`api` 能力用于发现和调用 iAs 内部 HTTP API;`http` 能力来自 `tools/*.yaml` 外部 API 配置。
|
||||
- 内部 HTTP API 不再为每个 endpoint 维护一个重复 AI 能力。模型应先调用 `query_api_docs` 查询功能分组、endpoint_id、参数和请求体,再调用 `call_http_api` 执行具体 endpoint。
|
||||
|
||||
---
|
||||
|
||||
@@ -19,9 +23,9 @@ TOOLKIT WORKFLOW 让你通过编写 YAML 文件来定义 LLM 工具。一个 YAM
|
||||
|
||||
| 字段 | 必填 | 类型 | 说明 |
|
||||
|------|------|------|------|
|
||||
| `name` | 是 | string | 工具名,对应 LLM function.name |
|
||||
| `desc` | 是 | string | 工具描述,对应 LLM function.description |
|
||||
| `params` | 否 | array | LLM 可见的参数定义,映射为 function.parameters JSON Schema |
|
||||
| `name` | 是 | string | 能力名,对应 `call_capability.name` |
|
||||
| `desc` | 是 | string | 能力描述,会出现在 `query_capabilities` 和能力详情中 |
|
||||
| `params` | 否 | array | 能力参数定义,映射为 `query_capability_detail` 返回的 JSON Schema |
|
||||
| `env` | 否 | array[string] | 该工具依赖的环境变量名列表,仅作文档和校验 |
|
||||
| `steps` | 是 | array | 请求步骤链,按顺序执行 |
|
||||
|
||||
@@ -205,7 +209,7 @@ var:
|
||||
|
||||
| 语法 | 来源 | 示例 |
|
||||
|------|------|------|
|
||||
| `${param:key}` | LLM 传入的工具参数 | `${param:city}`、`${param:order_id}` |
|
||||
| `${param:key}` | `call_capability.parameters` 传入的能力参数 | `${param:city}`、`${param:order_id}` |
|
||||
| `${env:VAR}` | 系统环境变量 | `${env:API_KEY}`、`${env:BASE_URL}` |
|
||||
| `${stepN:var_name}` | 第 N 个步骤提取的变量,N 从 0 开始 | `${step0:token}`、`${step1:status}` |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user