ToolJet:开源低代码开发平台,支持自托管与AI应用生成

AI新闻 dotaai
105

一、ToolJet是什么

ToolJet是一款AGPL‑3.0协议开源的AI原生低代码平台,主打快速搭建企业内部工具、业务仪表盘、表单系统、工作流自动化应用。无需从零编写完整前后端代码,通过可视化拖拽组件、对接各类数据源,快速产出可用业务应用;同时提供托管云版本与完整自托管部署方案,兼顾普通业务人员与开发人员使用,社区版完全开源免费,另有商业企业版提供高级安全、AI与运维能力。

它的定位不是面向公网C端网站搭建,核心聚焦企业内部后台、管理工具,支持对接数据库、API、第三方SaaS服务,也支持嵌入JS/Python脚本实现复杂业务逻辑,同时新增AI能力,支持自然语言生成应用、智能查询调试、Agent自动化代理构建。

ToolJet(图1)

二、功能特色

  1. 可视化拖拽编辑器
    内置60+响应式UI组件,包含表格、各类图表、表单控件、按钮、弹窗、列表等,所见即所得画布,支持多页面应用构建,适配PC与移动端布局,无需前端基础即可完成页面编排。

  2. 海量数据源接入
    支持80+数据源,覆盖PostgreSQL、MongoDB、MySQL等数据库,REST/GraphQL API,对象存储,以及各类SaaS工具;支持导入OpenAPI规范,OAuth鉴权,内置ToolJet自有数据库,无需额外数据库也可存储业务数据。

  3. 脚本与扩展能力
    编辑器任意位置可嵌入JavaScript、Python脚本,完成数据转换、复杂业务计算;提供ToolJet‑CLI命令行工具,开发自定义插件连接器,扩展平台数据源与组件能力。

  4. 团队协同能力
    多人协同编辑,画布行内评论、@成员,应用版本快照管理,细粒度访问控制,区分编辑、查看、发布权限,支持SSO单点登录,企业版提供RBAC精细化权限管控。

  5. AI原生能力(企业版)
    自然语言生成应用、AI查询构建、AI调试排错,Agent Builder可视化构建自动化智能代理,把自然语言描述转化为查询与业务流程。

  6. 安全与部署特性
    数据传输AES‑256‑GCM加密,代理转发数据源请求,避免数据库直接暴露公网;支持多套部署方案,应用可直接发布、嵌入到现有系统内使用。

三、技术细节

  • 开源协议:社区版 AGPL‑3.0,修改并对外提供服务时需要公开修改后的源码;企业版为商业闭源授权。

  • 技术栈:前端 React + TypeScript;后端 Node.js;测试使用Cypress;配套CLI命令行工具,插件开发体系。

  • 项目目录结构

    • frontend:可视化编辑器、应用渲染前端代码

    • server:后端API、数据源代理、权限、业务逻辑服务

    • cli:插件开发命令行工具

    • plugins:官方内置数据源与组件插件

    • deploy:Docker、K8s、Helm等部署配置文件

    • docs:官方文档源码

  • 运行架构:前端编辑器发起查询请求,后端服务作为代理访问各类数据源,做鉴权与数据转换,再返回前端渲染,数据库不会直接暴露访问;应用配置以DSL JSON格式存储,支持版本快照。

  • 部署环境依赖:Docker Compose快速体验;生产环境推荐K8s/Helm,依赖PostgreSQL作为平台自身数据库,支持LTS长期支持版本获取安全补丁。

四、应用场景

  1. 企业内部管理后台:快速搭建客户管理、库存管理、工单系统,不用投入完整前后端开发人力。

  2. 数据仪表盘与报表:对接业务数据库与接口,制作实时监控看板,完成数据查询、统计可视化。

  3. 表单数据收集系统:搭建填报、审批、数据录入工具,完成数据入库、导出。

  4. 业务流程自动化:组合API调用、脚本逻辑,实现数据同步、消息推送,替代重复手工操作。

  5. 轻量业务工具:运维工具、数据处理工具,第三方系统集成工具;企业版可搭建AI智能代理,自动执行业务任务。

  6. 系统内嵌应用:将ToolJet构建的应用嵌入现有业务系统,快速补充后台功能。

ToolJet(图2)

五、使用方法

1. 快速体验(Docker)

本地机器安装Docker与docker‑compose,拉取官方compose配置,执行启动命令,浏览器访问本地端口即可进入平台,适合快速评估功能。

2. 托管云版本

注册ToolJet Cloud托管服务,开箱即用,无需维护服务器,直接创建应用,适合快速测试、小团队试用。

3. 自托管生产部署

  • 可选Docker、Docker‑Compose、Kubernetes+Helm;也可部署在AWS、GCP、Azure、DigitalOcean等云平台。

  • 生产环境优先选择LTS长期支持版本,配置环境变量修改数据库、密钥、域名、SSO等参数。

  • 初始化管理员账号,创建团队,添加团队成员。

4. 构建应用流程

  1. 创建新应用,进入可视化画布;

  2. 添加数据源,配置数据库/API连接信息;

  3. 在查询面板编写SQL、API请求,测试获取数据;

  4. 拖拽UI组件到画布,绑定查询返回的数据;

  5. 编写JS/Python脚本处理业务逻辑,配置按钮、表单事件;

  6. 预览调试,设置权限,发布应用,分享链接或嵌入其他系统。

六、竞品对比

对比维度 ToolJet Appsmith Budibase
开源协议 AGPL‑3.0 Apache2.0 AGPL‑3.0
核心定位 内部工具+AI智能代理,侧重数据源集成与脚本能力 通用低代码后台,侧重前端组件与社区模板 表单驱动优先,快速搭建CRUD业务系统
脚本支持 JS、Python双脚本,CLI自定义插件 仅JavaScript脚本,插件生态较少 JavaScript脚本,自定义组件扩展
内置数据库 自带ToolJet数据库 无内置数据库,依赖外部数据库 自带内置Budibase数据库
AI原生能力 企业版内置AI生成应用、Agent构建 无原生AI,需自行对接大模型API 无原生AI,需要手动集成API
团队协作 评论、细粒度权限、版本快照 基础版本管理,权限粒度中等 协作功能基础,权限功能企业版解锁
部署方式 Docker、K8s、Helm、各大云市场 Docker、K8s Docker、K8s

七、常见问题解答

ToolJet社区版可以用于商业生产环境吗?

可以,社区版AGPL‑3.0协议允许商业使用;但如果修改ToolJet源码并对外提供服务,需要公开修改后的源代码。高级企业安全、AI、审计日志、官方SLA技术支持需要购买企业版。

ToolJet是否可以搭建面向普通用户的C端网站?

不推荐,项目设计目标主要面向企业内部后台工具,没有针对公网C端访问做大规模并发优化,适合内部员工、业务人员使用。

ToolJet支持导出前端源码独立部署吗?

不支持导出纯前端源码,应用配置存储在平台数据库,应用运行依赖ToolJet后端服务做数据源代理,不能直接导出HTML静态页面脱离平台运行。

Docker部署和K8s部署怎么选?

Docker Compose适合测试、小规模使用;正式生产环境建议K8s/Helm,方便扩容、高可用,优先使用官方LTS版本。

连接数据库会不会有安全风险?

ToolJet后端作为代理访问数据源,前端不会直接访问数据库;建议做好网络隔离,数据库不直接暴露公网,合理配置账号最小权限,开启加密。

可以自定义组件吗?

社区版可以通过CLI开发自定义插件,扩展组件与数据源连接器;直接修改前端源码也可以新增组件,但升级版本会带来维护成本。

八、相关链接

九、总结

ToolJet是生态成熟的开源AI原生低代码平台,面向企业内部工具场景,拥有丰富数据源、可视化拖拽编辑器、脚本扩展、完整自托管部署方案,社区版完全开源免费,同时企业版补齐AI能力与企业级安全运维特性,适合开发人员与业务团队快速搭建后台、仪表盘、表单自动化工具,降低内部业务系统开发成本,是开源低代码领域中实用性很强的选型。

打赏
THE END
作者头像
dotaai
正在和我的聊天机器人谈恋爱,它很会捧场。