这个项目能做什么
Windmill 是一个可自托管的开发者平台,旨在管理内部代码,包括 API、后台作业、工作流和用户界面。它允许开发者使用多种语言编写脚本——包括 Python、TypeScript、Go、Bash、SQL、GraphQL、PowerShell 和 Rust——这些脚本随后会根据其参数自动转换为可共享的 UI。
核心能力包括:
- **工作流编排**:脚本可以串联成复杂的工作流,并通过计划任务、Webhook、HTTP 路由、Kafka、WebSockets 或电子邮件触发。
- **UI 构建器**:低代码工具,用于在现有脚本和工作流之上构建复杂的内部应用程序。
- **本地开发**:支持 CLI、VS Code 扩展以及双向 Git 同步,以实现专业的开发工作流。
- **高性能**:基于 Rust 的后端和 Postgres 队列,旨在实现低延迟的作业执行。
- **安全性**:采用 nsjail 进行文件系统和资源隔离,以及 PID 命名空间隔离,以确保作业执行的安全。
该平台可以通过 Docker Compose 或 Kubernetes (Helm charts) 部署,并支持多种云供应商。其技术栈由 Rust 后端、Svelte 5 前端和 Postgres 数据库组成。