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

SSE 调试

SSE (Server-Sent Events) 是一种基于 HTTP 协议的实时通信技术,广泛应用于 AI 大模型的流式响应场景。它通过建立客户端和服务器之间的持久单向连接,使服务器能够向客户端推送实时消息,让用户即时看到 AI 的思考过程和生成内容。
DeepSeek R1
Ollama 本地部署的 QwQ-32B

发起 SSE 连接#

Apifox 版本需大于 2.3.10
1
新建接口
在 Apifox 中新建一个 HTTP 项目,并在项目中新建接口,填写 AI 模型的接口地址。
2
发送请求
发送请求后,当接口返回的 Content-Type 包含 text/event-stream 时,Apifox 会自动将返回的数据解析为 SSE 事件。
image.png
3
查看实时响应
可在响应面板的「时间线」视图中查看实时消息内容,支持自然语言展示响应。
apifox-deepseek-api-01.gif

消息自动合并#

Apifox 版本需大于 2.7.14
Apifox 内置了对主流 AI 模型的支持,可以自动识别并合并以下格式的流式响应:
兼容 OpenAI API 格式的响应 (DeepSeek、豆包、通义千问、腾讯混元、文心一言等绝大多数 AI 模型的 API 都兼容该格式)
兼容 Gemini API 格式的响应
兼容 Claude API 格式的响应
兼容 Ollama API 格式的响应 (使用 Ollama 本地部署的 AI 模型使用该格式)
只要你调用的 AI 模型返回格式与以上任一种格式相匹配,Apifox 都会自动将消息片段合并为完整的回复内容。自动合并消息内容后,可以预览 Markdown 格式的内容。
apifox-sse.gif
对于某些特殊模型,如 DeepSeek R1、QwQ-32B,Apifox 还支持在时间线中展示模型的思考过程,让你更直观地了解 AI 的推理过程。
apifox-deepseek-api-02.gif

自定义合并规则#

如果自动合并功能未能正常工作,可以根据实际情况采取以下措施:

1. 配置 JSONPath 提取规则#

当 SSE 返回的事件内容是 JSON 格式,但不符合 OpenAI、Gemni、Claude 等内置的识别规则时,你可以手动配置 JSONPath 来提取所需内容。例如下面的原始 SSE 响应 (经过格式化):

data: {
        "choices": [
            {
                "delta": {
                    "content": "大",
                    "role": "assistant"
                },
                "index": 0
            }
        ],
        "created": 1740637581,
        "model": "deepseek-r1-250120"
      }

data: {
        "choices": [
            {
                "delta": {
                    "content": "白菜",
                    "role": "assistant"
                },
                "index": 0
            }
        ],
        "created": 1740637581,
        "model": "deepseek-r1-250120"
      }
对于这个 JSON 结构,要提取 content 字段的内容,正确的 JSONPath 配置应是:
$.choices[0].delta.content
这个 JSONPath 表达式的含义是:
$ 表示 JSON 的根节点
choices[0] 表示选择 choices 数组的第一个元素
delta.content 表示在该元素下 delta 对象的 content 属性
这个配置将提取出内容:
大白菜
将 JSONPath 表达式填入「自动合并」右侧的输入框中即可。
CleanShot 2025-02-27 at 18.19.21@2x.png

2. 使用后置脚本处理#

对于非 JSON 格式的 SSE 消息,可以:
使用后置脚本手动处理。
联系技术支持反馈你使用的模型格式,我们会考虑添加对该格式的内置支持。
例如某个 AI 接口返回的 SSE 消息是纯文本格式,而不是 JSON 数据。每个事件片段可能只是一些简单的文本行,例如:
在 Apifox 中,你可以编写如下自定义脚本来处理这些文本数据:
image.png
这个脚本将会把每个事件片段按行分割,将处理后的内容显示在 body 的 "Visualize" 标签页,并打印到控制台。你可以根据实际需要进一步修改处理逻辑,进行更复杂的文本解析。
无论选择哪种方式,都建议先仔细分析 API 的响应格式,以确保正确配置合并规则。

常见问题#

SSE 时间线没有显示消息,如何处理?
如图所示的问题:
SSE FAQ
这通常是因为服务器返回的响应内容不符合 SSE 格式规范。标准的 SSE 消息格式要求:
消息内容需要放在 data: 之后
每条消息之间要用两个换行符分隔(即消息之间空一行)
详细的 SSE 消息格式说明请参考《MDN 文档 - 使用服务器发送事件》。

了解更多#

如何调用 DeepSeek API(R1 & V3)?
获取 DeepSeek API 密钥并调试 API 的完整指南
上一页
Socket.IO 调试
下一页
SOAP/WebService
Built with