Apifox 增强 AI 接口调试功能:自动合并 SSE 响应、展示DeepSeek思考过程
在现代的API接口调试中,效率和精确性对于开发者和测试人员来说至关重要。Apifox,作为一款功能强大的API管理和调试工具,近年来不断提升其用户体验和智能化功能。最近,Apifox 推出了增强版的AI接口调试功能,其中包括自动合并SSE(Server-Sent Events)响应和展示DeepSeek思考过程的功能。这些新功能为开发者和测试人员提供了更高效、直观的调试体验,让接口调试更轻松。
常见 AI 大模型的 API 都支持流式输出,以便让用户可以实时看到 AI 的回复,而无需长时间等待。AI 流式输出一般遵循 SSE(Server-Sent Events)格式。

Apifox 是国内最早支持调试 SSE 接口的工具。随着越来越多的开发者在项目中使用 AI 接口,Apifox 进一步增强了 SSE 调试功能,对 AI 接口做了专门的优化。
现在,只要你在 Apifox 中发起 HTTP 请求,符合 OpenAI、Gemini、Claude 等 AI 常见格式的流式响应就会自动合并为可读文本,实时以自然语言呈现响应。不仅如此,对于一些特定的 AI 推理模型,如 DeepSeek R1,Apifox 还能展示在生成答案前的思考过程。

下面我们就进一步介绍这一全新功能的使用方法,在开始之前,请将 Apifox 更新至最新版(≥2.6.49),一起开启全新体验!
下载 Apifox 最新版

三步开启 AI 接口流式调试
![]()

新建接口
将 Apifox 更新到最新版本后,将其打开并新建一个 HTTP 项目,在项目中新建接口。
你可以填写任一 AI 模型的接口地址,并配置相应的 API Key。比如 DeepSeek 的 API,你可以将下面的 cURL 导入到 Apifox,注意stream字段的值需要为true:
curl https://api.deepseek.com/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer {{API_KEY}}" \-d '{"model": "deepseek-chat","messages": [{"role": "system", "content": "你是一位诗人"},{"role": "user", "content": "写一首关于春天的诗"},{"role": "assistant", "content": "春风拂面柳丝长..."},{"role": "user", "content": "请继续补充第二、三和四段"}],"stream": true }'

💡 也可以参考这篇推文:如何使用 Apifox 一键调用 DeepSeek API

发送请求
发送请求后,Apifox 会自动识别接口返回的Content-Type是否包含text/event-stream。如果包含,系统会自动将响应解析为 SSE 事件并进行流式输出。


查看实时响应
在「时间线」视图中,你将看到实时滚动的流式响应内容。事件流会自动合并成可读文本,直观地呈现在响应面板中。


自动合并流式响应
![]()
Apifox 内置了对主流 AI 模型的支持,可以自动识别并合并以下格式的流式响应:
-
兼容 OpenAI API 格式的响应(DeepSeek 等绝大多数 AI 模型的 API 都兼容该格式)
-
兼容 Gemini API 格式的响应
-
兼容 Claude API 格式的响应
只要你调用的 AI 模型返回格式与以上任意一种格式相匹配,Apifox 都会自动将消息片段合并为完整的回复内容。
对于某些 AI 推理模型,如 DeepSeek R1,Apifox 还支持在「时间线」中展示模型的思考过程,帮助你更直观地了解 AI 的推理过程。


自定义合并规则
![]()
如果自动合并功能未能正常工作,说明 SSE 返回的响应格式不在内置支持列表中,对此 Apifox 提供了两种自定义合并规则的方法,可以根据实际情况采取以下措施:

配置 JSONPath 提取规则
当 SSE 返回的事件内容是 JSON 格式,但不符合 OpenAI、Gemini、Claude 等内置的识别规则时,你可以手动配置 JSONPath 来提取所需内容。例如下面的原始 SSE 响应:
data: {"choices":[{"index":0,"message":{"role":"assistant","content":"你"},"logprobs":null,"finish_reason":"stop"}]}data: {"choices":[{"index":0,"message":{"role":"assistant","content":"好"},"logprobs":null,"finish_reason":"stop"}]}
对于这个 JSON 结构,要提取content字段的内容,正确的 JSONPath 配置应是:
$.choices[0].message.content
这个 JSONPath 表达式的含义是:
-
$表示 JSON 的根节点 -
choices[0]表示选择 choices 数组的第一个元素 -
message.content表示在该元素下 message 对象的 content 属性
这个配置将提取出内容:
你好

自定义脚本
对于非 JSON 格式的 SSE 消息,可以在 Apifox 的「后置操作」中编写自定义脚本。你可以定义如何处理每个事件片段,无论是文本、XML 还是其它格式的数据,这种方法都能帮助你灵活地处理响应内容。
例如某个 AI 接口返回的 SSE 消息是纯文本格式,而不是 JSON 数据。每个事件片段可能只是一些简单的文本行,例如:
data: 你
data: 好
在 Apifox 中,你可以编写如下自定义脚本来处理这些文本数据:
// 获取返回的 SSE 事件流内容
const sseContent = pm.response.text();// 假设每行文本代表一个事件片段,我们可以简单地按行分割并处理
const eventLines = sseContent.split('\n');// 存储合并后的事件内容
let mergedContent = '';// 处理每个事件片段,去除空行并合并
eventLines.forEach(line => {if (line.trim()) {// 提取 'data: ' 后面的内容并合并let eventData = line.replace(/^data:\s*/, '');mergedContent += eventData;}
});// 将结果显示在 body 的 "Visualize" 标签页
pm.visualizer.set(mergedContent);
// 最后,将合并后的数据输出
console.log("合并后的事件流:", mergedContent);
这个脚本将会把每个事件片段按行分割,将处理后的内容显示在 body 的「Visualize」标签页,并打印到控制台。你可以根据实际需要进一步修改处理逻辑,进行更复杂的文本解析。
🚧 注意
无论选择哪种方式,都建议先仔细分析 API 的响应格式,以确保正确配置合并规则。

在现代的API接口调试中,效率和精确性对于开发者和测试人员来说至关重要。Apifox,作为一款功能强大的API管理和调试工具,近年来不断提升其用户体验和智能化功能。最近,Apifox 推出了增强版的AI接口调试功能,其中包括自动合并SSE(Server-Sent Events)响应和展示DeepSeek思考过程的功能。这些新功能为开发者和测试人员提供了更高效、直观的调试体验,让接口调试更轻松。
Apifox 的全新 SSE 调试功能,尤其是在流式响应的自动合并和 AI 推理过程的实时可视化方面,为 AI 模型调试提供了极大的便利。你不仅可以更加高效地调试 AI 接口,还能更深入地了解模型的推理过程。更新你的 Apifox,现在就去试试吧!

相关文章:
Apifox 增强 AI 接口调试功能:自动合并 SSE 响应、展示DeepSeek思考过程
在现代的API接口调试中,效率和精确性对于开发者和测试人员来说至关重要。Apifox,作为一款功能强大的API管理和调试工具,近年来不断提升其用户体验和智能化功能。最近,Apifox 推出了增强版的AI接口调试功能,其中包括自动…...
【电机控制】42步进电机+arduino:WHEELTEC_MS42DDC
轮趣科技 42步进电机arduino:WHEELTEC_MS42DDC 接线方式: WHEELTEC_MS42DDC有两个接口, 一端接口连接配套的DC电源,另外一端只需要用三根线,一根负极连接ardino 的GND,然后把该端口的tx和rx连接到arduino的rx和tx,下…...
使用LangChain构建第一个ReAct Agent
使用LangChain构建第一个ReAct Agent 准备环境 使用Anaconda 安装python 3.10 安装langchain、langchain_openai、langchain_community (安装命令 pip install XXX) 申请DeepSeek API:https://platform.deepseek.com/api_keys(也…...
萝卜头笔作文赏析
在遥远的无寻王国,有这么一支小小的笔诞生了,人们见它又短又小,于是就给它取名叫萝卜头笔。萝卜头笔渐渐长大了,除了身子变粗些,其他什么都没变。一天,萝卜头笔来到了深山老林,那里枝叶繁茂&…...
RT-Thread+STM32L475VET6——USB鼠标模拟
文章目录 前言一、板载资源二、具体步骤1.配置icm20608传感器2.打开CubeMX进行USB配置3. 配置USB3.1 打开USB驱动3.2 声明USB3.3 剪切stm32xxxx_hal_msp.c中的void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)和void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)函数至board.c3.…...
rust 安全性
Rust 是 静态类型(statically typed) 语言, 也就是说在编译时就必须知道所有变量的类型, 这一点将贯穿整个章节。 C/C的安全问题 内存的不正确访问引发的内存安全问题 由于多个变量指向同一块内存区域导致的数据一致性问题 由于…...
大模型驱动的围术期质控系统全面解析与应用探索
目录 一、引言 1.1 研究背景与意义 1.2 研究目的与方法 1.3 研究创新点 二、大模型技术与围术期管理概述 2.1 大模型技术原理与发展现状 2.2 围术期管理流程与挑战 三、大模型在术前的应用 3.1 病历内涵质控 3.2 智能医学问答与知识查询 3.3 疾病风险预测与评估 3.…...
中兴B863AV3.2-T/B863AV3.1-T2/B863AV3.1-T2K_电信高安_S905L3A-B_安卓9.0_线刷固件包
中兴B863AV3.2-T/B863AV3.1-T2/B863AV3.1-T2K_电信高安_S905L3A-B_安卓9.0_线刷固件包 B863AV3.2-T B863AV3.1-T2 已知可通刷贵州、江苏、贵州、北京、河南、陕西等省份。 线刷方法:(新手参考借鉴一下) 1、准备好一…...
Android Binder机制
Binder是IPC(进程间通信)的一种机制,它允许不同的应用或系统服务在不同的进程中安全地交换数据。Binder的核心原理是基于客户端-服务器模型(C/S架构)。 一、Binder的定义 1. Binder是Android中的一个类,它继承了IBind…...
【算法】初等数论
初等数论 模 取余,遵循尽可能让商向0靠近的原则,结果的正负和左操作数相同 取模,遵循尽可能让商向负无穷靠近的原则,结果的正负和右操作数相同 7/(-3)-2.3,产生了两个商-2和-3,取…...
Spring Boot3+Vue2极速整合:10分钟搭建DeepSeek AI对话系统
前言 在生成式AI技术蓬勃发展的今天,大语言模型已成为企业智能化转型和个人效率提升的核心驱动力。作为国产大模型的优秀代表,DeepSeek凭借其卓越的中文语义理解能力和开发者友好的API生态,正在成为构建本土化AI应用的首选平台。 本文将以S…...
Spring事务原理 二
在上一篇博文《Spring事务原理 一》中,我们熟悉了Spring声明式事务的AOP原理,以及事务执行的大体流程。 本文中,介绍了Spring事务的核心组件、传播行为的源码实现。下一篇中,我们将结合案例,来讲解实战中有关事务的易…...
JVM预热
阿里电商平台每年的各种大促活动,对于Java技术来说,其中重要一个操作环节就是预热操作。 目录 预热是什么?为什么要预热? java 程序不预热和预热的调用对比 预热是什么? 预热是指,在 JVM 启动后࿰…...
基于flask+vue框架的的医院预约挂号系统i1616(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
系统程序文件列表 项目功能:用户,医生,科室信息,就诊信息,医院概况,挂号信息,诊断信息,取消挂号 开题报告内容 基于FlaskVue框架的医院预约挂号系统开题报告 一、研究背景与意义 随着医疗技术的不断进步和人们健康意识的日益增强,医院就诊量逐年增加。传统的现场…...
DeepSeek掘金——SpringBoot 调用 DeepSeek API 快速实现应用开发
Spring Boot 实现 DeepSeek API 调用 1. 项目依赖 在 pom.xml 中添加以下依赖: <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></dependency>&l…...
easelog(1)基础C++日志功能实现
EaseLog(1)基础C日志功能实现 Author: Once Day Date: 2025年2月22日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 注:本简易日志组件代码实现参考了Google …...
epoll_event的概念和使用案例
epoll_event 是 Linux 下 epoll I/O 多路复用机制的核心数据结构,用于描述文件描述符(File Descriptor, FD)上发生的事件及其关联的用户数据。通过 epoll,可以高效地监控多个文件描述符的状态变化(如可读、可写、错误等…...
Leetcode2506:统计相似字符串对的数目
题目描述: 给你一个下标从 0 开始的字符串数组 words 。 如果两个字符串由相同的字符组成,则认为这两个字符串 相似 。 例如,"abca" 和 "cba" 相似,因为它们都由字符 a、b、c 组成。然而,"…...
蓝桥月赛 之 26场
文章目录 好汤圆灯笼猜谜元宵分配摆放汤圆 好汤圆 好汤圆 思路分析:由于2025能够被15整除,所以我们直接输出对应的答案即可 import os import sys# 请在此输入您的代码print(2025//15)灯笼猜谜 灯笼猜谜 思路分析:首先呢,我就考…...
机器学习面试八股文——决战金三银四
大家好,这里是好评笔记,公主 号:Goodnote,专栏文章私信限时Free。本笔记的任务是解读机器学习实践/面试过程中可能会用到的知识点,内容通俗易懂,入门、实习和校招轻松搞定。 公主号合集地址 点击进入优惠地…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
