首页 > 开源 > YuanQi(UIEIP)低代码平台 v1.0 开源:一个 Go 单文件,装下建模、表单、权限、流程与 AI 知识库(MIT)

YuanQi(UIEIP)低代码平台 v1.0 开源:一个 Go 单文件,装下建模、表单、权限、流程与 AI 知识库(MIT)

OSChina资讯 2026-11-10 20:25 2 阅读 查看原文

做企业后台这些年,最耗人的从来不是业务逻辑本身。

  • 一个能用的后台管理系统,业务代码通常只占 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 知识库向量库)

三、核心能力

能力

说明

数据引擎(建模)

实体、字段、枚举、外键、关系图建模,自动生成表与通用接口;支持树形、排序、视图、表内文件

表单引擎

  • 20+ 字段/复合组件:文本、下拉、外键、表格、树、属性、文件、HTML、Markdown、CSV、函数等

权限引擎

组织、部门、岗位、人员、角色、菜单、操作标识,控制 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)

六、边界说明(重要,请先读这一段)

  • 开源社区最不缺的就是"什么都行"的介绍,这里把话说清楚:

  1. v1.0 只发布 Windows x64 运行包,数据库是 SQLite。Linux / macOS、PostgreSQL / KingbaseES 等属于正式版能力,不在这份开源包里。

  2. 服务端脚本是 ES5.1,没有 ES6+ 的模块、Promise、箭头函数。这是刻意的取舍(老代码兼容 + 引擎轻量),写业务前需要知道。

  3. GoJS、TinyMCE 等组件需要商业授权,由使用者自行向权利人申请购买,项目不代为申请也不承担费用。其余第三方组件(Vue、Element Plus、ECharts、D3、Marked 等)遵循各自许可证。

  4. 开源包定位是学习体验、原型验证、中小企业轻量应用;生产环境、国产化环境、多数据库属于正式版,按授权提供。

  5. v1.0 只提供社区支持,没有 SLA。默认账号 spring / uieip.123 首次部署后请立即修改;config.json 里的示例密钥仅用于本地演示,不能进生产。

  6. 微信登录、短信、邮件、大模型与 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,一起把它改得更好用。