热度观测:最近观测 18297 星,达到本渠道热门门槛 1000。

← 返回内容列表
GGitHub采集材料

Windmill:用代码构建工作流与 AI Agent

发布时间未知 · 北京时间

智能体应用

有实践材料可继续查看

代码仓库安装说明使用说明示例代码教程线索

原文与观测指标

1 个来源
GGitHub

Windmill:用代码构建工作流与 AI Agent

windmill-labs
查看原文
星标18,297采集时的累计值
每小时增长待观察星标 / 小时 · 观测区间平均值
最近提交10-28 08:28提交时间不是项目发布时间

发布时间:未知 · 首次发现 10-28 08:30 · 北京时间

指标采集:10-28 08:30 · 指标已取得

项目文档有线索安装说明有线索使用说明有线索示例有线索

仅反映文档与示例线索,未实际运行项目。

摘要

Windmill 将脚本转成可共享的界面、API 或定时任务,并可组合成数据管道、AI Agent 和应用。团队可让 AI 在工作区分支中创建脚本、流程或应用,再通过预览、差异审查和部署规则控制变更上线。

摘要由 AI 生成,请以原文为准。
观测历史 · 最近 1 条 展开 / 收起

缺失不计为零;增长只比较同一指标来源的有效记录,按实际间隔折算每小时。上游缓存可能延迟数值更新。

采集时间 · 北京时间指标数值来源状态
10-28 08:30:02Star18,297GitHub 公开页面已取得
采集原文 展开 / 收起

windmill

Code-first platform for workflows, apps and AI agents, on the fastest self-hostable orchestrator (benchmarked against Airflow, Prefect an…
项目说明 展开 / 收起
Open-source, self-hostable code-first platform for workflows, apps and AI agents, running on the fastest self-hostable orchestrator. Engineers write code in 20+ languages and sync it with Git. Business teams build on the same platform with AI, while review, promotion between environments and isolated workers keep engineers in control of what ships. Self-hostable alternative to Lovable, Retool, n8n and a simplified Temporal. Scripts are turned into sharable UIs, APIs and cron jobs automatically, and can be composed together into flows, data pipelines, AI agents or full-code React and Svelte apps. Supported languages: Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust, and more. Try it - Website - Docs - Discord - Hub - Contributing Windmill - Code-first platform for workflows, apps and AI agents Windmill is fully open-sourced (AGPLv3) and Windmill Labs offers dedicated instances and commercial support and licenses. readme_video.mp4 Windmill - Code-first platform for workflows, apps and AI agents Build with AI, ship with review Main Concepts What the code looks like Data: data tables, DuckDB and DuckLake Develop locally or in the browser Stack Fastest Self-Hostable Workflow Engine Security Performance Architecture How to self-host Docker compose Kubernetes (Helm charts) Cloud providers OAuth, SSO & SMTP License Integrations Environment Variables Contributing Copyright Build with AI, ship with review Business teams and engineers build on the same Windmill instance. What the AI builds is an ordinary script, flow or app, and goes through the same review as code written by engineers: AI sessions build scripts, flows and apps with AI in a workspace fork, with a live preview and a diff to review before deploying. Workspace roles decide what each team can author, and folders scope the resources, skills and MCP servers its AI can reach. Protection rulesets block direct deployment, so changes reach production only after an engineer reviews and deploys them. Dev workspaces keep their own credentials, and promote to prod through Compare & Deploy or a Git pull request. Worker groups run AI-built code on its own workers, or on a separate instance. See let business teams build with AI safely for the full setup. Engineers keep writing code locally with the CLI, the VS Code extension and their coding agent, synced with Git. Main Concepts Define a minimal and generic script in Python, TypeScript, Go or Bash that solves a specific task. The code can be defined in the provided Web IDE or synchronized with your own GitHub repo (e.g. through VS Code extension): provided Web IDE or synchronized with your own GitHub repo (e.g. through VS Code extension): Your scripts parameters are automatically parsed and generate a frontend. Make it flow! You can chain your scripts or scripts made by the community shared on WindmillHub. Build complex UIs on top of your scripts and flows. Scripts and flows can be triggered by schedules, webhooks, HTTP routes, Kafka, WebSockets, emails, and more. Build your entire infra on top of Windmill! What the code looks like A script is a plain function. Its typed arguments become a generated form, an HTTP endpoint and a CLI command: import * as wmill from "windmill-client"; import dayjs from "dayjs"; // any npm package, resolved and pinned automatically export async function main( customerId: string, plan: "starter" | "pro", // a union of strings becomes a dropdown trialDays = 14 // defaults infer the type ) { const trialEnd = dayjs().add(trialDays, "day").toISOString(); // a data table: the workspace's Postgres, queried without a connection string const sql = wmill.datatable(); await sql`INSERT INTO trials (customer_id, plan, trial_end) VALUES (${customerId}, ${plan}, ${trialEnd})`.fetch(); // secrets are permissioned by path const slackToken = await wmill.getVariable("f/sales/slack_token"); await fetch("https://slack.com/api/chat.postMessage", { method: "POST", headers: { Authorization: `Bearer ${slackToken}`, "Content-Type": "application/json" }, body: JSON.stringify({ channel: "#sales", text: `New ${plan} trial: ${customerId}` }), }); console.log(`Trial started for ${customerId}`); // logs stream live in the UI return { customerId, plan, trialEnd }; // returned as JSON } Workflows are code too. Each task runs as its own job with its own logs, and waiting for an approval releases the worker: import { task, waitForApproval, workflow } from "windmill-client"; async function plan(env: string) { return { env, changes: 3 }; } async function apply(plan: { env: string; changes: number }) { return `applied ${plan.changes} changes to ${plan.env}`; } export const main = workflow(async (env: string) => { const changes = await task(plan)(env); const approval = await waitForApproval({ timeout: 3600 }); if (!approval.approved) { return `rejected by ${approval.approver}`; } return await task(apply)(changes); }); Flows can also be built in the visual flow editor or as YAML, with scripts like the first one as steps. See workflows as code. Data: data tables, DuckDB and DuckLake Data tables give each workspace managed Postgres tables, queried with type-checked SQL from TypeScript, Python and DuckDB scripts without exposing a connection string. DuckDB scripts query S3 and Azure Blob files (CSV, Parquet, JSON), data tables, Postgres, MySQL and BigQuery in SQL, on your workers. DuckLake stores large datasets as lakehouse tables in your workspace object storage, queried in plain SQL. Pipelines (alpha) wire scripts by the data they read and write instead of a hand-drawn DAG. This script runs whenever events is materialized, and materializes its own table: -- pipeline -- on ducklake://main/events -- materialize ducklake://main/events_by_kind ATTACH 'ducklake://main' AS dl; SELECT kind, count(*) AS n FROM dl.events GROUP BY kind; Existing dbt projects run unmodified as scripts. See the pipelines quickstart. Develop locally or in the browser Engineers work from their editor and coding agent, business t