Apifox 帮助文档
帮助文档
常见问题公告Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档
常见问题公告Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • Apifox Markdown
  • 更新日志
  • Road Map
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 迭代分支
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 私有化部署
    • 联系我们
  • 开始使用
    • 下载 Apifox
    • 基本概念
    • 注册与登录
    • 页面布局
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 导入导出数据
      • 导出数据
      • 手动导入
      • 概述
      • 定时导入(绑定数据源)
      • 导入设置
      • 其它方式导入
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 Apipost
        • 导入 Eolink
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
        • 导入 Postman
        • 导入 OpenAPI/Swagger
  • 设计 API
    • 概述
    • 新建 API 项目
    • 接口基础知识
    • 接口设计规范
    • 模块
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 接口评论
    • 批量管理
    • 通用接口文档
    • 基础知识
      • 接口基本信息
        • 请求头
        • HTTP/2
        • 请求参数编码解码
        • 请求参数与请求体
        • 请求 URL 与方法
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 数据模型
      • 概述
      • 高级数据类型
      • 构建数据模型
      • 通过 JSON 等生成
      • 新建数据模型
      • 数据模型进阶
        • 使用 oneOf / anyOf / allOf 构建组合模式
        • 使用 discriminator 实现多态数据结构
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 参数列表外观
      • 接口唯一标识
      • 关联测试场景
      • 接口状态
      • 接口字段
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口调试用例
    • 单接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 环境管理
      • 全局/环境/模块/临时变量
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • SSE 调试
      • MCP 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SOAP/WebService
      • gRPC 调试
      • Webhook 调试
      • AI Agent Debugger
      • A2A Debugger
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排场景用例
      • 新建场景用例
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出场景用例数据
    • 运行场景用例
      • 运行场景用例
      • 批量运行场景用例
      • 数据驱动测试
      • 共用测试数据
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试套件
      • 概述
      • 新建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • CLI 运行测试套件
      • 定时任务
    • 测试报告
      • 测试报告
    • API 测试
      • 性能测试
      • 集成测试
      • 端到端测试
      • 回归测试
      • 契约测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 概述
      • 与 Gitlab 集成
      • 与其它更多 CI/CD 平台集成
      • 与 Jenkins 集成
      • Git 提交自动触发测试
      • 与 Github Actions 集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义页面代码
    • 自定义域名
    • AI 相关特性
    • SEO 设置
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 功能简介
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
    • AI 分支
  • 管理中心
    • 基本概念
    • 团队入驻
    • 管理团队
      • 团队基本操作
      • 成员角色与权限设置
      • 团队成员管理
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent(Proxy)
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
        • Git 仓库连接
    • 管理组织
      • 组织基本操作
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
      • 订单管理
        • 组织付费经理
  • 离线空间
    • 功能简介
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox AI 功能
    • 总览
    • 启用 AI 功能
    • 生成测试用例
    • 修改数据模型
    • 接口规范性检测
    • 接口文档完整性检测
    • 字段命名
    • 常见问题
  • Apifox MCP Server
    • 新版 MCP 内测
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
    • Apifox 测试步骤之间怎么传递数据?
  • 账号&应用设置
    • 账号设置
    • API 访问令牌
    • 通知
    • 语言设置
    • 快捷键
    • 网络代理
    • 数据备份与恢复
    • 更新 Apifox
    • 实验性功能
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 迭代分支

AI 分支

AI 分支属于 迭代分支 的特殊类型。
Apifox CLI 来源发起的编辑行为,均默认视为由 AI / AI Agent 发起。
AI 分支适用于在 Apifox 项目中为 AI Agent 提供独立的编辑分支。通过 AI 分支,AI 可以在不直接改动主分支或普通迭代分支的情况下,创建、更新项目资源;修改完成后,在客户端或 CLI 中确认差异,并通过合并或合并请求将结果合入目标分支。

为什么需要 AI 分支 ?#

AI 编辑行为存在不可控的风险,而 Apifox CLI 提供了大量编辑功能,AI 分支针为这类高风险的 AI 发起的编辑行为而生,让 AI Agent 在受控范围内完成项目资源编辑。
您也可以更新至 Apifox 2.8.31 及以上的版本,于 项目设置 -> 功能设置 -> 外部 AI 编辑权限 中按需开启:主分支、标准迭代分支和通用分支的直接编辑权限,这将忽略 AI 分支的直接限制。

什么是 AI 分支 ?#

AI 分支是一种特殊的迭代分支。它和普通迭代分支一样承载项目资源变更,但默认用于外部 AI 行为(CLI),并在合并前保留人工确认环节。
AI 分支的核心特点包括:
1.
隔离编辑:CLI 来源对接口、文档、数据模型、场景用例等资源的修改在 AI 分支中,不会直接影响主分支或来源分支。
2.
来源明确:在 Apifox 端内无法直接创建,必须由 CLI 或 MCP 来源发起创建。AI 分支会记录来源分支。合并时通常回到该来源分支,便于理解 AI 修改的上下文。
3.
人工确认:AI 分支中的改动需要用户确认后再合并。用户可以查看差异、选择资源范围,并决定直接合并或创建合并请求。
4.
不限数量:AI 分支当前未主动限制创建数量限制,可以驱动 AI Agent 按业务、迭代和功能模式分类处理数据。
5.
自动归档:为了防止在项目协作中 AI 分支数量无序增多,AI 分支 每 24 小时 会对比和源头分支的差异,若无差异将自动归档。您随时在 Apifox 内恢复已归档的 AI 分支,也可以从 Apifox CLI 重新创建新 AI 分支,均无限制。
提示
AI 分支用于承接外部 AI 或 CLI 的写入结果。端内用户在客户端中的正常编辑、合并和审核仍按项目成员权限与分支保护规则执行。

适用场景#

AI 分支适合用于需要让 AI 参与项目资源维护,但又希望保留人工确认和分支隔离的场景。
场景说明
根据代码生成接口草稿AI 读取代码后,在 AI 分支中创建或更新 HTTP API 接口,用户确认后再合并。
批量整理接口资源AI 可调整接口目录、补充说明、更新数据模型或响应组件,避免直接影响当前协作分支。
生成自动化测试草稿AI 可在 AI 分支中创建场景用例、测试用例或测试数据,后续由测试人员确认。
修复接口文档缺口AI 可根据错误报告、接口实现或 OpenAPI 文件补充缺失字段。
在 CI/CD 中批量写入自动化流程可将生成结果写入 AI 分支,等待用户审核后合并。

基本流程#

使用 AI 分支的典型流程如下:
1
创建 AI 分支,并指定它基于哪个来源分支创建。
2
将需要编辑的资源导入 AI 分支,或在 AI 分支中创建新的资源。
3
AI Agent、CLI 或自动化脚本在 AI 分支中完成资源修改。
4
用户查看 AI 分支与来源分支之间的差异,确认要合并的资源范围。
5
根据目标分支保护规则,直接合并或创建合并请求。

创建 AI 分支#

使用 sprint-branch create --ai 创建 AI 分支。sprint-branch、sb、branch 是等价入口。
命令说明示例
sprint-branch create --ai创建 AI 分支。apifox sprint-branch create --project <projectId> --name "ai/20260312-from-main-userRegister" --ai
sprint-branch list查看项目中的普通迭代分支和 AI 分支。apifox sprint-branch list --project <projectId>
sprint-branch view查看指定分支详情,包括分支类型和来源信息。apifox sprint-branch view <branchName> --project <projectId>
示例场景:创建用于用户注册接口的 AI 分支
提示
AI 分支推荐命名为 ai/年月日-from-来源分支名-功能或模块名,例如 ai/20260312-from-main-userRegister。清晰的命名有助于团队理解分支来源、用途和创建时间。

在 AI 分支中编辑资源#

CLI 写入项目资源时,可通过分支参数将资源写入 AI 分支。不同资源命令的参数略有差异,使用前建议先查看对应命令帮助和 JSON Schema。
资源类型常用命令示例
HTTP API 接口endpoint create、endpoint updateapifox endpoint create --project <projectId> --branch <aiBranchName> --file ./endpoint.json
数据模型schema create、schema updateapifox schema update <schemaId> --project <projectId> --branch <aiBranchName> --file ./schema.json
Markdown 文档doc create、doc updateapifox doc create --project <projectId> --branch <aiBranchName> --file ./doc.json
场景用例test-scenario create、test-scenario updateapifox test-scenario update <scenarioId> --project <projectId> --branch <aiBranchName> --file ./scenario.json
测试套件test-suite create、test-suite updateapifox test-suite create --project <projectId> --branch <aiBranchName> --file ./suite.json
测试数据test-data create、test-data updateapifox test-data create --project <projectId> --branch <aiBranchName> --file ./test-data.json
创建或更新复杂资源时,建议先通过 cli-schema 查看并校验数据结构。

从来源分支导入资源#

如果 AI 分支需要基于已有资源继续修改,可先使用 sprint-branch pick-to 将来源分支中的资源导入 AI 分支。导入后,AI 可在 AI 分支中继续编辑这些资源。
命令说明示例
sprint-branch pick-to从源分支导入资源到目标 AI 分支。apifox sprint-branch pick-to --project <projectId> --from <sourceBranchName> --to <aiBranchName> --endpoint-ids <ids>
示例场景:导入接口后让 AI 修改
提示
pick-to 只会导入命令中显式传入的资源。需要目录、数据模型、响应组件或其他关联资源时,请在导入前确认资源范围。

查看 AI 分支改动#

合并前,建议先查看 AI 分支和目标分支之间的候选改动。CLI 可使用 merge-request preview 扫描当前支持的资源类型,客户端中也可以查看更完整的分支差异。
命令说明示例
merge-request preview扫描候选改动,用于合并前确认资源范围。apifox merge-request preview --project <projectId> --from <aiBranchName> --to <targetBranchName>
sprint-branch view查看 AI 分支基本信息。apifox sprint-branch view <aiBranchName> --project <projectId>
示例场景:合并前预览候选改动
提示
merge-request preview 用于扫描 CLI 当前支持资源类型的候选差异。它不是完整资源 diff,正式合并前仍建议在客户端中确认关键资源内容。

合并 AI 分支#

AI 分支修改完成后,可将改动合并回来源分支或目标分支。未受保护的目标分支可使用 sprint-branch merge 直接合并;受保护主分支通常使用 merge-request create 创建合并请求并走审核流程。
命令说明示例
sprint-branch merge直接合并 AI 分支中的指定资源。apifox sprint-branch merge --project <projectId> --from <aiBranchName> --to <targetBranchName> --endpoint-ids <ids>
merge-request create创建合并请求。apifox merge-request create --project <projectId> --from <aiBranchName> --to <targetBranchName> --reviewer-ids <userIds> --endpoint-ids <ids>
merge-request approve批准合并请求。apifox merge-request approve <mergeRequestId> --project <projectId> --to <targetBranchName> --file ./approve.json
merge-request reject拒绝合并请求。apifox merge-request reject <mergeRequestId> --project <projectId> --to <targetBranchName>
示例场景:直接合并接口改动
示例场景:创建合并请求
提示
直接合并和合并请求都只会合并显式传入的资源清单,不会自动补引用资源或目录资源。创建合并范围时,应确认接口、目录、数据模型、响应组件和测试资源之间的依赖关系。

归档和删除 AI 分支#

AI 分支合并完成或不再使用时,可先归档,再删除。删除前建议确认分支中的改动已经合并或不再需要。
命令说明示例
sprint-branch archive归档 AI 分支。apifox sprint-branch archive <aiBranchName> --project <projectId>
sprint-branch delete删除已归档的 AI 分支。apifox sprint-branch delete <aiBranchName> --project <projectId>

外部 AI 编辑权限#

CLI 默认推荐通过 AI 分支写入项目资源。这样可以让 AI 的修改先进入独立分支,再由用户确认后合并。
如果希望外部 AI 或 CLI 直接编辑主分支、标准迭代分支或通用分支,需要在客户端中开启对应权限:
项目设置 - 功能设置 -  AI 功能设置 - 外部 AI 编辑权限
这些开关用于控制外部 AI、CLI 或自动化调用对项目分支的直接写入范围。开启前应确认团队协作规则和项目数据安全要求。
权限项说明
主分支直接编辑权限允许外部 AI 或 CLI 直接写入主分支。
标准迭代分支直接编辑权限允许外部 AI 或 CLI 直接写入普通迭代分支。
通用分支直接编辑权限允许外部 AI 或 CLI 直接写入通用分支。
AI 分支直接编辑权限允许外部 AI 或 CLI 写入由 AI 创建和维护的 AI 分支。通常保持开启。
提示
为了确保项目资源安全,建议优先让外部 AI 或 CLI 写入 AI 分支,再由用户确认后合并。只有在明确需要自动化流程直接修改目标分支时,再开启对应直接编辑权限。

最佳实践#

1.
按任务创建 AI 分支:一个 AI 分支对应一个清晰任务,例如补充用户注册接口、整理订单模块文档或生成支付场景用例。
2.
先导入再编辑:需要修改已有资源时,先用 pick-to 导入资源,再在 AI 分支中更新,避免混淆来源。
3.
合并前预览差异:使用 merge-request preview 或客户端差异视图确认资源内容和依赖关系。
4.
显式选择合并范围:合并命令只处理传入的资源清单。涉及接口目录、数据模型、响应组件、测试用例等关联资源时,应一并确认。
5.
保留人工审核:AI 生成的接口定义、测试脚本和数据模型建议由项目成员审核后再合并。
6.
及时归档分支:已合并或废弃的 AI 分支应及时归档,保持分支列表清晰。

常见问题#

AI 分支和普通迭代分支有什么区别?
AI 分支是一种特殊的迭代分支,主要用于承接外部 AI、CLI 或自动化脚本的写入结果。它会记录来源分支,并鼓励在合并前由用户确认差异。普通迭代分支通常用于团队成员日常协作开发。
AI 分支会直接影响主分支吗?
不会。AI 分支中的修改会先保存在 AI 分支中。只有用户执行直接合并或创建并批准合并请求后,相关资源才会进入目标分支。
CLI 如何跳过 AI 分支,直接编辑项目数据?
在 Apifox 项目内进入 项目设置 - 功能设置 - AI 功能设置 - 外部 AI 编辑权限,按需开启主分支、标准迭代分支或通用分支的直接编辑权限。开启后,外部 AI 或 CLI 才能在对应分支范围内直接写入。
合并 AI 分支时会自动带上引用资源吗?
不会。sprint-branch merge 和 merge-request create 都按显式传入的资源清单执行。涉及接口引用的数据模型、响应组件、目录或测试资源时,请在合并前确认并补充对应资源范围。
AI 分支修改完成后是否必须删除?
不强制删除。建议在确认改动已合并或不再需要后归档,并按团队规范决定是否删除,避免历史分支长期堆积。
上一页
管理迭代分支
下一页
基本概念
Built with