
ToolJet 开源全栈解读低代码内部工具平台与 AI 原生能力的结合【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJetToolJet 是一个面向内部工具、数据看板、业务应用与工作流的低代码开源平台也是 ToolJet AI 的开放式基础open-source foundation。本文基于本仓库GitHub_Trending/to/ToolJet的 README 与源码结构系统梳理其功能边界、技术架构、快速启动方式、部署矩阵与扩展机制帮助读者快速判断如何在自己团队中落地、自托管或进行二次开发。ToolJet 是什么定位与版本格局从仓库根目录的 README.md 可以看出ToolJet 的官方定位是构建和部署内部工具、工作流与 AI Agent 的 AI 原生平台的社区开源基础。它并非只提供拖拽 UI 的传统低代码工具而是把可视化搭建、数据连接、工作流自动化以及面向企业级的多环境管理与权限体系整合在一起的平台底座。围绕这一基础仓库代码实际由三种运行时版本构成相关描述见 CLAUDE.mdCECommunity Edition社区版代码位于server/src/modules/与frontend/src/即本仓库公开的主体EEEnterprise/ Cloud企业能力以server/ee/、frontend/ee/子模块方式存在运行时代次切换通过环境变量TOOLJET_EDITION取值为ce/ee/cloud控制加载哪套实现cloud本质上是 EE 代码上叠加云端行为的部署配置。换言之README 中Community Edition ToolJet AIEnterprise的功能划分对应到工程上即CE 主代码 EE 子模块扩展的同一套产品线。功能矩阵社区版与 AI 企业版的边界README 用两个章节分别罗列了社区版与 ToolJet AI企业版的能力清单这也是评估哪些能力开箱即用、哪些需要企业授权的最直接依据。Community EditionCE开源自带能力见 README.md能力说明仓库佐证可视化应用构建器60 响应式组件表格、图表、表单、列表、进度条等组件代码集中在 frontend/src/_uiApp Builder 相关模块位于 frontend/src/AppBuilderToolJet 数据库内置无代码数据库官方文档 platform-overview 说明其构建于 PostgreSQL 之上前端管理界面位于 frontend/src/TooljetDatabase多页面应用与多人协作编辑支持复杂应用协同开发后端服务与 AppVersion 模型见server/src/modules/80 数据源连接数据库、API、云存储与 SaaS 工具官方插件位于 plugins/packages第三方插件市场位于 marketplace/plugins灵活部署Docker、Kubernetes、AWS、GCP、Azure 等见下文部署方式矩阵协作工具行内评论、提及、细粒度访问控制评论相关迁移与模块见server/migrations/、server/src/modules/可扩展性通过 ToolJet CLI 创建插件与连接器CLI 实现见 cli/src/commands官方插件以 Lerna 单体仓库组织在 plugins/packages随处写代码应用内运行 JavaScript 与 Python后端 RunPy 相关数据迁移1676545162064-BackfillRunpyDatasources.ts可佐证 Python 执行历史安全设计AES-256-GCM 加密、数据仅经代理流转、SSO 支持加密实现见下文安全设计一节ToolJet AIEnterprise在 CE 之上追加见 README.mdAI 应用生成、AI 查询构建器、AI 调试、Agent Builder、SOC 2/GDPR 合规就绪、RBAC 与自定义用户组、多环境管理、GitSync 与 CI/CD、白标与自定义主题、行/组件/页面/查询级细粒度权限、应用嵌入以及企业级支持等。仓库根目录的 flowchart.png 即对这套应用构建器 AI LLM 集成 数据源 安全与访问控制整体能力做了可视化呈现说明上述企业能力对应的是私有子模块代码本公开仓库仅提供 CE 实现如需在企业环境验证完整能力请通过官方渠道获取对应版本。单体仓库结构与技术栈速览README 与 CLAUDE.md 共同勾勒出本仓库的多包工程形态主体目录如下server/ # NestJS TypeORM PostgreSQL 后端CE 主代码在 src/modules/ frontend/ # React Webpack 前端App Builder、ToolJet Database 界面等 plugins/ # 官方数据源连接器Lerna 单体仓库40 包 marketplace/ # 第三方市场插件 cli/ # ToolJet CLInpm 包 tooljet/cli 的源码 cypress-tests/ # Cypress 端到端测试 docs/ # Docusaurus 文档站源码 deploy/ # Kubernetes、Helm、EC2 等部署编排 docker/ # 各版本的 Dockerfile后端为 NestJS TypeORM PostgreSQL前端为 React Webpack。前端通过 webpack 别名/指向src/ee/、cloud/指向对应子模块配合NormalModuleReplacementPlugin实现低版本编译期隔离因此 CE 代码中不允许直接 import EE/Cloud 模块。运行时则通过 frontend/src/modules/common/helpers/_registry 下的注册表解析具体版本对应的组件与模块。这些工程约束让同一个仓库支撑三个版本成为可能也解释了为什么 README 会把 CE 与 AI 企业版放在同一份文档中描述。快速上手Docker 一键体验README 的 Quickstart 提供了三种路径托管云版在 ToolJet Cloud 注册账号直接使用免运维本地 Docker 快速试跑直接拉取官方镜像命令如下来源 README.mddocker run \ --name tooljet \ --restart unless-stopped \ -p 80:80 \ --platform linux/amd64 \ -v tooljet_data:/var/lib/postgresql/13/main \ tooljet/try:ee-lts-latest该命令将 80 端口映射到容器、将数据持久化到名为tooljet_data的 Docker volumePostgreSQL 13 数据目录并启用unless-stopped重启策略。README 同时给出明确建议已有历史版本的用户升级时应优先选择 LTS 版本因为 LTS 提供生产级 bug 修复、安全补丁与性能优化稳定性和可靠性优先于最新功能。源码自托管如果希望从源码构建而不是使用镜像仓库根目录的 docker-compose.yaml 给出了开发环境的完整服务编排。其核心服务与端口如下服务镜像/构建端口说明pluginsdocker/plugins.Dockerfile.dev—挂载./plugins并执行npm run --prefix plugins startclientdocker/client.Dockerfile.dev8082前端开发服务器WEBPACKER_DEV_SERVER_HOST0.0.0.0serverdocker/server.Dockerfile.dev3000NestJS 后端TOOLJET_EDITIONce读取根目录.envpostgrestpostgrest/postgrest:v12.2.03001→3000为 ToolJet 数据库提供 REST API 层postgrespostgres:135432主数据库通过.env注入POSTGRES_USER/POSTGRES_PASSWORDredisredis:7-alpine6379开启 appendonly 持久化用于队列/缓存生产镜像与入口脚本可参考 docker/ce-production.Dockerfile、docker/ce-entrypoint.sh以及 LTS 系列的 docker/LTS。后端开发环境依赖的关键运行命令start:dev、db:migrate等在根 package.json 的 scripts 中均有一一对应的 npm 脚本。部署方式矩阵从 Docker 到多集群环境README 的 Self-hosted 章节列出十余种部署目标。仓库为其中的主流部署形态都准备了真实的编排文件这里把 README 提及的 Provider 与仓库内可验证的配置对应起来部署形态仓库内资源Docker Compose开发docker-compose.yamlDocker Compose仅数据库deploy/docker/docker-compose-db.yamlDocker Compose完整deploy/docker/docker-compose.yamlAWS EC2deploy/ec2Kubernetes通用deploy/kubernetes/deployment.yaml、deploy/kubernetes/service.yamlGKEdeploy/kubernetes/GKEAKSdeploy/kubernetes/AKSOpenShiftdeploy/openshift/deployment.yamlHelmdeploy/helm含 values.yaml 与 templates客户端前端独立部署前端 Nginx 模板见 frontend/config/nginx.conf.template子路径Subpath部署文档见 docs/docs/setup 下 24 篇 setup 文档平台还同时上架了 AWS Marketplace 与 Azure Marketplace方便在公有云内一键订阅部署详见 README.md 的 Marketplace 章节。需要注意的是各 Provider 的分步教程、环境变量清单与前提条件在外部文档站维护本仓库的对应文档源码位于 docs/docs/setup其中既有按云厂商ec2、kubernetes、helm 等划分的部署说明也有Deploying ToolJet client这类面向单一前端组件的专项指南。数据与安全设计加密与数据流原则README 在安全项中给出了三条关键承诺AES-256-GCM 加密、数据仅经代理流转proxy-only data flow、SSO 支持。其中加密实现可以直接在源码中得到验证文件 server/src/modules/encryption/service.ts 中加密路径在第 34 行使用crypto.createCipheriv(aes-256-gcm, key, nonce)解密路径在第 50 行对应crypto.createDecipheriv(aes-256-gcm, key, nonce)即服务端对敏感凭据如数据源密码、OAuth 密钥采用 Node.js 内置 crypto 模块实现的标准 AES-256-GCM 对称加密。从代码结构看这一加密服务被大量数据源/凭据相关模块复用仓库中上百个 TypeORM schema 迁移与数据迁移server/migrations、server/data-migrations持续演进着凭据与配置存储模型例如1709618105785-EncryptValuesForExistingOrganizationConstants.ts、1752749046662-EncrpyGoogleCalendarClientSecret.ts等迁移文件表明加密能力也覆盖组织常量与第三方服务的 client secret。SSO 相关的支持则散见于用户体系的数据模型中如AddSSOIdToUser、OrganizationsInheritSSO等迁移README 与官方文档都强调其支持 Okta、Google、Azure AD、OpenID Connect 等常见 IdP企业版还追加审计日志与更细粒度的访问控制。想进一步理解平台权限体系演进的读者可以顺着server/migrations中 2024 年后的组权限/细粒度权限系列迁移如1714015564318-AddGranularPermissionsTable.ts追溯。数据源生态与插件扩展机制80 数据源与可扩展连接器是 ToolJet 的核心卖点之一仓库从两个层面支撑这一能力官方插件plugins/packages以 Lerna 单体仓库组织内含 40 个官方连接器包覆盖 PostgreSQL、MySQL、MongoDB、Redis、Elasticsearch、S3、Stripe、Slack、Twilio、BigQuery、ClickHouse 等常用服务每个包都带统一的 manifest、operations schema 与 TS 实现市场插件marketplace/plugins以同样结构组织的第三方/官方扩展例如 OpenAI、Anthropic、Gemini、AWS Bedrock、Salesforce、HubSpot 等并配套 marketplace/scripts 做构建与发布插件脚手架plugins/_templates/plugin与marketplace/_templates/plugin提供新连接器的生成模板结合 cli 下的 ToolJet CLI 命令即可快速创建自定义数据源插件。值得关注的是这些插件同时承载了 AI 时代的 LLM 集成仓库的流程图与插件目录都显示 OpenAI、Hugging Face、Anthropic、Gemini、Cohere、Portkey、Mistral 等 LLM 服务均以标准数据源形式接入这与ToolJet AI 基于 CE 开放基础叠加 AI 能力的定位一脉相承。贡献与工程规范README 的工程治理信息对潜在贡献者同样重要仓库内均有对应落地分支模型采用 git-flow。基础分支为develop需要稳定版本时切换到main或v1.x.x之类的 tag。贡献指南CONTRIBUTING.md 描述 bug 修复、功能建议与本地构建/测试流程同时仓库还提供了 CODE_OF_CONDUCT.md、SECURITY.md 与 SECURITY-INCIDENT-RESPONSE.md。开发上下文CLAUDE.md 面向 AI 编程助手与人类开发者记录了版本机制、目录约定、常用命令如cd server npm run start:dev、cd server npm run db:migrate以及EE 服务继承 CE 基类等架构不变量根目录的 UBIQUITOUS_LANGUAGE.md 是领域术语词典明确指出Organization代码实体 Workspace用户界面用语、Widget旧称 Component这类容易踩坑的概念映射。测试资产仓库保留了大量 Cypress 端到端测试cypress-tests以及后端单测目录 server/test可作行为参考。文档与后续学习路径README 中大量指向外部文档站的链接其内容源即本仓库的 Docusaurus 站点目录 docs平台总览与4 步构建应用的工作方式说明见 docs/docs/getting-started/platform-overview.md从零构建一个员工目录应用的图文教程见 docs/docs/getting-started/quickstart-guide.md组件Widget参考文档按名称散落在 docs/docs/widgets共 60 篇数据源参考文档见 docs/docs/data-sources部署、用户管理、ToolJet 数据库、工作流等主题分别在 docs/docs/setup、docs/docs/user-management、docs/docs/tooljet-db、docs/docs/workflows 下独立成篇。许可证与版权README 明确声明ToolJet © 2023 ToolJet Solutions Inc以GNU Affero General Public License v3.0AGPL v3.0发布仓库根目录的 LICENSE 与 THIRD-PARTY-NOTICES 提供了完整的法律文本与第三方组件声明。AGPL 的传染性条款意味着基于其源码做二次分发/网络服务时需要格外关注合规义务这也与CE 开源、AI 企业能力闭源子模块的双轨商业模型相呼应。总结本仓库的 README 实际上描绘了一幅以低代码 CE 为底座、以 AI 与合规能力为增值层的产品蓝图技术侧你可以拿到 NestJS React 的完整可运行源码、40 官方连接器与可扩展的插件 SDK运维侧它覆盖从docker run单命令体验到 Kubernetes/Helm/多云编排的全谱系部署资产开发侧则有清晰的 git-flow 分支模型、贡献指南与面向 Agent 的工程文档。若你的团队恰好需要一套可自托管、可深度定制的内部工具/看板/工作流平台这正是一个值得重点评估的开源候选。【免费下载链接】ToolJetOpen-source foundation of ToolJet AI - the enterprise app generation platform for internal tools, dashboards, business applications, workflows and AI agents. Build visually, from a prompt, or from Claude Code, Codex and Cursor over MCP 项目地址: https://gitcode.com/GitHub_Trending/to/ToolJet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考