今天发现了一个让我眼前一亮的开源项目——Windmill。它把内部工具(像 Retool)、工作流自动化(像 Zapier/n8n)和任务调度合在一起,而且完全免费,可以自己部署,无限用户、无限执行次数。
说实话,这类工具我之前试过不少,但要么贵,要么定制化差。Windmill 真正吸引我的是它的核心理念:代码优先——你用 TypeScript、Python、Go、Bash 或者 SQL 写脚本,它帮你自动变成 API。
快速上手
一条命令跑起来:
docker compose up -d
或者用 CLI:
pip install windmill-cli
wmill init
脚本 = API 端点
这是 Windmill 最妙的地方——你写的每个脚本天然就是一个 REST API,不需要额外配置:
// TypeScript
export async function main(name: string, count: number = 5) {
const results = [];
for (let i = 0; i < count; i++) {
const res = await fetch("https://api.example.com/data?name=" + name + "&page=" + i);
results.push(await res.json());
}
return results;
}
# Python
import requests
def main(url: str, timeout: int = 30):
response = requests.get(url, timeout=timeout)
return {"status": response.status_code, "data": response.json()}
不需要写路由、不需要配服务器,脚本就是端点,直接 curl 调用。
Flows:拖拽式工作流
如果想把多个脚本串成工作流,Windmill 有可视化的 Flow 编辑器。抓取订单 → 循环验证 → 发 Slack 通知,全程可视化,但每个环节都是你写的脚本,不是黑箱。
内置 App Builder:自建内部工具
Retool 能做的事,Windmill 也能做。拖一个表格组件,连接到你的脚本,5分钟搭一个后台管理界面。
对比其他方案
| 功能 | Windmill | Retool | n8n | Zapier |
|---|---|---|---|---|
| 开源 | 是 | 否 | 是 | 否 |
| 代码优先 | TS/Py/Go/SQL | 低代码 | 低代码 | 无代码 |
| 自托管免费 | 无限 | 企业版 | 有限制 | 有限制 |
适合谁用
- 想自建内部工具,不想付 Retool 订阅费
- 需要把脚本变成 API 给别人调用
- 有自动化需求但不想用 Zapier 的无代码方案
- 想在一个平台搞定脚本+工作流+定时任务+后台界面
这是我最近看到的最适合独立开发者和小团队的开源工具之一。Docker 一键部署,真的没有理由不用。
官网:windmill.dev
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


































暂无评论内容