企业级 SQL to API 智能网关平台
企业级混合云智能网关,打破内网物理边界,编写 SQL 即可一键生成高可用 RESTful API,全面释放孤岛数据价值。
English | 简体中文
如果这个项目对你有帮助,请点击右上角 ⭐ Star 支持一下,这是对开发者最大的鼓励!
- 🛡️ 混合云架构: 发布全新的架构大版本。Gateway 现在可以无缝潜伏于深层内网,建立 gRPC 反向隧道通信,彻底告别公网 IP 和复杂的白名单配置。
- ⚙️ 多租户隔离: 上线 RBAC 体系(SuperAdmin / Admin / Viewer)。实现了多数据源、多项目的严格底层权限阻断。
- 📦 参数推断重构: 支持在 SQL 编写时动态识别
@变量,一键映射并暴露为标准的 HTTP 查询参数或 Body,极大提升了 API 生成的敏捷度。 - 📚 官网全线升级: owlapi.cn 官网焕新,全面适配企业级 UI 体验。
- ✅ 开箱即用:
make dev-up一键在本地拉起完整的全栈架构平台(Control Plane + Gateway + Database + Admin Console + Docs 共 6 大服务容器)。 - ✅ 物理级解耦: 采用 Control Plane 与 Gateway 分离的架构设计,确保核心控制面与数据流转层的独立安全。
- ✅ 全数据库兼容: 开箱支持 PostgreSQL、SQLite,并预留 MySQL、SQL Server、StarRocks、Doris 的 DSN 识别逻辑,跨越生态鸿沟统一查询数据。
- ✅ 边缘端就绪: 执行核心采用 Go 1.25 精心打造。极致的内存管控方案加上单一二进制打包,使其能完美运行在树莓派甚至路由器中。
- ✅ 企业友好型 UI: 前端控制台重构为 Next.js 16 APP Router 架构,结合 TailwindCSS 提供丝滑的桌面级管理体验。
🚧 截图正在准备中,敬请期待...
- 📝 API 可视化编排: 基于 SQL 的极速创建流程,支持自动推断 Query、Body 和 Path 参数。
- 👥 RBAC 权限网: 严密的超级管理员(SuperAdmin)、管理员(Admin)、查看者(Viewer)权能管理机制。
- 🌐 项目池隔离: 按职能、业务划分 Project。保证各个应用端点 API 与认证中心绝不交叉。
- 🚀 零侵入部署: 无需为数据库开辟防火墙公网口,Gateway 主动在内部拨号,主动安全拦截。
- ⚡ 超高并发承载: 充分利用 Go 语言 M:N 调度机制复用连接池,确保高密集 HTTP-to-SQL 的快速转换与发送。
- 🔒 会话密态化: Control Plane 只管控制报文,Gateway 进行密态流操作(包含查询与反序列化脱敏)。
- 核心框架: Go 1.25+, Gin (HTTP API)
- 通信枢纽: gRPC Server/Client (HTTP/2 反向长连接)
- 核心数据库: PostgreSQL (pgx driver)
- 权限与认证: JWT 体系分发校验
- 多数据库适配器: PostgreSQL、SQLite(已集成驱动),MySQL、SQL Server、StarRocks、Doris(DSN 识别已就绪,需自行引入驱动)
- 框架: Next.js 16 (App Router 模式)
- 语言: React 19 + TypeScript 5
- 视觉层: Tailwind CSS 4 + Framer Motion (精美动效)
- 包管理: pnpm / npm
owlapi/
├── backend/ # 🛡️ Go 语言核心后端(双引擎)
│ ├── cmd/
│ │ ├── server/ # Control Plane (管控中枢启动入口)
│ │ ├── gateway/ # Gateway (执行器启动入口)
│ │ └── init/ # 预设数据挂载工具
│ ├── internal/
│ │ ├── domain/ # 核心规约契约层
│ │ ├── service/ # 业务调度编排
│ │ ├── repo/postgres/ # DB 仓储实现
│ │ ├── transport/ # 通信报文边界 (Gin / gRPC)
│ │ └── gateway/ # ★ Gateway 底层网络引擎及生命周期
│ └── proto/ # gRPC Protobuf 描述文件
│
├── frontend/
│ ├── admin/ # 🎯 管理控制台 (Next.js, 8001)
│ ├── website/ # 🌐 官方 SaaS 网站 (Next.js, 8002)
│ └── docs/ # 📚 VitePress 文档中心 (8003)
│
├── deploy/ # 🚀 Docker Swarm / K8S 生产部署方案库
├── docker-compose.dev.yml # 一键拉起 6 大服务容器
└── Makefile # 项目管理与启动脚本 (自动化工具箱)
| 目录 | 职责与能力 | 技术基底 |
|---|---|---|
backend/cmd/server/ |
提供前端 UI 管理接口鉴权及接收客户端直接的外部 API Proxy | Go + Gin |
backend/cmd/gateway/ |
内网轻量级执行终端,解析执行由 gRPC 发来的 SQL Payload | Go + Database Drivers |
frontend/admin/ |
工程师操作面板,控制整个云原生多租户的生命链路 | Next.js 16 |
- Docker >= 20.10 & Docker Compose V2
- Make工具
- Go 环境 >= 1.25+ (如需本地原生编码)
- Node.js >= 20 (前端预编译依赖)
git clone https://github.com/bulolo/owlapi.git
cd owlapi适合在本地 Mac 或服务器快速体验架构,支持热变更与终端全量日志:
# 执行此宏指令即可拉取镜像并顺次排布网络与依赖启动
make dev-up服务将自动暴露于本地:
- 🎯 Admin 控制台: http://localhost:8001
(租户管理员: admin@owlapi.cn / admin123) - 📚 文档中心: http://localhost:8003
- � RESTful API 服务: http://localhost:3000
- �️ PostgreSQL: localhost:5433l
本项目根目录提供了 Makefile 工具,将冗长繁复的后端重新编译、容器重置等流程抽象为单指令操作。
| 命令 | 执行动作说明 |
|---|---|
make dev-up |
启动全栈:使用 docker-compose.dev 前台聚合式挂载所有服务,Ctrl+C 时保留数据。 |
make dev-down |
停止服务:中断所有的守护进程,不破坏任何已有的数据库配置及容器卷。 |
make dev-clean |
深度清算:将强行销毁所有数据卷(含 postgres_data)与环境实例( |
Tip
排障铁律: 陷入环境依赖纠纷时,使用 make dev-clean 并重新 make dev-up 可抹平 99.9% 的疑难杂症。
Q: 执行 SQL 时提示 Connection timeout / gRPC failed?
A: 请务必检查 Gateway 节点日志,确保它是否能连通你的实际内网数据库,并在其启动变量中设置了正确的 Control Plane IP。
Q: 想要扩展新的数据库适配器?
A: 请在 backend/internal/gateway/executor.go 中的 resolveDriver 函数添加 DSN 识别逻辑,并引入对应的数据库驱动包即可。
深入体验更高级的网关配置,你可以通过如下路径抵达相关领域:
- 📖 部署实战手册
- 🚀 RBAC 权限网解构
- 🔌 关于 REST API 调用的说明
- 🎯 隧道通讯规范:gRPC
本项目采用 OwlApi 开源许可证 (基于 Apache 2.0 改进)。在保留开源灵活性的同时,我们增加了必要的条款以保护项目品牌和商业权益。
- 个人/企业内部使用:完全免费,无需额外授权。
- 所有场景必须保留品牌:无论何种用途,均严禁移除或修改 UI、控制台及 API 响应头中的 "OwlApi" 标识或版权声明。
- 严禁未经授权的 SaaS 服务:未经 OwlApi 官方书面授权,禁止利用本项目源码提供营利性的多租户 SaaS 服务(如:提供在线 API 网关托管、SQL to API 订阅平台等)。
我们希望将核心技术贡献给开源社区,同时防止“去品牌化”的商业剽窃行为。如需商业授权或有合作意向,请联系官方:owlapi.cn。
详见 LICENSE 获取完整文本。
我们参考了业界优秀的开源商业授权模式,旨在提供比 AGPL-3.0 更灵活的企业友好性,同时通过限制多租户 SaaS 服务来确保项目的核心资产和品牌得到保护。
💬 问题反馈: GitHub Issues | 📧 商务合作: support@owlapi.cn / bulolo (微信) | 🌐 官方网站: owlapi.cn
扫码加入社区 (备注: OwlApi)
⭐ 如果这个项目对您有帮助,请给我们一个 Star!
Made with ❤️ by OwlApi Team