表、页面、权限、工作流都是数据库里的配置,平台读取后运行。
NocoBase 2 无代码、NocoBase 2 AI Portal 与 NocoBase 3
三种搭建方式的区别,在于业务逻辑放在哪里:数据库里的配置,还是你自己仓库里的源码。
- NocoBase 提供
- 你的源码
- 数据库里的配置
- 运行边界
- 本步新增
01
NocoBase 2 无代码 · 应用是运行时加配置
表、页面、权限、工作流都存在数据库里,平台读取配置画出界面。AI 参与时也是调接口写配置。
- 分模块上线所有模块的配置在同一个库里,发布时很难只带走其中一个。
- 工作流与权限配置难度大、不够灵活,复杂需求难以满足;改动也不能像代码一样评审。
- AI 搭建受限AI 只能调用配置接口,平台没有提供的能力就做不出来。
02
NocoBase 2 AI Portal · 前端可以自定义
AI Portal 是一个由 AI 编写的前端工程,界面不再受平台组件限制,可以按业务完全自定义;登录、权限、数据接口仍由 NocoBase 2 提供。
- 前端可以自定义AI 直接写 React 源码,页面和交互按业务需要来做,不受平台组件限制。
- 独立开发与部署前端可以各自开发、各自部署;后端配置仍然共用。
- 工作流与权限仍是 NocoBase 2 的配置,问题没有解决。
03
NocoBase 3
NocoBase 3 Core · 整个应用都是源码
页面、接口、表结构、权限、工作流都在你的仓库里,由 AI 编写;NocoBase 以 npm 包的形式提供框架、通用能力和基础库。
- 独立开发、分模块上线各模块在分支上并行开发,合并哪些就发布哪些,没做完的不受影响。
- 工作流与权限用代码实现,复杂规则也能满足,需要时也可以做成配置界面交给业务调整;每次改动可评审、可回退。
- 多个应用共用一份数据主数据由一个应用维护,其他应用把它的库接为外部数据源,按需只读或读写,权限在服务端控制。
NocoBase 3 Solutions · 基于 Core 搭好的业务应用 即将发布
完整的业务应用源码,拿来就能用,也能在此基础上让 AI 继续改成自己的系统。
更多解决方案持续补充中。
NocoBase 3 Studio · 多个应用的持续开发、测试、集成、部署 开发中
Studio 同时管理多个应用。每个应用有自己的仓库和环境,按自己的节奏走完开发、测试、集成、部署;Agent 在团队服务器或开发电脑上的执行机里写代码,人只在决定、验收和上线时介入。
- 多个应用各走各的节奏一个应用在开发、另一个在部署,互不阻塞。
- 每次变更都经过测试CI 检查、换一家模型评审,再部署到这个 PR 专属的预览环境。
- 上线受控人验收后合并;预发自动部署,生产需他人审批,可回滚。
04
为什么选择 NocoBase 3
同样是让 AI 开发业务系统,NocoBase 3 的起点更高,交付更稳。
基础框架现成
认证、权限、状态机、通知、文件、数据库、多语言、部署工具都已就绪,AI 只写业务部分,不用每个项目从头搭一遍。
业务能力已封装
不只是技术框架:权限集与共享、限制规则,审批、收件箱、Agent,以及登录、看板、流程图等业务组件,拿来即用。
开箱即用,也能改
CRM、ERP 等 Solutions 开箱即用,同时可以私有部署、拿到全部源码,让 AI 按自己的业务继续二次开发。
依托 NocoBase 2 服务大量客户的经验
NocoBase 2 已被全球众多企业、政府和高校用于构建业务系统,这些经验沉淀进了 NocoBase 3 的能力和 Solutions。
05
对照
按几个常见的关注点,看三种方式分别怎么做。
业务逻辑放在哪里
页面变成了 React 源码;接口、表结构、权限、工作流仍是配置。
全部在你的代码仓库里,NocoBase 只以依赖包的形式出现:
- client/:页面、路由、布局,React · Vite
- server/:接口、服务、权限规则,Hono
- database/:表结构迁移和初始数据
- 依赖包:框架、能力包、基础库
- 业务组件:从 UI Library 复制源码进项目
独立开发与分模块上线
所有模块共用一个库里的配置,迁移只能按表选择,很难只发布其中一个模块。
前端可以各自开发、各自部署;后端配置的问题没有变化。
每个模块在自己的分支上开发,合并哪些就发布哪些:
- 分支开发:一个任务一个分支、一个 PR
- 自动检查:CI 跑代码检查、类型检查和测试
- 预览验收:每个 PR 一个预览环境,在里面验收
- 按合并发布:没做完的留在分支上,不影响上线
- 多应用:Studio 管理多个应用各自的环境和发布
工作流
可视化配置,节点丰富,也有版本;但复杂流程配置难度大、不够灵活,改动不能像代码一样评审。
和 NocoBase 2 相同,仍然是配置。
用状态机描述业务流程,写在代码里:
- 状态与流转:记录自己保存当前状态,按规则流转。
- 触发:在某个状态停留超时后自动处理。
- 副作用:提交后执行,带重试、幂等,成功或失败都能继续流转。
- 等待:等人处理、等外部系统回调或轮询结果。
- 恢复:服务重启后接着执行未完成的工作。
多级审批、会签、加签由审批插件提供。
权限
角色、数据范围、字段权限都能配置;但规则一复杂就难配,改动也难以评审。
和 NocoBase 2 相同,仍然是配置。
规则写在代码里,分配在应用里集中管理:
- 权限集:相当于角色,分配给用户或团队。
- 记录级:我负责的、我创建的,或自定义条件。
- 字段级:分别控制可读、可写的字段。
- 默认访问:为所有有该操作权限的人放宽范围。
- 共享:为特定的人或团队放宽范围。
- 限制:无论权限从哪来,统一收紧范围。
- 来源查看:说明某项权限是从哪里来的。
多个应用共用一份数据
同一应用的多个入口直接共用;跨应用可以通过“外部 NocoBase”数据源读写另一个应用的数据。
多个 Portal 在同一个应用里,直接共用数据。
主数据由一个应用维护,其他应用接入使用:
- 主数据库:SQLite、PostgreSQL、MySQL、SQL Server、Oracle、达梦、人大金仓、OceanBase
- 外部数据源:把其他应用或已有系统的数据库接进来
- 读写范围:可以只读,也可以开放指定的表和字段写入
- 访问权限:在服务端按权限控制
- 同步:需要时另写同步任务
对接已有系统
通过工作流的 HTTP 请求节点调用外部接口,复杂的对接受节点能力限制。
和 NocoBase 2 相同。
对接逻辑直接写成代码:
- 调用外部接口:写在状态机的副作用里,带重试和幂等
- 接收回调:自己定义接口路由
- 定时任务:调度、队列和后台任务
- 外部数据库:接为外部数据源
- 对外开放:通过 API Key 访问业务接口
AI 辅助业务处理
AI 员工嵌在页面里,帮用户查询数据、填写表单、分析内容;本地 Agent 可以通过 nb api 调用接口,但只是通用的接口调用。
和 NocoBase 2 相同。
agents 插件既能接入模型,也能接入执行机:
- 在线 Agent:直接接入模型,在服务端运行,用应用的业务命令作为工具
- 工作 Agent:驱动执行机上的 Claude Code、Codex 等
- 应用专属 CLI:业务接口一键打包成 CLI,交给用户本地的 Agent
- 用户自己的权限:CLI 登录后按用户本人的权限执行
- 记录:会话、运行记录和用量都可查看
版本管理与交付
版本快照、备份恢复、迁移发布。
前端源码可以进 Git,用 nb portal 推送和部署。
按普通软件来管理和交付:
- Git:整个项目进仓库,做代码评审
- CI/CD:任意平台,构建出一个部署包
- 部署:app-installer 部署到本地,或通过 SSH 部署到离线 Linux
- 升级与回滚:由 app-installer 负责
- 容器:模板自带 Dockerfile