Windmill — Open-Source Internal Tool Platform
Windmill is an open-source platform for building internal tools, APIs, and workflows. 16.1K+ GitHub stars. 13x faster than Airflow, multi-language, auto UI. AGPLv3.
先审查再安装
这个资产需要先审查。复制的指令会要求 Agent dry-run、列出写入项,确认后再继续。
npx -y tokrepo@latest install efb5a136-7e85-472e-ac04-b86dc0949f44 --target codex先 dry-run,确认写入项后再运行此命令。
What it is
Windmill is an open-source platform for building internal tools, APIs, background jobs, and workflows. You write scripts in Python, TypeScript, Go, Bash, or SQL, and Windmill generates a UI, handles scheduling, manages secrets, and provides approval flows -- all without frontend code.
It targets engineering and operations teams that need to build internal tooling quickly without maintaining a separate web application. Windmill is self-hostable and AGPLv3 licensed.
How it saves time or tokens
Building an internal tool traditionally means writing a script, then building a web UI for non-technical users to trigger it, then adding authentication, secret management, and scheduling. Windmill collapses all of this into a single platform. Write a function, Windmill infers the input schema and generates a form UI.
The platform claims to be 13x faster than Airflow for workflow orchestration, with a focus on developer experience over configuration complexity.
How to use
- Deploy Windmill with Docker Compose:
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
docker compose up -d
- Open
http://localhost:8000and create your first script.
- Write a script in any supported language:
# Windmill auto-generates a UI from this function signature
def main(name: str, count: int = 5):
return [f'Hello {name}' for _ in range(count)]
Windmill creates a web form with a text input for name and a number input for count.
Example
// TypeScript script in Windmill
import { Windmill } from 'windmill-client';
export async function main(
database_url: string,
query: string
): Promise<Record<string, unknown>[]> {
const client = new Windmill();
// Windmill manages the database_url as a secret
const results = await client.runQuery(database_url, query);
return results;
}
Workflows chain multiple scripts together with branching and error handling:
fetch_data -> transform -> if error: notify_slack else: write_to_db
Related on TokRepo
- AI Tools for Automation -- More workflow automation platforms
- AI Tools for No-Code -- Low-code and no-code development tools
Common pitfalls
- The AGPLv3 license requires you to open-source modifications if you offer Windmill as a service to third parties. For internal use only, this does not apply.
- Self-hosted Windmill needs PostgreSQL as its backing database. The Docker Compose file includes Postgres, but production deployments should use a managed database.
- Script dependencies are installed at runtime. Cold starts can be slow for scripts with heavy dependencies. Use Windmill's dependency caching to mitigate this.
常见问题
Retool is a drag-and-drop UI builder for internal tools. Windmill is code-first: you write scripts and Windmill generates the UI from function signatures. Windmill also handles workflow orchestration, scheduling, and background jobs, while Retool focuses on UI building.
The Community Edition is free and open-source under AGPLv3. Windmill also offers a paid Cloud and Enterprise edition with additional features like SSO, audit logs, and priority support.
Windmill supports Python, TypeScript, Go, Bash, SQL, and GraphQL. Each script runs in an isolated environment with its own dependencies.
For internal tool workflows and simple ETL pipelines, yes. Windmill's workflow engine supports branching, retries, and approval steps. For complex data engineering pipelines with deep ecosystem integrations, Airflow's plugin ecosystem is still broader.
Yes. Windmill has built-in approval steps that pause a workflow and send a notification to a designated approver. The workflow resumes only after approval is granted via the web UI or API.
引用来源 (3)
- Windmill GitHub Repository— Windmill is an open-source platform for internal tools and workflows
- Windmill Documentation— Supports Python, TypeScript, Go, Bash, SQL scripts with auto-generated UIs
- Windmill README— AGPLv3 licensed with Docker Compose deployment
来源与感谢
Created by Windmill Labs. Licensed under AGPLv3. windmill-labs/windmill — 16,100+ GitHub stars
讨论
相关资产
SigNoz — Open Source APM & Observability Platform
SigNoz is an open-source Datadog/New Relic alternative with logs, traces, and metrics in one platform. Native OpenTelemetry support, ClickHouse backend, and powerful dashboards.
Huly — All-in-One Open Source Project Management Platform
Huly is an open-source alternative to Linear, Jira, Slack, and Notion. Project tracking, team chat, knowledge base, and HR tools in a single unified platform.
Documenso — Open Source Document Signing Platform
Documenso is an open-source DocuSign alternative for self-hosted document signing with PDF e-signatures, audit trails, and Next.js stack.
NocoDB — Open Source No-Code Database Platform
NocoDB turns any SQL database into a smart spreadsheet with REST APIs. Open-source Airtable alternative with views, automations, and team collaboration.