OmniRoute技术栈鸟瞰:Next.js+open-sse如何撑起450+贡献者的免费AI网关

发布时间:2026/8/29 22:41:03

OmniRoute技术栈鸟瞰:Next.js+open-sse如何撑起450+贡献者的免费AI网关
OmniRoute技术栈鸟瞰Next.jsopen-sse如何撑起450贡献者的免费AI网关【免费下载链接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 350 providers (90 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 450 contributors项目地址: https://gitcode.com/GitHub_Trending/om/OmniRouteOmniRoute 是一个基于 Next.js 16 与 open-sse 流式路由引擎构建的免费开源 AI 网关单端点聚合 350 供应商、1200 模型并配套管理仪表盘与桌面端。这篇文章带你鸟瞰它的技术栈全景从 Web 框架、数据存储到质量门禁看这套组合如何支撑 450 贡献者的持续协作。完整技术栈一览先给结论OmniRoute 的技术选型非常务实——全部围绕一个 Node.js 进程同时跑 API 网关 Web 仪表盘这个目标展开。关注点选型Web 框架Next.js 16App Routerstandalone 输出UIReact 19 Tailwind CSS 4 Recharts 图表语言TypeScript 6.0ESM 全模块制运行时Node.js ≥22.22.2 或 ≥24数据库SQLitebetter-sqlite3WAL 日志模式桌面端Electron 41 electron-builder测试Node 原生 test runner Vitest Playwright构建Next.js standalone脚本 scripts/build/build-next-isolated.mjs官方文档 docs/architecture/CODEBASE_DOCUMENTATION.md 中有最权威的完整版本建议对照阅读。第一层Next.js 16 如何当 AI 网关的底座很多人以为 Next.js 只能做网站但 OmniRoute 把它用成了网关 后台 前端三合一API 网关层src/app/api/v1/下是 OpenAI 兼容的公开接口chat、completions、embeddings、images、audio 等约 25 个子路由Claude Code、Codex、Cursor、Cline、Copilot 只需把 base URL 指向这里管理 API 层src/app/api/下还有约 60 个管理目录providers、combos、settings、mcp、a2a、resilience 等供仪表盘调用仪表盘 UIsrc/app/(dashboard)/dashboard/下有约 35 个页面覆盖供应商管理、Combo 回退链、用量分析、健康状态等无全局中间件拦截逻辑按路由逐个做配合src/server/authz/的 classify → policies → enforce 三级授权管道鉴权链路清晰可控。关键入口文件包括兼容接口总入口src/sse/handlers/chat.ts管理 API 与页面src/app/api/、src/app/(dashboard)/dashboard/授权管道src/server/authz/Next.js 构建配置next.config.mjs这套结构的妙处在于API 与仪表盘共享同一进程、同一数据库没有额外部署组件一条命令即可跑起来。第二层open-sse 流式路由引擎如果说 Next.js 是门面那么 open-sse 工作区就是整个 AI 网关的心脏。它是一个独立的 npm workspace包名 omniroute/open-sse目录分工非常明确目录职责open-sse/config/340 个供应商配置与模型目录open-sse/executors/178 个供应商执行器OAuth/API Key 各家协议open-sse/handlers/160 个处理器chat、embeddings、imageGeneration 等open-sse/translator/请求/响应格式翻译统一各供应商协议差异open-sse/services/账号选择、限流、熔断、压缩、会话等 600 业务模块open-sse/mcp-server/内嵌 MCP 服务器请求的完整链路是Next.js 路由接收请求 →open-sse/handlers/chatCore.ts编排 → translator 把 OpenAI 格式翻译成目标供应商格式 → 对应 executor 发请求 → 以 SSE 流式回传并实时翻译回来期间穿插配额预检、账号回退、熔断与用量统计。总出口定义在 open-sse/index.ts 中翻译器注册、格式检测、Token 刷新、账号回退等能力都从这里导出。第三层SQLite 领域层的可靠状态管理网关的记忆全部落在本地 SQLite95 个数据模块、148 个迁移文件位于src/lib/db/。在此之上src/domain/是一层纯领域逻辑策略引擎policyEngine、回退策略fallbackPolicy、成本规则costRules、锁定策略lockoutPolicy、Combo 解析器comboResolver。把策略从流程代码中剥离让锁定期 → 预算 → 回退的决策可以独立测试这也是 450 贡献者敢放心改动路由逻辑的原因。质量门禁多贡献者协作的秘密武器一个 450 贡献者参与的仓库最怕的是改一处坏十处。OmniRoute 的答案是 scripts/check/ 下的 70 个自动化检查脚本 config/quality/ 下的质量基线典型包括循环依赖检查check-cycles.mjs、check-circular-deps.mjs文件大小与重复度基线check-file-size.mjs、check-duplication.mjs文档一致性check-docs-sync.mjs、check-openapi-routes.mjs保证文档、OpenAPI 规范与代码同步复杂度棘轮只许降不许升防止代码腐化测试发现与变更测试策略check-test-discovery.mjs、check-pr-test-policy.mjs配合 Husky 的 pre-commit 钩子ESLint Prettier这些门禁在每次提交时自动生效。协作细节可参考 CONTRIBUTING.md 与 docs/architecture/QUALITY_GATES.md。快速上手三步跑起来git clone https://gitcode.com/GitHub_Trending/om/OmniRoute cd OmniRoute npm install npm run dev启动后 API 与仪表盘共用端口20128默认数据目录为~/.omniroute/。在仪表盘的 Providers 页面添加供应商支持 22 个 OAuth 模块一键登录再到 Combos 页面配置回退链即可让 Claude Code 等工具通过单端点访问全部模型。关键资料索引资料路径架构总览docs/architecture/ARCHITECTURE.md技术栈与目录说明docs/architecture/CODEBASE_DOCUMENTATION.md仓库目录地图docs/architecture/REPOSITORY_MAP.md路由引擎出口open-sse/index.ts核心编排逻辑open-sse/handlers/chatCore.ts质量门禁文档docs/architecture/QUALITY_GATES.md贡献指南CONTRIBUTING.md小结OmniRoute 的技术栈并不追求新潮Next.js 16 一人分饰 API、仪表盘与 CLI 三役open-sse 用 178 个执行器 翻译器撑起多供应商路由SQLite 领域层保证状态可靠70 质量门禁脚本托住大规模协作。想深入某一块从 docs/architecture/ 目录切入是最短路径。【免费下载链接】OmniRouteNever stop coding. Free MIT AI gateway: one endpoint, 350 providers (90 free), 1200 models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline Copilot. Quota-aware auto-fallback, RTKCaveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 450 contributors项目地址: https://gitcode.com/GitHub_Trending/om/OmniRoute创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

vLLM 依赖管理:从 20 个文件到 1 个 requirements 的正确选择路径

vLLM 依赖管理:从 20 个文件到 1 个 requirements 的正确选择路径

2026/8/29 22:41:03

vLLM 依赖管理:从 20 个文件到 1 个 requirements 的正确选择路径 【免费下载链接】vllm A high-throughput and memory-efficient inference and serving engine for LLMs 项目地址: https://gitcode.com/GitHub_Trending/vl/vllm 凌晨两点,新 A…

scrcpy 快速上手指南:免费投屏 + 远程控制 Android 设备

scrcpy 快速上手指南:免费投屏 + 远程控制 Android 设备

2026/8/29 22:41:03

scrcpy 快速上手指南:免费投屏 远程控制 Android 设备 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy scrcpy 是一款免费开源的 Android 投屏与控制工具:通过 USB …

Dify 快速上手指南:用工作流 + RAG 搭建智能工单客服系统

Dify 快速上手指南:用工作流 + RAG 搭建智能工单客服系统

2026/8/29 22:41:03

Dify 快速上手指南:用工作流 RAG 搭建智能工单客服系统 【免费下载链接】dify Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from protot…

Replit Free Mode与Routines:云端开发与AI流程自动化的新范式

Replit Free Mode与Routines:云端开发与AI流程自动化的新范式

2026/8/30 0:01:07

最近 Replit 的讨论热度很集中,主要是两个词:Free Mode 和 Routines。前者是面向免费用户的开发模式,后者是把 AI 协作流程固化成可重复执行步骤的功能。两个功能放在一起看,不是一个“省钱”加上一个“自动化”,而是同…

Matlab线性规划实战:从建模到灵敏度分析,掌握linprog核心应用

Matlab线性规划实战:从建模到灵敏度分析,掌握linprog核心应用

2026/8/30 0:01:07

1. 项目概述:从练习题到实战思维的跨越很多朋友一看到“Matlab 线性规划练习题”,可能第一反应就是翻开教材,对着例题敲几行代码,得到答案就完事了。我刚开始接触运筹学和Matlab的时候也是这么干的,但后来在实际项目中…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/30 0:01:07

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/30 0:01:07

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/8/30 0:01:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

小红书前端笔试复盘:JavaScript、React与手写代码全解析

小红书前端笔试复盘:JavaScript、React与手写代码全解析

2026/8/29 23:51:07

1. 笔试整体复盘:拿到卷子先别急着敲代码 这批笔试整体给我的印象是: 题目不偏、不怪,但覆盖面极广,且非常考验基础功底 。不像有些公司喜欢出冷门框架源码题,小红书的这套卷子更偏向“你平时写代码时到底有没有想过…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/8/30 0:01:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/30 0:01:07

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/30 0:01:07

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/8/30 0:01:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/30 0:01:07

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/30 0:01:07

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…