NocoBase 插件生态实战手册:108 个官方插件怎么选、怎么装、何时自己写
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
系统上线跑顺之后,业务方最常提的新需求无非这几类:审批要走流程、数据想看成图表、文件要有个统一地方管。这些活儿听起来都要重新排期写代码,其实 NocoBase 仓库里早就备好了现成的——官方插件一共 108 个,全部放在 packages/plugins/@nocobase/ 目录下,从工作流、数据可视化到文件管理、主题定制、API 密钥、AI 能力都有覆盖。这篇文章不按功能清单逐个念,而是按你实际使用的顺序走一遍:需求对号入座 → 挑插件看哪几点 → 装进环境 → 不够用了再自己写。
装插件之前,先看清一个插件长什么样
每个 NocoBase 插件都是一个独立的 npm 包,不管它功能多复杂,目录里基本都有这四样东西:
package.json:名字、版本、功能描述,以及依赖声明src/server/:后端逻辑,接口、数据操作都在这src/client/:前端界面,菜单、区块、组件src/locale/:多语言文件,一个插件目录里能看到十几个语言包(de-DE、en-US、ja-JP……)
其中最值得看一眼的是package.json里的依赖声明。以工作流插件为例:
{ "name": "@nocobase/plugin-workflow", "version": "2.1.45", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", "peerDependencies": { "@nocobase/plugin-data-source-main": "2.x", "@nocobase/plugin-users": "2.x", "@nocobase/plugin-error-handler": "2.x" } }peerDependencies列出的就是启用它之前需要一并就绪的其他插件,版本统一锁定在 2.x。换句话说,你不用手动算"装 A 之前得先装 B 和 C",插件之间的依赖关系是声明出来的,系统照着声明来。
需求对号入座:流程、图表、文件、集成各找各的插件
挑插件不用逐个读 108 个包,按业务场景归类之后,其实就四类:
流程自动化 → plugin-workflow/仓库里最能打的流程插件。它自带的触发器源码在src/server/triggers/下(集合数据变更、定时调度),配套的官方文档把触发方式写全了:定时、集合操作前后、自定义动作、Webhook、审批等 7 种(见 docs/docs/cn/workflow/triggers/)。节点更丰富,docs/docs/cn/workflow/nodes/ 下列了 26 个:条件分支、并行执行、循环、SQL、HTTP 请求、邮件、JavaScript、子流程……审批流、定时报表、数据自动清洗这类需求,基本都能在这 26 个节点里搭出来。
看数据 → plugin-data-visualization/提供图表区块和图表筛选区块,官方描述是支持折线图、面积图、柱状图"十几种图表,也可以扩展更多图表类型"(内部用了 echarts 和 ant-design/plots)。它声明依赖 plugin-data-source-main,所以能直接读系统内任意集合的数据,不用先导一份报表。
管文件 → plugin-file-manager/一句话功能:提供文件存储服务,并附带"文件表"集合模板和附件字段。业务表里要挂附件、又想要独立的地方查文件,装它就够。
接外部系统 → plugin-api-keys/允许使用者拿 API 密钥来调应用的 HTTP API,第三方系统要读写你的数据,用密钥鉴权比开放匿名接口稳妥得多。
调界面 → plugin-theme-editor/改 UI 的颜色、尺寸,结果保存成主题,支持多主题切换。客户要看"自己的配色",用不着改代码。
上 AI → plugin-ai/它的中文名是"AI 员工":创建带各种技能的 AI 员工,与人协同、搭建系统、处理业务。
在线装:插件市场三步走
联网环境里装插件走界面即可:
- 登录后台,进系统设置 → 插件市场,在列表里找到目标插件点安装
- 等依赖拉取完成,点启用
- 按提示补配置(API 密钥、权限这类),收工
所有已装插件的参数、版本信息、使用日志,集中在 plugin-system-settings/ 里统一管理,出问题先回这里翻版本和配置。
内网环境:4 步离线装好插件
服务器连不上公网是常见的部署约束,官方文档 docs/docs/cn/nocobase-cli/installation/airgap.md 给出的最短路径是"外网备镜像、内网导入":
# 外网机器上:拉镜像并导出成离线文件 docker pull nocobase/nocobase:latest-full docker pull postgres:16 docker save -o nocobase-app.tar nocobase/nocobase:latest-full # 内网机器上:导入后启动 docker load -i nocobase-app.tar docker compose up -dlatest-full镜像自带插件,配合docker-compose.yml(仓库根目录就有)启动即可。不能用 Docker 的话,文档里也写了替代路线:在外网用create-nocobase-app建好完整项目、装完依赖、整体打包拷进内网。路径长一点,但没有容器能力的环境里更实用。
还不够用?按官方结构写一个自己的插件
108 个官方插件覆盖不了的场景才考虑自研,门槛并不高。用create-nocobase-app初始化项目后,项目本身就是 Yarn Workspace:packages/plugins/放插件源码,storage/plugins/放通过界面上传的打包插件,结构细节见 docs/docs/cn/plugin-development/project-structure.md。
用 CLI 生成模板(文档原文是yarn pm create @my-project/plugin-hello),骨架就是上面说过的标准结构:
my-plugin/ ├── src/ │ ├── client/ # 前端组件 │ ├── server/ # 后端逻辑 │ ├── locale/ # 多语言 │ └── index.ts # 入口 └── package.json # 描述与依赖声明自研调试最省事的一点是加载优先级:packages/plugins源码 >storage/plugins打包版 >node_modules依赖包。同名插件源码版永远优先,所以你在源码目录里改一行、重启一次,看到的就是自己的改动,不需要额外的链接步骤。
什么时候该用哪个,一句话收束
流程、图表、文件、API 集成、主题、AI——先用官方插件,看peerDependencies把依赖关系理清;内网环境走离线镜像方案;只有官方插件确实覆盖不了的场景,才动笔写自己的,而且照着标准目录结构和加载优先级走,调试成本会很低。
【免费下载链接】nocobaseNocoBase is an open-source AI + no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考