Agent 测试 API(更新/发布)
Agent 测试 API(更新/发布)
支持开发者在 CodeX、Claude 等 AI 工具(已安装 GPTBots Agent Skill)把 Skills 生成的 .bot 文件配置导入到一个 GPTBots 平台目标 Agent 并发布上线。
⚠️ 仅「测试模式」的 Agent 可被调用。 正式模式调用返回
403200。测试模式在创建 Agent 时选择,创建后不可修改。
Agent 更新 API(导入 .bot 替换当前版本)
把 .bot 文件导入到目标 Agent(测试模式),将替换后的当前配置保存为一个新的草稿版本(同时成为「当前版本」)。具体规则如下:
- 知识库(数据组)/ 数据库表 / 知识文档:按 AgentID 维度,仍属于目标 Agent 的保留、否则丢弃;
- 关联 workflow / 工具(插件):按 组织 维度,仍有效的保留、否则丢弃;
- 顶层知识库挂载不随
.bot导出,导入时保留目标 Agent 自身已挂载的知识库; - 第三方凭证:导入到现有 Agent 时按「相同组件/节点/插件 ID」回填目标已配置的凭证,不清空已鉴权组件,保证可用性;
请求方式
POST
调用地址
https://api-${endpoint}.gptbots.ai/v1/agent/version/import
请求
请求示例
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
此代码块在浮窗中显示
请求头
| 字段 | 类型 | 描述 |
|---|---|---|
| Authorization | Bearer {API Key} | 使用 Authorization: Bearer {API Key} 进行调用验证,请在目标 Agent 的「集成 / API」渠道获取密钥作为 API Key。 |
| Content-Type | multipart/form-data | 数据类型,取值为 multipart/form-data。 |
请求参数
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| file | file | 是 | 二进制 .bot 文件。 |
| versionDesc | text | 否 | 版本说明。 |
版本号由服务端自动生成(取最新版本末段 +1,无历史版本则为
1.0.0)。
响应
响应示例
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
此代码块在浮窗中显示
成功响应
| 字段 | 类型 | 描述 |
|---|---|---|
| botId | string | 目标 Agent ID。 |
| botType | string | Agent 类型(QuestionAnswer / Flow / MultiAgent)。 |
| version | string | 本次保存的版本号(即当前版本)。 |
失败响应
| 字段 | 类型 | 描述 |
|---|---|---|
| code | int | 错误码。 |
| msg | string | 错误详情。 |
Agent 发布 API(按版本号发布为线上版本)
将目标 Agent(测试模式)的指定版本号发布为线上生产版本(该版本变为「线上」,其余版本回到草稿状态)。
请求方式
POST
调用地址
https://api-${endpoint}.gptbots.ai/v1/agent/version/release
请求
请求示例
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
此代码块在浮窗中显示
请求头
| 字段 | 类型 | 描述 |
|---|---|---|
| Authorization | Bearer {API Key} | 使用 Authorization: Bearer {API Key} 进行调用验证,请在目标 Agent 的「集成 / API」渠道获取密钥作为 API Key。 |
| Content-Type | application/json | 数据类型,取值为 application/json。 |
请求参数
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| version | string | 是 | 要发布为线上的版本号(如 1.0.3),通常取「更新」接口返回的 version。 |
响应
响应示例
{
"code": 0,
"msg": "OK"
}
{
"code": 0,
"msg": "OK"
}
此代码块在浮窗中显示
成功响应
无数据体,code 为 0 即发布成功。
失败响应
| 字段 | 类型 | 描述 |
|---|---|---|
| code | int | 错误码。 |
| msg | string | 错误详情。 |
错误码
更新与发布接口共用同一套错误码:
| Code | Message |
|---|---|
| 0 | 成功 |
| 40348 | Agent 不存在 |
| 403200 | 非测试模式:仅测试模式的 Agent 可被该 API 更新或发布 |
| 403201 | 导入文件类型与目标 Agent 类型不匹配 |
| 403202 | 导入的 .bot 文件解析失败 |
| 403203 | 指定的版本号不存在 |
| 403204 | API Key 类型与接口不匹配:本接口只接受 Agent Key |
| 40353 | 已发布数量超出套餐上限(SUITE_RESTRICT,发布 API) |
