专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单页面收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/windmill-labs/windmill-cli

ghcr.io/windmill-labs/windmill-cli:1.705

ghcr.iolinux/amd641.705大小: 未知更新于 2026年6月6日
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

Windmill - 面向 API、后台任务、工作流和 UI 的开发者平台

Windmill 完全开源(AGPLv3 许可),Windmill Labs 提供专用实例以及商业支持和许可。

  • Windmill - 面向 API、后台任务、工作流和 UI 的开发者平台
  • 核心概念
  • 实际脚本代码示例
  • 本地开发
  • 技术栈
  • 最快的自托管工作流引擎
  • 安全性
  • 性能
  • 架构
  • 如何自托管
  • Docker Compose
  • Kubernetes(Helm 图表)
  • 云服务提供商
  • OAuth、SSO 和 SMTP
  • 许可协议
  • 集成
  • 环境变量
  • 运行本地开发环境
  • 仅前端
  • 后端 + 前端
  • 贡献者
  • 版权

核心概念

  1. 脚本参数会被自动解析并生成前端界面。

  2. 构建工作流!你可以将自己的脚本或社区在 WindmillHub 上共享的脚本串联起来。

  3. 在脚本和工作流基础上构建复杂 UI。

在 Windmill 之上构建你的整个基础设施!

实际脚本代码示例

// 从 npm 导入任何依赖
import * as wmill from "windmill-client";
import * as cowsay from "cowsay@1.5.0";

// 定义类型,或使用 +Resource 类型获取资源的类型安全引用
type Postgresql = {
host: string;
port: number;
user: string;
dbname: string;
sslmode: string;
password: string;
};

export async function main(
a: number,
b: "my" | "enum",
c: Postgresql,
d = "从默认参数推断的字符串类型",
e = { nested: "object" }
//f: wmill.Base64
) {
const email = process.env["WM_EMAIL"];
// 变量按路径进行权限控制
let variable = await wmill.getVariable("f/company-folder/my_secret");
const lastTimeRun = await wmill.getState();
// 日志会被打印并始终可查看
console.log(cowsay.say({ text: "hello " + email + " " + lastTimeRun }));
await wmill.setState(Date.now());

// 返回值会序列化为 JSON
return { foo: d, variable };
}

本地开发

Windmill 支持多种本地开发方式,并可与你的实例同步:

工具描述
CLI从本地文件或 GitHub 同步脚本,通过命令行运行脚本/工作流
VS Code 扩展直接在 VS Code / Cursor 中编辑和测试脚本与工作流,提供完整 IDE 支持
Git 同步Windmill 与 Git 仓库之间的双向同步
Claude Code借助 Claude 进行 AI 辅助开发,支持脚本、工作流和应用

你可以通过传递正确的环境变量,让 wmill 客户端库从你的实例获取资源和变量,从而在本地运行脚本。详见 本地开发文档。

技术栈

  • 数据库:Postgres(兼容 Aurora、Cloud SQL、Neon、Azure PostgreSQL)
  • 后端:Rust - 无状态 API 服务器和从 Postgres 队列拉取任务的工作器
  • 前端:Svelte 5
  • 沙箱:https://github.com/google/nsjail 和 PID 命名空间隔离
  • 运行时:
    • TypeScript/JavaScript:Bun(默认)和 Deno
    • Python:python3,使用 uv 进行依赖管理
    • Go、Bash、PowerShell、PHP、Rust、C#、Java、Ansible

最快的自托管工作流引擎

我们将 Windmill 与其他自托管工作流引擎(Airflow、Prefect 和 Temporal)进行了比较,Windmill 在以下两个基准测试中均表现最佳:一个包含 40 个轻量级任务的工作流,以及一个包含 10 个长时间运行任务的工作流。

所有方法和结果详见我们的 基准测试 页面。

安全性

  • 沙箱:https://github.com/google/nsjail 用于文件系统/资源隔离,PID 命名空间隔离(默认启用)可防止任务访问工作器进程内存
  • 密钥:每个工作区使用一个加密密钥来加密存储在 Windmill K/V 存储中的凭据。我们建议同时加密 Postgres 数据库。

详见 安全文档。

性能

任务启动后,与在节点上使用相应运行器(Deno/Go/Python/Bash)运行相同脚本相比,没有额外开销。任务从队列拉取、启动到结果返回数据库的附加延迟约为 50ms。一个典型的轻量级 deno 任务总耗时约为 100ms。

架构

如何自托管

有关详细的设置选项,请参阅 自托管文档。

Docker Compose

使用 3 个文件(docker-compose.yml、Caddyfile、.env)部署 Windmill:

curl https://raw.githubusercontent.com/windmill-labs/windmill/main/docker-compose.yml -o docker-compose.yml
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/Caddyfile -o Caddyfile
curl https://raw.githubusercontent.com/windmill-labs/windmill/main/.env -o .env

docker compose up -d

访问 http://localhost - 默认凭据:admin@windmill.dev / changeme

使用外部数据库:在 .env 中设置 DATABASE_URL 指向托管 Postgres(AWS RDS、GCP Cloud SQL、Azure、Neon 等),并将数据库副本数设为 0。

Kubernetes(Helm 图表)

helm repo add windmill https://windmill-labs.github.io/windmill-helm-charts/
helm install windmill-chart windmill/windmill --namespace=windmill --create-namespace

云服务提供商

Windmill 可在 AWS (EKS/ECS)、GCP、Azure、Ubicloud、Fly.io、Render.com、Hetzner、Digital Ocean 等平台上运行。经验法则:每 1vCPU 和 1-2 GB RAM 配置 1 个工作节点。

OAuth、SSO 与 SMTP

可直接从超级管理员 UI 配置 OAuth 和 SSO(Google Workspace、Microsoft/Azure、Okta)。参见文档。

许可协议

社区版可免费在内部使用。如需商业再分发或托管服务,请联系 。详情参见 LICENSE 和 定价。

Windmill“社区版”可通过 ghcr.io/windmill-labs/windmill 托管的 Docker 镜像和 GitHub 二进制发行版获取,包含 AGPLv3 和 Apache 2 许可下的源代码文件,同时也包含非开源的专有和非公开代码及功能,这些内容受以下条款约束:Windmill Labs, Inc. 授予免费使用“社区版”所有功能的权利,除软件中设置的限制和配额外无其他限制;授予按原样分发社区版的权利,但未经明确协议,不得销售、转售、将 Windmill 作为托管服务提供、修改或以任何形式包装。

从本仓库源代码(未启用“enterprise”功能标志)编译的二进制文件采用 https://github.com/windmill-labs/windmill/blob/main/LICENSE-AGPL 许可条款,属于开源软件。

若要将 Windmill 的任何部分作为产品功能直接重新暴露给您的用户(嵌入的公开 Windmill“应用”除外),或在“Windmill 社区版”基础上构建商业销售或嵌入可分发产品/二进制文件的功能,您必须获取商业许可。如有任何问题,请联系 。若使用从本仓库源代码(未启用“enterprise”功能标志)编译的二进制文件执行上述操作,您必须遵守 AGPLv3 许可条款,或从 Windmill Labs, Inc. 获取商业许可。

在组织内部按原样使用 Windmill“社区版”,或按原样使用其 API,无需商业许可。

集成

在 Windmill 中,集成被称为资源和资源类型。每个资源都有一个资源类型,该类型定义了资源需要实现的 schema。

在自托管实例上,您可能需要从 WindmillHub 导入所有已批准的资源类型。安装脚本会提示您将其设置为每天自动同步。

环境变量

环境变量名称默认值描述API服务器/工作节点/全部
DATABASE_URLPostgres 数据库 URL。全部
WORKER_GROUPdefault工作节点所属的工作组,从中拉取配置工作节点
MODEstandalone二进制文件的模式。可能的值:standalone、worker、server、agent全部
METRICS_ADDRNone(仅企业版)用于在 /metrics 路径暴露 Prometheus 指标的套接字地址。设置为 "true" 可在端口 8001 上暴露全部
JSON_FMTfalse以 JSON 格式输出日志,而非 logfmt 格式全部
BASE_URLhttp://localhost:8000公开访问实例的基础 URL。如果存在实例设置,将覆盖此值服务器
ZOMBIE_JOB_TIMEOUT30如果工作节点未发送作业处理 ping(服务器每 30 秒检查一次僵尸作业),作业被视为僵尸的超时时间(秒)服务器
RESTART_ZOMBIE_JOBStrue如果为 true,僵尸作业将重启(使用相同 UUID 原地重启并保留部分日志);如果为 false,僵尸作业将标记为失败服务器
NATIVE_MODEfalse启用原生模式:设置 NUM_WORKERS=8,拒绝非原生作业(nativets、postgresql、mysql 等)工作节点
SLEEP_QUEUE50数据库中最后一次检查新作业后休眠的毫秒数。该值乘以 NUM_WORKERS,因此平均而言,一个工作节点实例每 SLEEP_QUEUE 毫秒拉取一次作业工作节点
KEEP_JOB_DIRfalse作业完成后保留作业目录。用于调试。工作节点
LICENSE_KEY (EE only)NoneWindmill 企业版启动时检查的许可证密钥工作节点
SLACK_SIGNING_SECRETNoneSlack 应用的签名密钥。参见 Slack 文档服务器
COOKIE_DOMAINNoneCookie 的域名。如果未设置,浏览器将根据完整源设置 Cookie服务器
DENO_PATH/usr/bin/denodeno 二进制文件的路径。工作节点
PYTHON_PATH若不想由 uv 管理 Python 二进制文件,此处设置其路径工作节点
GO_PATH/usr/bin/gogo 二进制文件的路径。工作节点
GOPRIVATE用于私有 Go 模块的 GOPRIVATE 环境变量工作节点
GOPROXY要使用的 GOPROXY 环境变量工作节点
NETRC用于私有 Go 注册表的 netrc 内容工作节点
PY_CONCURRENT_DOWNLOADS20设置 Windmill 在任何时候执行的并发 Python 下载的最大数量工作节点
PATHNone路径环境变量,通常继承工作节点
HOMENone用于 Go 和 Bash 的主目录,通常继承工作节点
DATABASE_CONNECTIONS50(服务器)/3(工作节点)数据库连接池中的最大连接数全部
SUPERADMIN_SECRETNone允许调用者以虚拟超级管理员 *** 身份操作的令牌服务器
TIMEOUT_WAIT_RESULT20'run_wait_result' 端点超时前的等待秒数工作节点
QUEUE_LIMIT_WAIT_RESULTNone'run_wait_result' 端点在立即拒绝请求前的最大队列作业数。优先于查询参数。如果未指定,则无限制工作节点
DENO_AUTH_TOKENSNone传递给工作节点的自定义 DENO_AUTH_TOKENS,以允许使用私有模块工作节点
DISABLE_RESPONSE_LOGSfalse禁用响应日志服务器
CREATE_WORKSPACE_REQUIRE_SUPERADMINtrue如果为 true,仅超级管理员可创建新工作区服务器
MIN_FREE_DISK_SPACE_MB***工作节点的最小可用磁盘空间(MB)。如果工作节点可用空间不足,将发送严重警报工作节点
RUN_UPDATE_CA_CERTIFICATE_AT_STARTfalse如果为 true,在其他初始化之前,启动时运行 CA 证书更新命令全部
RUN_UPDATE_CA_CERTIFICATE_PATH/usr/sbin/update-ca-certificates当 RUN_UPDATE_CA_CERTIFICATE_AT_START 为 true 时,要运行的 CA 证书更新命令/脚本的路径全部

运行本地开发环境

我们建议使用 Nix。有关所有选项,请参见 ./frontend/README_DEV.md。

仅前端

使用后端配合本地前端(热重载):

cd frontend
npm install
npm run generate-backend-client # 或在 Mac 上使用 generate-backend-client-mac
npm run dev

Windmill 可通过 http://localhost/ 访问

后端 + 前端

有关所有运行选项,请参见 ./frontend/README_DEV.md 文件。

  1. 使用例如 start-dev-db.sh 脚本启动本地 Postgres 数据库,该脚本将在 postgres://postgres:changeme@localhost:5432/windmill 提供数据库。然后使用以下命令运行迁移:
cargo install sqlx-cli
env DATABASE_URL= sqlx migrate run

这也将避免 sqlx 的 query! 宏出现编译时问题。 2. (可选,仅 Linux)安装 https://github.com/google/nsjail 并确保其在 PATH 中可访问 3. 安装 bun、deno 和 python3(以及任何你想使用的语言),确保二进制文件位于 /usr/bin/bun、/usr/bin/deno 和 /usr/local/bin/python3,或设置相应的环境变量。 4. (可选)安装 lld 链接器 5. 进入 frontend/ 目录:

  1. npm install、npm run generate-backend-client,然后 REMOTE=http://localhost:8000 npm run dev
  2. 你可能需要为 node 运行时设置额外的堆空间:export NODE_OPTIONS="--max-old-space-size=4096"
  3. 使用 mkdir frontend/build 创建空的 frontend/build 文件夹
  4. 进入 backend/ 目录:
    1. env DATABASE_URL= RUST_LOG=info cargo run
    2. 你可以指定任何想要启用的功能标志,例如 cargo run --features python 以启用 Python 执行器。
  5. Windmill 应可通过 http://localhost:3000 访问

贡献者

版权

© 2023-2026 Windmill Labs, Inc.

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

排错

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

DNS 超时

DNS 解析 · 网络超时

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/windmill-labs/windmill-cli
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
教程轩辕镜像功能与使用教程
安装一键安装 Docker 并配置镜像源
官方公众号:源码跳动|官方技术交流群:13763429
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.