做企业后台这些年,最耗人的从来不是业务逻辑本身。
-
一个能用的后台管理系统,业务代码通常只占 20%,剩下 80% 全是公共设施:数据表怎么建模、表单怎么做校验和联动、RBAC 怎么拼、数据范围和按钮权限怎么控、审批流怎么接、统一登录怎么对接 OAuth2/OIDC/CAS/LDAP、门户和知识库是不是还得再搭一套。每开一个新项目,这套东西就要重新来一遍;用现成脚手架,要么捆绑一堆用不上的中间件,要么版本陈旧、二次改造成本比自研还高。
-
YuanQi(UIEIP 远齐低代码开发平台)就是为解决这件事开源的:把上面这些公共设施做成平台能力,业务侧只写模型 + 页面 + 服务端 JavaScript。 项目以 MIT 协议开源,v1.0 发布于 2026-10-06,主仓库在 Gitee。
一、项目定位
-
一句话:一个 Go 单文件,把「数据建模 + 表单 + 权限 + 流程 + 门户 + AI 知识库」全装进去,不用再拼四五个中间件才能凑出一个能用的企业后台。
-
它不是又一个"带登录和 CRUD 的后台模板",差别在平台层:数据引擎、表单引擎、权限引擎、流程引擎、单点登录、门户 CMS、知识库问答都是内置能力,而不是留给使用者自己接线。
|
你原本要做的 |
在 YuanQi 里 |
|---|---|
|
设计表结构、写建表 SQL、写 CRUD 接口 |
可视化建模,自动生成表与通用增删改查接口 |
|
手写表单校验、联动、外键下拉 |
20+ 内置字段组件,模板或拖拽搭建 |
|
自己拼 RBAC、数据范围、按钮权限 |
组织/部门/岗位/人员/角色/菜单/操作标识多层权限 |
|
接入或自研审批流 |
可视化流程设计器 + 会签/或签/比例通过/退回/代审 |
|
对接 OAuth2 / OIDC / CAS / LDAP |
内置统一认证中心与兼容协议 |
|
另外搭官网和知识库 |
内置门户 CMS 与 AI 知识库(DeepSeek / Ollama + Milvus) |
二、技术架构
┌──────────────────────────────────────────────────────────┐
│ 浏览器 / 移动端 │
│ YQWIN-Plus(Vue3 + TypeScript + Element Plus)/ HTML │
└───────────────────────────┬──────────────────────────────┘
│ HTTP / JSON / 文件请求
┌───────────────────────────▼──────────────────────────────┐
│ uieip 服务(Go 单文件可执行) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 路由/静态 │ │ 模板与脚本│ │ 数据引擎 │ │ 权限/SSO │ │
│ │ 服务 │ │ 引擎(ES5.1)│ │ 通用接口 │ │ 引擎 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 文件服务 │ │ 流程引擎 │ │ 缓存/会话 │ │ 日志/监控 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└───────────┬───────────────────────────────┬──────────────┘
│ │
┌─────────────────────┐ ┌────────────────┐
│ SQLite(本包) │ │ 本地文件柜 │
│ data/yqbase.sqlite │ │ files/ │
└─────────────────────┘ └────────────────┘
-
技术栈本身没什么花活,重点在「收敛」:
-
服务端:Golang,单文件发布,无外部运行时依赖,不用装 Go、Node.js、数据库、Web 服务器
-
脚本层:服务端 JavaScript(ECMAScript 5.1),页面里
<script runat="server">直接执行,内置request/response/http/data/session/cache/resource等对象 -
前端:YQWIN-Plus(Vue 3 + TypeScript + Element Plus)自有组件库,含表单、数据表格、树、弹窗、图表(ECharts / D3 / GoJS)、看板、甘特图
-
存储:本发布包为 SQLite;正式版支持 PostgreSQL、KingbaseES 等
-
可选组件:Redis(缓存/会话)、NSQ(消息队列)、Nginx(生产反代)、Milvus(AI 知识库向量库)
三、核心能力
|
能力 |
说明 |
|---|---|
|
数据引擎(建模) |
实体、字段、枚举、外键、关系图建模,自动生成表与通用接口;支持树形、排序、视图、表内文件 |
|
表单引擎 |
|
|
权限引擎 |
组织、部门、岗位、人员、角色、菜单、操作标识,控制 UI 入口、数据范围与业务操作 |
|
流程引擎 |
开始/退回/执行/判断/程序/结束/取消/注释节点;会签、或签、比例通过、代审、待办已办 |
|
单点登录 |
OAuth2、OIDC、CAS 2.0、SAML2、LDAP、远齐 SSO 兼容协议、微信登录 |
|
门户 / CMS |
站点、栏目、导航、文章、模板管理,访问/点赞/收藏/评论统计 |
|
知识库与 AI |
接入 DeepSeek、Ollama 等模型,Milvus 向量库,火山引擎/Ollama Embedding,问答结合业务数据 |
|
文件服务 |
数据库存储与本地文件柜,图片缩放、裁剪、水印、分片上传、文件指纹 |
|
运维管理 |
缓存、系统监控、统计、DNS、Nginx、NSQ、参数等管理能力 |
四、三行跑起来
-
Windows 10/11 或 Windows Server(x64),无需任何额外依赖:
git clone https://gitee.com/uieip/yuanqi-open.git D:\Spring\yuanqi-open
cd D:\Spring\yuanqi-open; .\uieip-windows.exe
start http://127.0.0.1:8011/adp/ # 账号 spring / 密码 uieip.123
⚠️ 路径必须是 D:\Spring\yuanqi-open:随包 config.json 使用绝对路径,换目录需先改 webpath、db.yqbase.connStr 等配置。也可以直接下载 Release 压缩包,解压后双击 uieip-windows.exe。
|
入口 |
地址 |
|---|---|
|
管理后台 |
http://127.0.0.1:8011/adp/ |
|
站点首页 |
http://127.0.0.1:8011/ |
|
组件库示例 |
http://127.0.0.1:8011/yqvue/ |
五、目录结构
yuanqi-open/
├─ uieip-windows.exe # Windows x64 服务主程序(单文件)
├─ config.json # 主配置(端口、站点、数据库、日志、AI、SSO)
├─ yqdns.json # 内置 DNS 服务配置
├─ data/yqbase.sqlite # 系统数据库(模型、菜单、用户、权限、流程、CMS)
├─ files/ # 文件柜:元数据 + 按年月归档的文件
└─ web/ # 站点根目录
├─ adp/ # 管理后台
├─ api/ # API 接口(请求 .json,程序为同名 .html)
├─ cms/ # 门户模板与页面
├─ login/ account/ # 登录、个人中心
├─ yqvue/ # YQWIN-Plus 组件库与示例
├─ svrfunc/ # 服务端功能程序
└─ document/ # 产品与开发文档(Markdown)
六、边界说明(重要,请先读这一段)
-
开源社区最不缺的就是"什么都行"的介绍,这里把话说清楚:
-
v1.0 只发布 Windows x64 运行包,数据库是 SQLite。Linux / macOS、PostgreSQL / KingbaseES 等属于正式版能力,不在这份开源包里。
-
服务端脚本是 ES5.1,没有 ES6+ 的模块、Promise、箭头函数。这是刻意的取舍(老代码兼容 + 引擎轻量),写业务前需要知道。
-
GoJS、TinyMCE 等组件需要商业授权,由使用者自行向权利人申请购买,项目不代为申请也不承担费用。其余第三方组件(Vue、Element Plus、ECharts、D3、Marked 等)遵循各自许可证。
-
开源包定位是学习体验、原型验证、中小企业轻量应用;生产环境、国产化环境、多数据库属于正式版,按授权提供。
-
v1.0 只提供社区支持,没有 SLA。默认账号
spring / uieip.123首次部署后请立即修改;config.json里的示例密钥仅用于本地演示,不能进生产。 -
微信登录、短信、邮件、大模型与 Embedding、Milvus、对象存储等第三方服务,都需要自行注册开通并承担费用与合规责任。
七、开源信息
-
许可证:MIT,可免费用于商业项目
-
仓库:Gitee 主仓库 https://gitee.com/uieip/yuanqi-open ,GitHub 镜像 https://github.com/uieip/yuanqi-open (Issue、PR、发行版在 Gitee 维护)
-
文档:仓库
docs/基于 MkDocs,pip install -r requirements-docs.txt && mkdocs serve本地预览;发布包内详细文档在web/document/ -
参与共建:欢迎 Issue、文档修订、模板与组件贡献。提问时请附操作系统版本、
config.json中脱敏后的相关配置、控制台日志,能省掉大量来回 -
官网:http://www.uieip.com/
八、写在最后
-
这套东西是我自己业务实践里沉淀出来的,取舍偏保守:宁可少几个炫技特性,也要保证"解压就能跑、业务侧只写模型和页面"。它当然不解决所有问题——单机 SQLite、Windows 限定、ES5 脚本,这些都写在上面了。如果你正在评估国内轻量低代码方案,或者想看看"Go 单文件 + 内置引擎"这条路能走多远,欢迎拉下来跑一遍,问题提到 Issues,一起把它改得更好用。