# 同讯AI+零代码平台
**Repository Path**: agile-bpm/tx-zcode
## Basic Information
- **Project Name**: 同讯AI+零代码平台
- **Description**: 面向AI时代的企业数字化底座!让业务人员也能完成系统开发。市场应用的 ERP、OA办公、公文收发、资产管理等应用 永久免费!提供企业级表单、流程设计能力、自动化流、触发器、连接器等自动化组件。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: Yes
## Statistics
- **Stars**: 6598
- **Forks**: 1119
- **Created**: 2018-05-25
- **Last Updated**: 2026-08-18
## Categories & Tags
**Categories**: workflow
**Tags**: None
## README
# 同讯零代码 面向AI时代的数字化底座
本产品面向海量B端市场,可以让不懂开发的人员,基于AI可控的生成零代码项目,并支持在线拖拽式二次开发,实现人机协同开发的模式。
产品永久免费,无用户数等限制,可以在企业内完全免费的私有化部署,并支持开发者二次高代码开发。
产品定位:业务人员**AI+零代码开发解决90%场景需求,复杂需求开发人员 本地AI+高代码兜底。** 90%日常简单需求,业务人员零代码可视化开发。10%复杂需求开发人员低代码增强,从简单到复杂渐进式递进,让业务人员与开发人员无缝协作,让零代码平滑升级至低代码开发。
产品迭代超过五年,研发投入上千万,在华润、联想、万科、电信等五百强企业有多年的生产验证,可靠性高。
我们开放了 **100% 零代码的功能,复杂需求您在本地高代码开发。**
**如需更轻松的低代码的在线开发能力、ETL数据流、BI报表大屏、AI工作流等数据分析处理能力,则选择商业版。**
商业版还提供 小时级的低代码增强开发、定制服务、IT运维等服务,欢迎咨询。
开源版可替代市面上大多商业化的零代码产品!我们目标让企业创新真正零成本落地,如果觉得产品不错可以考虑支持下团队,升级商业版。
---
## 🚀 核心特性
- **应用市场**:逐步上线官方免费应用:公文平台、OA办公、资产管理、客户关系、ERP 等(在 应用模版-已购买中 在线安装)
- **后端组件**:Maven 模块化管理、SOA架构模式,JDK17+、SpringBoot3.x、MyBatisPlus、Activiti7
- **前端组件**:Pnpm + Monorepo + Turbo工程管理模式,TypeScript、Vue3.x、Vite、ElementPlus
- **📋 列表应用** :包含分页列表、卡片 、画册、看板 、甘特图、日程、日历的视图,行编辑,行级列级数据权限,左树右列,列统计,函数虚拟列等诸多功能。
> 可通过零代码的方式构建管理列表页面,数据报表页面。用于增删改查、导入导出、出库入库、启用禁用、指派、发起流程等业务功能操作。
- **📝 表单** :50+常规控件、8+动态取数据控件、4个主子表功能插件。
> 提供非常完善的表单控件支持,可配置程度非常高,有通用表单控件需求,可以提工单。
- **🔀 流程** :办理节点、审批节点、抄送节点、分支节点、自动化节点、或签、会签投票、节点表单字段级权限、抄送、传阅、加签、驳回、人工终止、转办等诸多功能。
> 提供主流流程设计器以及商业级流程可配置能力,流程引擎一步到位。
- **⚙️ 自动化流** :支持 15种执行节点 循环、判断 、消息推送、SQL处理、增删改查、流程发起等节点类型。
> 用于API接口提供,业务逻辑扩展如排产、MPR等运算逻辑的编排,跨系统事件处理、预警通知等场景
- **🔔 触发器** :表单增删改事件 触发、列表应用 按钮 触发、流程事件 触发、定时 触发、系统事件 触发、API调用触发。
> 用于各种场景触发自动化流
- **🔗 集成能力** :跨系统auth2集成、企微、钉钉集成(免登、消息推送、用户组织同步)微前端集成、邮件、短信、等通知方式自定义扩展、百度OCR、阿里云、等对接配置。
> 用于已有系统以及第三方系统的集成整合
- **💎 PRO功能** :AI 工作流编排、ETL异步作业流、BPMN2.0流程设计、大屏多维交叉报表、Excel报表等。
> 开源版 提供全部零代码范畴功能以及高代码兜底的能力,商业版提供低代码增强能力以及大屏等数据分析处理场景的能力。

## AI 小智
- **面向用户端AI能力** :智能问答、智能填单(一句话办事)、智能问数、AI智能体(PRO)
- **面向开发者AI能力** :AI需求大师(0-1生成完整应用)、小智流程表单列表生成以及修改(基于需求文档资料生成流程表单等功能页面)、AI流程决策(PRO)
- **全面开放MCP的能力** (v6.3):用户可生成自己的 API-KEY,提供给小龙虾智能体等,代理用户操作业务系统
AI能力 需要在 [平台配置] - [系统配置] - [产品企业服务平台] 配置AI服务,默认设置仅临时试用,正式环境请务必申请专属 token。

## 系统界面
工作台
|
应用中心 |
系统配置 |
表单设计 |
流程设计 |
自动化流设计 |
表单页面 |
列表管理页面 |
卡片列表 |
## 操作文档
文档主页:https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa
- [快速上手零代码开发](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/dQPGYqjpJYmXZ5y3UZgYA2BMJakx1Z5N)
- [系统框架整合](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/o14dA3GK8gzEQ6PdsnYaAAm9J9ekBD76)
- 第三方 免登集成、卡片消息、用户组织同步:
[钉钉整合](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/mExel2BLV5yx9aOwSPyMkEXgVgk9rpMq)、
[企微整合](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/gwva2dxOW4yxvZOPSkKlNaXnVbkz3BRL)、
[第三方待办接入](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/ZgpG2NdyVXakR5yYsPadRGYNJMwvDqPk)
- [服务器配置要求](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/7NkDwLng8ZKpa56ysx6LPq0pWKMEvZBY)
- [表单控件](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/YndMj49yWjmElQqrUwPze0D583pmz5aA)、[表单扩展自定义控件](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/EpGBa2Lm8aj7ZEPlsw2KB6YkWgN7R35y)
- [列表设计](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/YQBnd5ExVE12j6Q9F2eM1aR1VyeZqMmz)
- [设计流程](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/XPwkYGxZV3yx4z9OS3245lza8AgozOKL)
- [自动化流设计](https://alidocs.dingtalk.com/i/p/gBVzxxE8aQg3QzOa/docs/ZgpG2NdyVXakR5yYsG2Q4pyyJMwvDqPk)
可以在文档右上角搜索关键词,也可以在小智提问问题。
如果缺少文档的,可以在交流群中咨询,我们会尽快补全。
---
## 🛠️ 技术栈
| 关键技术 | 版本 | 描述 |
| :--- | :--- | :--- |
| **JDK** | `17` | 平台基础运行环境,保证高性能与现代化 Java 特性支持 |
| **Spring Boot** | `3.5.5` | 核心应用框架 |
| **Activiti** | `7.1.0.M6` | 工作流与业务流程核心引擎 |
| **MyBatis Plus** | `3.5.14` | 高效 ORM 数据层访问框架 |
| **Hutool** | `5.8.40` | 常用工具类库封装 |
| **Druid** | `1.2.27` | 阿里开源高性能数据库连接池 |
| **Guava** | `33.4.8-jre` | 谷歌高性能工具库 |
| **Apache POI** | `5.4.1` | Office 文档处理库,支持 Excel、Word 等格式 |
| **OkHttp3** | `5.0.0-alpha.14` | 高效 HTTP 客户端,支持 HTTP/2 和 WebSocket |
| **Bouncy Castle** | `1.80` | 加密解密库,提供完整的加密算法支持 |
| **Commons IO** | `2.19.0` | Apache IO 工具库,简化文件和流操作 |
| **Pinyin4j** | `2.5.1` | 拼音转换库,支持汉字转拼音功能 |
| **Vue** | `3.4+` | 前端响应式框架,构建交互式用户界面 |
| **Vite** | `5.x` | 前端下一代构建工具,提供极速的开发体验 |
| **TypeScript** | `5.0+` | 前端类型安全的 JavaScript 超集 |
| **Element Plus** | `2.0+` | 基于 Vue 3 的桌面端组件库 |
| **pnpm** | `9.15.3` | 前端 Monorepo 包管理工具 |
---
## 📂 项目结构
项目采用多模块 Maven 架构进行拆分,各模块职责明确,方便按需进行微服务化或者解耦:
* **[pom.xml](pom.xml)**:项目根 POM 文件,管理了平台所有第三方依赖及组件的版本。
* **[ab-base](ab-base)**:基础公共模块:
* `ab-base-api`:提供基础通用 API。
* `ab-base-common`:系统底层公共工具类和基类。
* `ab-base-mapper`:基于 MyBatis Plus 的基础持久层基类。
* `ab-base-web`:Web 层的通用过滤器、统一异常处理和控制层封装。
* **[ab-capability-api](ab-capability-api)**:系统核心能力层接口定义。
* **[ab-component](ab-component)**:核心扩展组件模块:
* `ab-component-redis`:缓存组件,提供分布式缓存支持。
* `ab-component-mq-engine`:消息队列引擎,支持多重消息投递模式。
* `ab-component-msg-engine` / `ab-component-msg-engine-third`:统一消息中心及第三方通知服务。
* `ab-groovy-script-engine`:安全的 Groovy 脚本动态编译与执行引擎。
* `ab-component-upload-engine`:高度解耦的文件上传组件(支持本地、数据库)。
* `ab-component-ai`:大模型及 AI 助理融合能力。
* **[ab-auth](ab-auth)**:安全与权限认证模块,支持 LDAP 认证和 Spring Security OAuth2 的分布式统一授权。
* **[ab-org](ab-org)**:组织架构模块,定义了用户、部门、公司、岗位、用户组及其关联关系的核心业务。
* **[ab-sys](ab-sys)**:系统通用配置,包括系统属性、流水号、数据源管理、操作日志审计等。
* **[ab-cms](ab-cms)**:内容管理系统,支持内容栏目、文章发布与展示。
* **[ab-code-generator](ab-code-generator)**:代码生成器,支持基于数据库表自动生成实体类、Mapper、Service 级接口和前端页面。
* **[ab-spring-boot](ab-spring-boot)**:Spring Boot 启动入口与集成模块:
* `ab-spring-boot-starter`:平台基础 Spring 自动装配配置。
* `ab-spring-boot-starter-security`:Spring Security 权限安全自动装配。
* **[ab-spring-boot-app](ab-spring-boot/ab-spring-boot-app)**:项目最终的可独立运行打包应用程序。
* **[ab-demo](ab-demo)**:项目自带的演示 Demo 与快速开发示例。
* **[frontend/pc](frontend/pc)**:前端 PC 端项目,基于 Vben Admin 生态构建的零代码 / 低代码前端应用。详细说明请参考 [frontend/pc/README.md](frontend/pc/README.md)。
* **[frontend/h5](frontend/h5)**:前端 H5 移动端项目,基于 Vue 3 + NutUI 构建的移动端应用,支持移动审批、表单填写等场景。该目录当前提供打包后的静态产物,部署说明请参考 [frontend/h5/README.md](frontend/h5/README.md)。
* **[doc](doc)**:文档及数据库 SQL 脚本存放目录。
---
## 🛠️ 快速开始
### 1. 环境要求
- **Java**: JDK 17+ (推荐 17.0.x)
- **Maven**: 3.6.0+(项目已内置 `mvnw` / `mvnw.cmd` 包装器,未安装 Maven 也可直接使用包装器,详见下文)
- **数据库**: MySQL 8.0+
- **Node.js**: `>= 20.10.0`(前端构建)
- **pnpm**: `>= 9.12.0`(前端 Monorepo 包管理器)
> 💡 **关于 Redis**:默认配置(`ab.cache.type: memory` + `ab.simple-mq.message-queue-type: synchronous`)下,缓存与消息队列均使用本地内存,**单机启动无需 Redis**,开箱即用。只有在需要分布式缓存、跨节点消息队列时才需部署 Redis,并相应修改 `application.yml` 中的 `ab.cache.type` / `ab.simple-mq.message-queue-type` 为 `redis`。
> - **启动 Jar 时显式传入参数**(最关键):`java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar ab-spring-boot-app.jar`
> - **IDEA / Eclipse**:在「Run Configuration」的 VM options 中添加 `-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8`,并将「File Encodings」全部设为 UTF-8。
### 2. 环境自检
开始前请先确认本地环境满足要求,避免因版本不匹配导致构建失败:
```bash
java -version # 需 17+,显示 17.0.x 即可
mvn -v # 需 3.6.0+;若未安装可跳过,使用项目内置的 mvnw / mvnw.cmd
node -v # 需 >= 20.10.0
pnpm -v # 需 >= 9.12.0;安装:npm install -g pnpm
```
数据库(以 MySQL 为例):
```bash
mysql -u root -p -e "SELECT VERSION();" # 需 8.0+
```
### 3. 数据库初始化
进入项目根目录下的 **[doc/sql](doc/sql)** 目录,根据您所选型的数据库导入初始化脚本:
- **首次部署**:必须导入 `full` 目录下的全量 SQL 文件(例如使用 MySQL 时,导入 **[agilebpm_full.sql](doc/sql/mysql/full/agilebpm_full.sql)**)。
- **版本升级**:如果您是从旧版本升级,请参考 `upgrade` 与 `changeSQL` 目录,按序执行升级 SQL。
- **应用安装**:`/appTemplate` 在应用模板 - 已购买 列表可以免费安装常用应用
以 MySQL 为例,先建库再导入:
```bash
mysql -u root -p -e "CREATE DATABASE agilebpm DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mysql -u root -p --default-character-set=utf8mb4 agilebpm < doc/sql/mysql/full/agilebpm_full.sql
```
### 4. 修改配置文件(必做)
> ⚠️ **首次启动前必须完成此步**:仓库默认的 [application.yml](ab-spring-boot/ab-spring-boot-app/src/main/resources/application.yml) 中数据源为占位地址,直接启动会连接失败。
打开 **[application.yml](ab-spring-boot/ab-spring-boot-app/src/main/resources/application.yml)**,将 `spring.datasource` 下的 `url` / `username` / `password` 改为您本地数据库的实际参数:
```yaml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/agilebpm?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: YOUR_PASSWORD
```
单机部署无需修改 Redis、缓存、MQ 等其它配置(默认即可)。
### 5. 编译与打包
项目已内置 Maven Wrapper,**无需本地预装 Maven**。Windows 使用 `mvnw.cmd`,Linux/macOS 使用 `./mvnw`:
```bash
# Windows
mvnw.cmd clean install -Dmaven.test.skip=true
# Linux / macOS
./mvnw clean install -Dmaven.test.skip=true
```
> 若本地已安装 Maven,也可直接使用 `mvn clean install -Dmaven.test.skip=true`。
> ⚠️ **`mvnw` / `mvnw.cmd` 依赖 `JAVA_HOME` 环境变量**来定位 JDK,仅把 `java` 加入 PATH 是不够的。若执行报 `JAVA_HOME environment variable is not defined correctly`,请先设置(JDK 路径替换为实际安装目录):
> - **Windows(cmd,当前会话临时生效)**:`set "JAVA_HOME=D:\Program Files\Java\jdk-17.0.2"`
> - **Windows(PowerShell,永久写入用户变量)**:`[Environment]::SetEnvironmentVariable("JAVA_HOME", "D:\Program Files\Java\jdk-17.0.2", "User")`(设置后需重开终端)
> - **Linux / macOS**:`export JAVA_HOME=$(/usr/libexec/java_home)` 或 `export JAVA_HOME=/path/to/jdk-17`
### 6. 启动后端
打包完成后,直接运行生成的 Jar 启动后端(默认监听 `8080` 端口):
```bash
# -Dfile.encoding=UTF-8 用于避免中文 Windows 下流程图/日志中文乱码,必加
java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar ab-spring-boot/ab-spring-boot-app/target/ab-spring-boot-app.jar
```
也可通过 Maven 运行主启动类 **[AbSpringBootApp.java](ab-spring-boot/ab-spring-boot-app/src/main/java/com/dstz/AbSpringBootApp.java)**:
```bash
mvnw.cmd spring-boot:run -pl ab-spring-boot/ab-spring-boot-app # Windows
./mvnw spring-boot:run -pl ab-spring-boot/ab-spring-boot-app # Linux / macOS
```
### 7. 前端项目启动
进入前端项目目录 **[frontend/pc](frontend/pc)**,使用 pnpm 安装依赖:
```bash
cd frontend/pc
pnpm install
```
> 🚀 **首次启动 / 体验功能推荐使用 `preview` 模式**(先构建生产产物再本地预览,启动快、运行流畅):
```bash
pnpm run build:ui # 构建主应用产物到 apps/main/dist
pnpm run preview # 预览构建产物(Vite 默认端口 4173,访问 http://localhost:4173/)
```
> 💡 若 4173 端口被占用,Vite 会自动顺延到 4174 等下一个可用端口,以控制台输出的 `Local` 地址为准。
> ⚠️ **`pnpm run dev:ui` 仅用于前端二次开发**:dev 模式为按需编译(Vite HMR),首次访问页面时会实时编译大量模块,体验较卡顿。**如果您只是想运行/体验系统(包括 AI 辅助启动场景),请优先使用上面的 `build:ui` + `preview`,不要用 `dev:ui`。** 只有在需要修改前端代码、实时查看改动效果时才使用 `dev:ui`。
启动成功后,根据控制台输出的本地地址访问应用。默认超级管理员账号:`admin`。
以上为开发环境的快速启动流程。生产环境部署(Nginx 静态托管与反向代理、Docker Compose 一键部署、H5 移动端部署)请参考下方「📦 部署」章节。
---
## 📦 部署
生产环境推荐「后端 Jar + Nginx」的部署方式:后端独立运行,PC 端与 H5 移动端静态产物由 Nginx 托管,接口通过 Nginx 反向代理转发。
### 1. 后端部署
完成数据库初始化与 `application.yml` 配置后(见「快速开始」),打包并以 Jar 方式运行:
```bash
mvn clean package -DskipTests
java -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -jar ab-spring-boot/ab-spring-boot-app/target/ab-spring-boot-app-*.jar
```
后端默认监听 `8080` 端口。
### 2. 前端部署
- **PC 端**:进入 **[frontend/pc](frontend/pc)** 执行 `pnpm install && pnpm run build:ui`,产物位于 `frontend/pc/apps/main/dist/`,部署到站点根路径 `/`;
- **H5 移动端**:**[frontend/h5](frontend/h5)** 为打包好的静态产物,无需编译,直接部署到站点 `/app` 路径下。
### 3. Nginx 配置
```nginx
server {
listen 80;
server_name your-domain.com; # 替换为实际域名或 IP
client_max_body_size 100m; # 上传附件大小限制,按需调整
# PC 端静态资源(将路径替换为实际部署目录)
location / {
root /usr/local/agilebpm/pc;
index index.html;
try_files $uri $uri/ /index.html;
}
# H5 移动端静态资源(base 路径 /app,history 路由需回退到 index.html)
location /app {
alias /usr/local/agilebpm/h5/;
index index.html;
try_files $uri $uri/ /app/index.html;
}
# 后端接口反向代理(将地址替换为实际后端地址)
location /api/ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# AI 助手流式对话接口(SSE,需关闭 gzip 与响应缓冲)
location = /api/ab-bpm/corpApi/for/assistant/chat {
gzip off;
proxy_buffering off;
proxy_pass_header Server;
proxy_redirect off;
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
配置要点:
- PC 端与 H5 端均为 history 路由模式,`try_files` 回退配置必须保留,否则刷新页面会 404;
- H5 产物 base 路径固定为 `/app`,`alias` 目录与 `try_files` 回退路径中的 `/app` 不可修改;
- H5 产物 `assets/` 内含 `.gz` 预压缩文件,如 Nginx 编译了 `ngx_http_gzip_static_module`,可开启 `gzip_static on;` 减少传输体积。
### 4. Docker 部署(推荐)
项目提供 Docker Compose 一键部署方案(MySQL + 后端 + Nginx),Nginx 已内置上述配置,详见 **[docker/README.md](docker/README.md)**。
---
## ⚙️ 核心配置指引
在 `application.yml` 中,您可以通过调整以下自定义配置段来启用或微调对应功能:
* **缓存配置 (`ab.cache`)**:
支持 `memory` (本地内存)、`redis` (分布式缓存)。可通过调整 `region` 的生存时间控制各类数据在业务层中的缓存周期。
```yaml
ab:
cache:
# 缓存类型切换:memory(本地内存)、redis(分布式缓存)
type: memory
# 缓存区域配置,定义各业务数据的过期时间
region:
DICT: PT12H # 字典缓存 12 小时
SYSPROPETIES: PT12H # 系统属性缓存 12 小时
BPM_PROCESS_DEF: PT12H # 流程定义缓存 12 小时
LOGIN_TOKEN: PT1H # 登录令牌缓存 1 小时
# ... 更多区域配置
```
**Redis 连接配置**(当使用 `redis` 缓存类型时需要配置):
```yaml
spring:
data:
redis:
host: YOUR_REDIS_HOST
port: 6379
database: 5
password: YOUR_REDIS_PASSWORD
```
**切换方式**:修改 `ab.cache.type` 参数即可在不同缓存模式间切换。使用 `redis` 时需确保 Redis 连接配置正确。
* **OAuth2 缓存配置 (`ab.oauth`)**:
支持 `InMemory` (本地内存) 和 `redis` (分布式缓存) 两种 Token 存储方式。
```yaml
ab:
oauth:
# Token 存储方案:InMemory(本地内存)、redis(分布式缓存)
token-store-type: InMemory
# 令牌校验秘钥
login-token-signing-key: ab22
```
**切换方式**:修改 `ab.oauth.token-store-type` 参数。使用 `redis` 时需确保 Redis 配置正确,适用于分布式部署场景;使用 `InMemory` 适用于单机部署。
* **安全防御 (`ab.security`)**:
默认已支持防 XSS 注入等安全配置。针对特殊的低代码动态脚本等路径,已默认在 `xss-ingores` 中予以放行。
* **Groovy 脚本黑名单 (`ab.groovy`)**:
```yaml
groovy:
blackKeywords: System,Runtime,BeanUtil,JdbcTemplate,FileUtil,FileWriter,ReflectUtil,ClassUtil,Eval,AppUtil
```
通过该配置可以防止系统管理员或开发者通过流程执行或自定义规则输入危险的 Java 系统指令。
* **文件上传引擎 (`uploader`)**:
可配置为 `db` (直接以二进制大对象形式存放于数据库中) 或是 `ordinary` (物理磁盘路径,需配置 `uploader.ordinary.path`)。
---
## 🤝 参与贡献
我们非常欢迎并感谢您对同讯零代码的贡献!
如果您有任何关于代码库优化、Bug 反馈的建议
---
## LICENSE
本项目采用 [大世同舟源码许可协议 1.0](LICENSE.md)。
本项目允许个人及组织免费用于:
* 学习、研究和技术评估;
* 企业或组织内部部署;
* 源代码修改和内部二次开发;
* 普通业务应用开发;
* 不对外开放本平台核心能力的项目集成。
以下用途需要取得书面商业授权:
* 多租户 SaaS、云服务或托管平台;
* 低代码、零代码或应用开发平台的对外销售和运营;
* OEM、白标、贴牌或更换品牌后交付;
* 将本项目的平台能力作为主要收费产品或服务;
* 开发或运营与本项目构成直接替代或实质竞争关系的平台;
* 删除或替换官方版权、内置品牌信息(允许在平台配置-系统个性化中通过配置的方式修改系统名称、公司名称、logo图片)。
本协议属于源码可用许可证,部分条款参考 Apache License 2.0,但包含额外商业限制,因此并非标准 Apache-2.0 开源许可证。
完整许可条款:
* [简体中文](LICENSE.md)
* [English](LICENSE.en.md)
版权所有 © 2026 深圳市大世同舟信息科技有限公司。保留所有权利。