插件可以为智能体应用添加额外的能力,支持开发者自定义插件功能。您可以参考以下步骤创建插件:
1. 填写插件基本信息
点击腾讯云智能体开发平台左侧菜单的插件广场 > 自定义插件 > 新建插件,选择基于 API 或基于代码创建插件。
基于 API:手动填写 API 的基础信息、输入和输出参数。
基于代码:使用 Python 自定义函数代码以实现 API 功能。


以基于 API 创建为例:
1.1 填写插件基本信息
填写插件基本信息,包括名称、描述、上传插件图标等。

1.2 指定插件授权方式
根据工具 API 的实际鉴权要求,选择 授权方式。

APIKey 授权
APIKey 是通过密钥或令牌对请求方身份进行校验的认证方式。
在授权方式处选择 APIkey 后,在 Header(请求头)或 Query(查询参数)中配置密钥对应参数名称和密钥值:


OAuth 2.0 授权
智能体开发平台在创建 API 插件时,支持配置 OAuth 2.0 授权方式,用于对接需要 OAuth 鉴权的第三方 API 服务。OAuth 2.0 是一种用于访问授权的行业标准协议,允许用户将其在某个网站的信息授权给 ADP,但不需要将网站的账号密码给 ADP。通过平台统一的 OAuth 配置与授权流程,可简化插件接入与用户使用过程,提升安全性与易用性。
在授权方式处选择 OAuth 2.0 后,配置相关字段,字段相关信息均需在第三方 OAuth 应用管理后台中获取:
字段 | 是否必填 | 说明 |
ClientId | 必填 | 第三方 OAuth 应用的客户端 ID |
ClientSecret | 必填 | 第三方 OAuth 应用的客户端密钥 |
AuthorizationUrl | 必填 | 第三方 OAuth 授权地址,用于发起用户登录授权 |
Scope | 选填 | 授权范围,允许添加多个,可按第三方规范填写 |
TokenUrl | 必填 | 第三方 OAuth 获取 Access Token 的地址 |
请复制以下重定向 URL,前往第三方 OAuth 应用的配置页面,将该 URL 填入第三方的回调地址配置中,未正确配置重定向 URL 将导致授权失败。
https://adp.cloud.tencent.com/api/plugin/oauth/callback
示例:
接下来将通过接入 GitCode API 为例,展示 OAuth 2.0 授权配置过程。
步骤一 在 GitCode 的官方 API 文档内找到 OAuth 配置说明,获取 AuthorizationUrl 和 TokenUrl 地址,以及 Scope 范围等信息。


步骤二 登录 GitCode 平台,在 个人设置 中选择 OAuth应用 并创建应用,完成输入应用信息、配置 ADP 回调地址和选择应用权限等操作后,点击 新建应用,GitCode 平台将自动为您生成 ClientId 和 ClientSecret。


步骤三 在 ADP 内创建 GitCode API 插件,选择 OAuth 2.0 授权,并将前两步获取的信息填入。


步骤四 单击下一步完成相关工具配置后,支持在 校验工具 进行授权测试,该授权状态为一次性校验,不会保存。校验通过后单击保存完成插件创建。




2. 配置工具
您可以通过手动添加工具或添加 yaml/json 格式代码文件导入 API 工具。以手动添加工具为例,在“添加工具(API)”步骤中填写工具名称、调用地址等信息,配置接口对应的入参和出参后完成配置。


您可以通过不同类型的代码格式导入插件。以下是不同规范的 API 接入说明和示例:
OpenAPI
OpenAPI 是一种开放的规范,用于描述和定义 RESTful API 的接口。它允许开发者以标准化的方式描述 API 的请求、响应、参数、认证等信息。
文件格式:支持 YAML 格式和 JSON 格式。
关键字段说明:
字段 | 说明 | 是否必需 |
openapi | 规范版本号,如3.0.0 | 是 |
servers | 定义 API 的基础 URL 列表 | 否,但建议填写以生成有效 URL |
info | API 元数据,包括标题、版本、描述等 | 是 |
paths | 定义所有端点(例如 /users)及其 HTTP 方法(GET/POST) | 是 |
components | 存储可复用的模型、参数、响应等,例如:schemas 定义的数据结构 | 否 |
示例:
openapi: "3.0.0"info:title: "测试API"version: "1.0.0"description: "请在此填入插件描述"servers:- url: "https://example.com/api"description: "请在此填入插件描述"paths:"/weatherInfo":get:summary: "API名称"description: "请在此填入插件下面的API描述"operationId: "getWeatherInfo"parameters:- name: "city"in: "query"description: "参数说明"required: trueschema:type: "string"responses:"200":description: "成功的响应"content:application/json:schema:type: "object"properties:status:type: "integer"description: "返回状态"enum: [0, 1]"400":description: "错误的请求""401":description: "未授权""500":description: "服务器内部错误"
{"openapi": "3.0.0","info": {"title": "测试API","version": "1.0.0","description": "请在此填入插件描述"},"servers": [{"url": "https://example.com/api","description": "请在此填入插件描述"}],"paths": {"/weatherInfo": {"get": {"summary": "API名称","description": "请在此填入插件下面的API描述","operationId": "getWeatherInfo","parameters": [{"name": "city","in": "query","description": "参数说明","required": true,"schema": {"type": "string"}}],"responses": {"200": {"description": "成功的响应","content": {"application/json": {"schema": {"type": "object","properties": {"status": {"type": "integer","description": "返回状态","enum": [0,1]}}}}}},"400": {"description": "错误的请求"},"401": {"description": "未授权"},"500": {"description": "服务器内部错误"}}}}}}
Swagger
Swagger 是 OpenAPI 规范的前身和实现工具(Swagger 2.0 是旧版规范),用于描述、文档化和测试 RESTful API,使用与 OpenAPI 相同的文件格式。
文件格式:支持 YAML 格式和 JSON 格式。
关键字段说明:
字段 | 说明 | 是否必需 |
swagger | 规范版本号,如2.0 | 是 |
host | 域名 | 否,但建议填写以生成有效 URL |
basePath | 基础路径 | 否,但建议填写以生成有效 URL |
schemes | 支持的协议,如 http 或 https | 否,但建议填写以生成有效 URL |
info | API 元数据,包括标题、版本、描述等 | 是 |
paths | 定义所有端点(如 /users)及其 HTTP 方法(GET/POST) | 是 |
definitions | 数据模型,相当于 OpenAPI 的 components/schemas | 否 |
示例:
swagger: "2.0"info:title: User APIversion: 1.0.0description: 示例 Swagger 2.0 文档host: "example.com"basePath: "/api"schemes:- "https"paths:/users:# GET 请求get:summary: 获取所有用户responses:'200':description: 成功返回用户列表schema:type: objectproperties:users:type: arrayitems:$ref: '#/definitions/User'# POST 请求post:summary: 创建新用户parameters:- in: bodyname: userrequired: trueschema:$ref: '#/definitions/User'responses:'201':description: 用户创建成功definitions:User:type: objectrequired:- nameproperties:id:type: integerreadOnly: trueexample: 1name:type: stringexample: "张三"email:type: stringformat: emailexample: "user@example.com"
{"swagger": "2.0","info": {"title": "User API","version": "1.0.0","description": "示例 Swagger 2.0 文档"},"host": "example.com","basePath": "/api","schemes": ["https"],"paths": {"/users": {"get": {"summary": "获取所有用户","responses": {"200": {"description": "成功返回用户列表","schema": {"type": "object","properties": {"users": {"type": "array","items": {"$ref": "#/definitions/User"}}}}}}},"post": {"summary": "创建新用户","parameters": [{"in": "body","name": "user","required": true,"schema": {"$ref": "#/definitions/User"}}],"responses": {"201": {"description": "用户创建成功"}}}}},"definitions": {"User": {"type": "object","required": ["name"],"properties": {"id": {"type": "integer","readOnly": true,"example": 1},"name": {"type": "string","example": "张三"},"email": {"type": "string","format": "email","example": "user@example.com"}}}}}
Postman
Postman 是一个 API 开发和测试工具,其 Collection 格式用于保存请求、测试脚本和环境变量,适合手动测试和团队协作。
文件格式:支持 JSON 格式。
关键字段说明:
字段 | 说明 | 是否必需 |
info | 集合元数据,包括集合名称和集合版本 | 是 |
item | 请求列表,每个请求需指定方法和 URL | 是 |
request | 请求详情,包括 header, body, auth 等 | 是 |
auth | 认证配置,如 API Key | 否 |
event | 预请求脚本或测试脚本 | 否 |
示例:
{"info": {"name": "User API Collection","version": "1.0.0","description": "示例 Postman 集合,包含 GET 和 POST 请求"},"item": [{"name": "GetAllUsers","request": {"method": "GET","description": "GetAllUsers","header": [{"key": "Content-Type","value": "application/json"}],"url": {"raw": "https://api.example.com/users","protocol": "https","host": ["api.example.com"],"path": ["users"]}},"response": []},{"name": "CreateUser","request": {"method": "POST","description": "CreateUser","header": [{"key": "Content-Type","value": "application/json"}],"body": {"mode": "raw","raw": "{\\"name\\": \\"John Doe\\", \\"email\\": \\"john@example.com\\"}"},"url": {"raw": "https://api.example.com/users","protocol": "https","host": ["api.example.com"],"path": ["users"]}},"response": []}]}
3. 校验插件
工具配置完后,进入校验环节。在校验窗口中,填写输入参数后试运行,查看调用结果,测试插件是否能够正常调用。支持将当前测试结果保存为示例。


如您创建的插件为 OAuth 授权,您可以在校验阶段进行授权测试,该授权状态为一次性校验,不会保存。

试运行通过之后,保存当前编辑的插件。


注意:
插件需通过校验后才可保存。
保存后的插件支持在插件广场进行查看、编辑、导出等操作。


4. 使用插件
5. 删除插件
当删除自定义插件时,如果插件已经被引用,会进行删除提示说明。

