多模型统一接入 + 智能体编排 + 真 SSE 流式,这个开源的 AI 网关全干了
AI Gateway Pro — 企业级多模型 AI 智能网关统一接入、技能编排、熔断降级、开箱即用一个能把多个 AI 模型厂商OpenAI、豆包、Claude…统一管起来的网关平台带智能体搭建、技能编排、SSE 真流式对话、熔断降级链100% 开源。一、项目简介AI Gateway Pro 是一套企业级 AI 智能网关平台解决的是这么一个痛点公司内部接了好几个 AI 模型厂商每个厂商的 API 格式都不一样接入成本高、切换麻烦、出了问题也没有统一兜底方案。这个项目把 OpenAI、豆包DouBao、Claude 等多个模型厂商统一封装成一套标准接口上层业务只需要关注「用哪个智能体」不用关心背后的模型是谁、API 怎么调、挂了怎么办。项目地址https://gitee.com/happy-youth/ai-gateway-pro技术栈维度技术选型后端框架Spring Boot 4.0.3 Maven 多模块权限安全Spring Security JWT 无状态认证持久层MyBatis 4.0 MySQL 8.0缓存Redis 6.x令牌缓存 / 限流 / 熔断状态前端框架Vue 3 Element Plus Pinia Vite 6流式通信SSEServer-Sent Events真流式非轮询构建工具Maven 3.6 / npm语言Java 17二、能解决什么问题多模型统一接入— 对接一个网关等于对接了 OpenAI、豆包、Claude 等所有模型厂商切换模型不需要改业务代码智能体搭建— 可视化创建 AI 智能体配置 MCP 意图识别、技能工具、兜底回复、收口总结零代码搭建业务 AI 助手技能编排— 支持代码技能、SQL 动态查询、HTTP 外部调用三种技能类型可自由组合带错误隔离熔断降级— 主模型挂了自动切到备用模型支持自定义降级链全部挂掉还有最终友好兜底真 SSE 流式输出— 打字机效果的逐 token 实时推送不是假分块支持深度思考内容流式展示全链路监控— 模型调用统计、技能执行统计、降级日志、Token 用量、用户活跃度一张图看清所有三、核心架构3.1 后端模块架构ai-gateway/ ├── gateway-admin # 管理端入口Controller、拦截器、Swagger、Spring Boot 启动类 ├── gateway-system # 核心业务AI 对话流程、技能编排、MCP 意图识别、熔断降级、统计服务 ├── gateway-framework # 底层支撑Spring Security JWT、Redis 缓存、全局异常处理 ├── gateway-common # 通用工具基础实体、XSS 过滤、Redis/字符串工具类 ├── gateway-quartz # 定时任务cron 表达式调度 └── gateway-generator # 代码生成Velocity 模板自动生成 CRUD模块依赖链admin → system → framework → common3.2 AI 对话流水线用户发送消息后经过一条五步流水线处理用户消息 │ ▼ ┌─────────────────┐ │ 1. 参数验证 │ 校验必填参数加载 Agent 配置 └────────┬────────┘ ▼ ┌─────────────────┐ │ 2. MCP 意图识别 │ LLM 理解用户意图判断是否调用技能提取参数 └────────┬────────┘ ▼ ┌─────────────────┐ │ 3. 参数合并 │ 用户入参 MCP 提取参数 → 合并上下文 └────────┬────────┘ ▼ ┌────┴────┐ │ 需技能 │ └────┬────┘ 是 │ 否 ▼ │ ▼ ┌──────┐│┌──────────────┐ │4a.技能│││4b.兜底回复 │ │ 编排 │││ DefaultProcessor │ Skill │││ 直接用 LLM 回答 │ Exec. ││└──────┬───────┘ └──┬───┘│ │ ▼ │ │ ┌──────┐│ │ │5.收口 ││ │ │总结 │◄───────┘ │Summary│ 所有结果汇总成自然语言回复 │Processor│ └──┬───┘ ▼ 返回用户每一层MCP / 兜底 / 收口都独立走降级链主模型失败 → 自动切降级模型1 → 降级模型2 → … → 全部失败则返回友好提示。3.3 模型厂商策略模式所有模型厂商通过ModelVendorStrategy接口统一适配ModelVendorStrategy (接口) ├── AbstractModelVendorStrategy (抽象基类共享 HTTP/SSE 逻辑) │ ├── OpenAiModelStrategy — OpenAI 兼容 API │ ├── DouBaoModelStrategy — 豆包大模型 │ └── ClaudeModelStrategy — Claude API │ ModelVendorStrategyFactory — 根据 vendorCode 自动路由到对应策略新增一个模型厂商只需要实现接口不改任何业务代码。3.4 熔断降级机制用户请求 │ ▼ ┌──────────────────────────────────────┐ │ ModelFallbackService │ │ │ │ 模型链: [主模型, 降级1, 降级2, ...] │ │ │ │ │ ▼ │ │ ┌──────────┐ 已熔断 │ │ │CircuitBreaker│ ────是──→ 跳过 │ │ │ Service │ │ │ └────┬─────┘ 否 │ │ ▼ │ │ 调用 LLM ──失败──→ 记录失败次数 │ │ │ │ │ │ 成功 达到阈值 │ │ │ │ │ │ ▼ ▼ │ │ 返回结果 熔断打开 冷却 │ │ │ │ │ ▼ │ │ 尝试下一个模型 │ │ │ │ 全部失败 → 抱歉服务暂不可用 │ └──────────────────────────────────────┘四、数据库设计核心 AI 业务共15 张表表名说明ai_agent智能体配置名称、系统提示词、排序ai_agent_default兜底回复配置绑模型、提示词、降级链ai_agent_param动态参数必填校验、默认值、来源类型ai_agent_summary收口总结配置绑模型、提示词、降级链ai_mcpMCP 意图识别配置绑模型、提示词、降级链ai_model_info模型信息厂商、模型编码、上下文大小、熔断参数ai_model_vendor模型厂商API 地址、密钥、状态ai_skill技能工具代码/SQL/HTTP、超时、中断配置ai_prompt_history提示词版本历史变更记录、新旧对比ai_model_fallback_log降级日志哪个模型挂了、切到哪个、耗时ai_stats_model_daily模型调用日统计Token 用量、成功/失败次数ai_stats_skill_daily技能调用日统计ai_stats_user_daily用户活跃日统计chat_conversation会话管理chat_message消息记录含深度思考内容、Token 用量、执行耗时五、前端页面一览页面路由功能智能体管理/ai/agent创建/编辑智能体配置 MCP、技能、兜底、收口AI 对话/ai/chatSSE 流式聊天深度思考展示对话历史模型厂商/ai/modelVendor管理 OpenAI、豆包、Claude 等厂商接入模型信息/ai/modelInfo管理模型实时熔断状态展示是否熔断、剩余冷却时间MCP 配置/ai/mcp意图识别提示词、降级链配置技能管理/ai/skill代码/SQL/HTTP 三种技能类型含提示词和执行配置提示词历史/ai/promptHistory提示词版本追溯与对比降级日志/ai/fallbackLog模型降级记录查询统计看板/ai/fallbackStats调用统计与图表六、快速开始环境要求JDK 17MySQL 8.0Redis 6.0Maven 3.6Node.js 181. 初始化数据库mysql-uroot-pai-gateway/sql/ai_gateway_pro.sql mysql-uroot-pai-gateway/sql/quartz.sql2. 配置环境变量exportJWT_SECRET$(openssl rand-base6464)exportDB_PASSWORDyour_db_passwordexportREDIS_PASSWORDyour_redis_passwordexportDRUID_PASSWORDyour_druid_monitor_password3. 启动后端cdai-gateway mvn cleaninstall-DskipTestsmvn spring-boot:run-plgateway-admin访问 http://localhost:8080默认账号admin / admin1234. 启动前端cdai-gateway-vuenpminstallnpmrun dev5. 配置模型厂商登录后台 → 模型厂商管理 → 新增厂商如 OpenAI填写 API 地址和密钥 → 模型信息管理 → 新增模型 → 创建智能体 → 开始对话七、项目亮点1. 真正的 SSE 流式输出不是网上那种Thread.sleep(50)假分块。所有流式接口使用RestTemplate.execute()ResponseExtractorBufferedReader.readLine()逐行解析 SSE 事件流实现了逐 token 级别的实时打字机效果同时兼容 OpenAI 格式和豆包原生 Response API 格式。2. 深度思考实时可见在流式输出中模型推理过程reasoning_content会在正文输出前实时推送到前端支持豆包原生reasoning_text.delta事件和 OpenAI 兼容格式的reasoning_content字段。3. 完善的三层降级链MCP 层、兜底层、收口层各自独立配置主模型和降级模型链任何一层调用失败都会自动切到下一个模型。三层之间互不干扰即使 MCP 层和收口层同时挂了也能各自降级。4. 熔断状态实时可视化模型管理列表中直接展示每个模型的实时熔断状态是否已熔断、剩余冷却秒数管理员无需查日志就知道哪些模型当前不可用。5. 零代码创建技能支持三种技能类型代码技能Type 1实现SkillCodeExecutor接口标注Service(方法名)自动注册SQL 技能Type 2配置 SQL 模板支持#{paramName}占位符动态替换HTTP 技能Type 3配置外部 API 地址自动解析 JSON 响应6. 安全加固所有 API Key 在toString()中自动掩码只显示后 4 位HTTP 请求/响应体日志级别为 DEBUG生产环境不会泄露敏感内容JWT Secret 必须通过环境变量注入启动时校验长度 ≥ 64 字节XSS 过滤器覆盖/ai/**所有 AI 接口7. 完整的对话记录每条消息记录包含对话内容 深度思考过程使用的模型厂商和模型编码输入 / 输出 / 总 Token 消耗执行耗时调用的技能列表MCP 意图识别结果八、技能示例代码技能 — 天气查询Service(weatherQuery)publicclassWeatherQueryExecutorimplementsSkillCodeExecutor{OverridepublicStringexecute(MapString,Objectparams){Stringcity(String)params.get(city);// 调用天气 API 或查询数据库return城市city天气晴温度25°C;}}在技能管理中配置方法名为weatherQuery即可在智能体对话中自动调用。SQL 技能 — 订单查询SELECTorder_id,product_name,amount,statusFROMordersWHEREuser_id#{userId}ANDcreate_time#{startDate}ORDERBYcreate_timeDESCLIMIT10配置 SQL 模板后对话中 MCP 提取参数userId和startDate自动替换执行并返回结果。九、开源协议本项目基于MIT 协议开源可自由使用、修改、商用。欢迎 Star、Fork、PR项目地址https://gitee.com/happy-youth/ai-gateway-pro项目配图十、技术交流欢迎提 Issue 或 PR 参与共建也欢迎在评论区交流 AI 网关相关的技术话题。如果你觉得这个项目有用帮忙点个 Star ⭐感谢支持

相关新闻

AI模型选错=项目延期3个月?资深AI架构师披露开发适配性评估四维矩阵(精度/时延/量化支持/文档完备度)

AI模型选错=项目延期3个月?资深AI架构师披露开发适配性评估四维矩阵(精度/时延/量化支持/文档完备度)

更多请点击: https://kaifayun.com 第一章:AI模型选错项目延期3个月?资深AI架构师披露开发适配性评估四维矩阵(精度/时延/量化支持/文档完备度) 选型失误是AI落地中最隐蔽却最具破坏性的风险。某智能质检项目因选用未…

2026/7/23 18:25:32 阅读更多 →
【性能测试】Jmeter录制脚本及服务器资源监控教程

【性能测试】Jmeter录制脚本及服务器资源监控教程

Jmeter录制测试脚本 windows电脑设置 jmeter/bin文件夹中jmeter的安全证书 谷歌浏览器->隐私与安全->管理证书->上传jmeter安全证书 电脑->设置->代理 Jmeter录制配置 测试计划->非测试元件->Http(s)测试脚本记录器-> 打开windows代理&#xf…

2026/7/23 18:25:32 阅读更多 →
嵌入式USB设备开发实战:从描述符构建到事件回调处理

嵌入式USB设备开发实战:从描述符构建到事件回调处理

1. USB设备开发:从协议栈到应用层如果你正在开发一个嵌入式USB设备,无论是自定义的HID设备、音频设备,还是大容量存储设备,最终都绕不开与USB协议栈的深度交互。USB协议本身很复杂,但幸运的是,成熟的MCU厂商…

2026/7/23 18:24:32 阅读更多 →

最新新闻

LangChain Memory 记忆系统:让AI记住对话的上下文

LangChain Memory 记忆系统:让AI记住对话的上下文

1. 引言 在传统的对话式AI应用中,模型通常将每次用户输入视为独立的请求,这导致了一个核心问题:模型无法记住之前的对话内容。想象一下,你告诉AI助手“我喜欢科幻小说”,在下一轮对话中问它“有什么推荐吗?…

2026/7/23 18:39:37 阅读更多 →
【免费下载】 将斐讯N1盒子变身强大软路由:OpenWrt刷机教程推荐

【免费下载】 将斐讯N1盒子变身强大软路由:OpenWrt刷机教程推荐

将斐讯N1盒子变身强大软路由:OpenWrt刷机教程推荐 【下载地址】N1刷Openwrt教程 N1刷Openwrt教程本仓库提供了一个详细的教程,帮助用户将斐讯N1盒子刷入OpenWrt系统 项目地址: https://gitcode.com/Resource-Bundle-Collection/8da57 项目介绍 你…

2026/7/23 18:39:37 阅读更多 →
实测盘点市面上口碑出众的GEO搜索AI工具,精准高效实用性强

实测盘点市面上口碑出众的GEO搜索AI工具,精准高效实用性强

2026年AI生成式搜索已成为品牌获客的核心入口,GEO(生成式引擎优化)工具也随之成为企业布局AI流量的刚需。但市面上工具鱼龙混杂,不少伪GEO服务仍在消耗企业预算。结合行业实测数据与用户口碑,以下4款工具精准高效、实用…

2026/7/23 18:39:37 阅读更多 →
太原助听器对比选购

太原助听器对比选购

随着听力健康意识的提升,越来越多太原市民开始关注助听器的选配问题。面对市场上琳琅满目的品牌与产品,如何结合自身情况做出明智决策,成为不少听障人士及家属关心的核心议题。本文将从专业服务、产品品质、售后保障等维度,为太原…

2026/7/23 18:39:37 阅读更多 →
Ambari-2.7.4和HDP-3.1.4安装(附Ambari和HDP安装包)

Ambari-2.7.4和HDP-3.1.4安装(附Ambari和HDP安装包)

1.、环境及软件准备 Ambari-2.7.4和HDP-3.1.4下载 ,提取码:3rwq 环境:CentOS7(我这里使用的是CentOS7.9版本)、三台虚拟机,单节点内存13GB、存储80GB 软件:mysql5.7+、jdk8、ambari-2.7.4.0-centos7.tar.gz、HDP-3.1.4.0-centos7-rpm.tar.gz、HDP-UTILS-1.1.0.22-centos7…

2026/7/23 18:39:37 阅读更多 →
【3D Max】保姆级教程:3D Max 2026 版详细图文安装指南 专业三维设计软件下载部署

【3D Max】保姆级教程:3D Max 2026 版详细图文安装指南 专业三维设计软件下载部署

软件概述 Autodesk 3ds Max 是业界领先的三维建模、动画和渲染解决方案,广泛应用于建筑可视化、游戏开发、影视特效及产品设计等领域。2026版本在原有功能基础上进行了多项优化,为专业设计师提供更高效的工作流程。 核心功能特性 建模系统 多边形建模&a…

2026/7/23 18:38:36 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻