每次查个订单、改条数据、导个报表都要喊开发排期,中小企业的内部工具到底什么时候才能自己说了算?
一句话介绍 ToolJet:它是一款开源的低代码平台,能让你像搭积木一样快速搭出内部后台、数据看板、审批流和 AI 应用,代码量和成本都往下压。目前在 GitHub 上已经拿到 40,000+ Star,社区版完全免费。

项目简介
ToolJet 的定位非常直接:做企业内部工具的「开源平替」。
它的社区版 AGPL-3.0 开源,自带可视化应用构建器、内置数据库、80 多种数据源连接和工作流编排。最新 LTS 版本是 v3.20.212-lts,8 月 14 日刚发版,新增了不少组件动态高度、货币输入格式等细节能力。
对企业团队来说,它能替代一部分传统商业低代码平台;对个人开发者和小团队来说,Docker 一行命令就能本地跑起来,拿来练手或者做 side project 都很合适。
核心特性
60+ 响应式组件,拖出来就能用
表格、表单、图表、按钮、日历、文件选择器这些常用组件直接拖进画布,属性面板点两下就能改样式和事件,不用从零写前端。

80+ 数据源,数据库、API、SaaS 都能接
PostgreSQL、MySQL、MongoDB、Redis、BigQuery、Snowflake 这些数据库就不说了,REST API、GraphQL、Stripe、Slack、Airtable、Google Sheets 也能直接连,基本覆盖日常后台要对接的系统。

内置 ToolJet Database,不用额外搭数据库
如果暂时不想连外部库,直接用内置的 PostgreSQL 数据库就能建表、写数据、跑查询,入门成本更低。

可视化 Workflow + 代码扩展
复杂场景可以拖流程节点,触发器、条件分支、JS/Python 脚本都能塞进去。App 里也可以直接写 JavaScript 或 Python 做转换和计算,自由度和低代码体验平衡得不错。

自托管友好
Docker、Kubernetes、AWS、GCP、Azure 都能部署,数据留在自己服务器上,对合规和隐私有要求的团队会比较安心。
怎么用
最省事的起步方式是一条 Docker 命令把 ToolJet 跑在本地:
docker run \
--name tooljet \
--restart unless-stopped \
-p 80:80 \
--platform linux/amd64 \
-v tooljet_data:/var/lib/postgresql/13/main \
-v temporal_sqlite:/etc/temporal \
tooljet/try:ee-latest
跑起来后打开 http://localhost 注册账号就能进工作台。

跟着官方 Quickstart 走一遍「员工名录」小应用,基本就摸清楚 ToolJet 的逻辑了:
- 在工作台点 Create new app,起名叫 Employee Directory,然后拖一个 Table 组件到画布上。
- 打开左侧的 ToolJet Database,新建
employees 表,加上 firstname、lastname、email、department、position、status 等字段,再填几条示例数据。
- 在底部 Query Panel 点 Add,选 ToolJet Database 作为数据源,查询名改成
getEmployees,表选 employees,操作选 List rows,并勾选「应用加载时自动运行」。

- 点击 Table 组件,在右侧属性面板的 Data 里填入:
{{queries.getEmployees.data}}
- 再建一个
addEmployees 查询,操作选 Create row,把表格里的新增行字段绑定进去:
{{components.table1.newRows[0].email}}
{{components.table1.newRows[0].firstname}}
- 给 Table 的 Add new rows 事件加「运行查询 → addEmployees」,再给
addEmployees 的 Query Success 事件加「运行查询 → getEmployees」,这样保存后表格会自动刷新。

- 点右上角的 Preview 预览,确认没问题后点 Release 发布,再用 Share 把链接丢给同事。

效果长啥样
上面这套流程跑完之后,就是一个能查、能增、能实时刷新的员工管理后台。官方 Quickstart 里的 Time Tracker 应用也是同样的搭法:拖表格、绑查询、加按钮,最后出来的界面长这样:

换成订单管理、库存看板、客户线索池、报销审批这些场景,逻辑几乎一样:建表 → 写查询 → 拖组件 → 绑数据 → 发布分享。
为什么值得用
- 对个人开发者:开源、免费、能自托管,简历里多个低代码/内部工具项目,面试聊得起来。
- 对小团队:不养专职前端也能把后台系统搭起来,需求来了自己改,不用排队等开发排期。
- 对企业:数据留在自己服务器,支持 SSO、RBAC、审计日志和 Git 同步,比 SaaS 低代码平台更可控。
结尾
内部工具这件事,既不想被商业平台绑架,又不想从零写全套代码,ToolJet 算是中间那个比较甜的点。周末花个半小时跑一遍 Docker 员工名录 Demo,基本就能判断它适不适合你的场景了。
项目仓库: ToolJet/ToolJet