K8s Prefect Flow Builder — 构建Prefect工作流
v1.0.0在此仓库中构建、修改和审查基于Prefect的离线编排流程。用于添加新的Prefect流程、将现有离线计算封装为流程或任务、编辑prefect.yaml、按资源配置文件拆分部署、配置资源或并发,或对齐CI、Prefect和Kubernetes部署行为。
0· 96·0 当前·0 累计
安全扫描
OpenClaw
安全
high confidence该技能是一个仅提供指令的Prefect v3流程编写指南,其请求/声明的表面范围与该目的一致。
评估建议
该技能是一个以仓库为中心的Prefect v3流程创建和部署指南;它包含模式和模板,但不请求凭据或安装软件。使用前:请确保您的CI/Kubernetes密钥(PREFECT_API_URL、PREFECT_DEPLOY_IMAGE和运行时Secrets/ConfigMaps)得到安全管理,确认目标Prefect/Kubernetes版本与模板匹配,并在应用前检查生成的prefect.yaml或CI部署命令。如果需要该技能执行自动化操作(通过CI部署),请验证这些CI任务运行在可信环境中——该技能本身不执行网络I/O或密钥访问。...详细分析 ▾
✓ 用途与能力
名称和描述与SKILL.md和包含的参考文档的内容相匹配;所有建议和所需工件(prefect.yaml、src/prefect_flows/、CI变量)与构建Prefect流程相一致。
✓ 指令范围
运行时指令仅限于仓库约定、本地文件以及Prefect/Kubernetes/CI配置指导。没有命令、外部端点或指令来读取任意系统文件或泄露数据。
✓ 安装机制
没有安装规范和代码文件——该技能是纯指令式的,因此在安装过程中不会写入磁盘或下载任何内容。
✓ 凭证需求
SKILL.md引用了CI提供的部署时值(PREFECT_API_URL、PREFECT_DEPLOY_IMAGE)和通过env_from的Kubernetes运行时环境;不请求凭据或无关的环境变量。
✓ 持久化与权限
always为false,且该技能仅可由用户调用。没有迹象表明它会修改其他技能或需要持久的提升权限。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.02026/3/23
- prefect-flow-builder技能的初始版本。- 为在仓库中添加、修改和审查基于Prefect的离线编排提供了清晰的指南。- 概述了流程结构、编排与业务逻辑分离、并发控制和部署配置的最佳实践。- 包含用于分类和验证更改的工作流,以及用于进一步指导的仓库锚点和参考文档。- 记录了Prefect v3任务、流程和部署的默认行为和使用建议。
● 无害
安装命令 点击复制
官方npx clawhub@latest install k8s-prefect-flow-builder
镜像加速npx clawhub@latest install k8s-prefect-flow-builder --registry https://cn.clawhub-mirror.com
技能文档
概述
使用此技能在此仓库中添加或重构Prefect管理的离线工作流,而无需将编排关注点混入业务逻辑。工作流
- 对变更进行分类。
references/flow-design.md和references/template-prefect-yaml.md。
- 仅部署或配置变更:阅读references/deployment-patterns.md。
- 资源或并发调整:阅读references/resources-and-concurrency.md。
- 如果系统模型不清晰,先阅读references/architecture.md。- 将编排与计算分离。
src/core/...下的可重用job或service模块中。
- 将Prefect包装器保留在src/prefect_flows/...中。
- 使用任务作为独立可观察的单元或有意义的副作用;避免仅仅为了结构化而将一个逻辑步骤拆分为许多微小任务。
- 谨慎选择任务调用模式:直接调用用于简单的串行执行,.submit()或.map()用于流程内并发,.delay()仅用于在单独基础设施上的后台执行。
- 如果子流程故意是串行的,请在循环内直接调用任务,并让子流程拥有错误聚合和最终失败语义。不要仅仅因为单元是一个任务就默认使用.submit()。
- 仅在实际需要Prefect futures、并行扇出或非阻塞等待和收集行为的情况下保留.submit(),并确保在流程返回之前解析终端futures。
- 仅在需要单独的扩展、资源或故障边界时才引入子流程。- 将并发控制放在正确的层。
- 将
prefect.yaml视为部署的真实来源。
prefect.yaml中。
- 让CI仅提供部署时值,如PREFECT_API_URL和PREFECT_DEPLOY_IMAGE。
- 通过env_from在Kubernetes中保留运行时业务环境,而不是CI。
- 保持基础设施选择与Prefect的worker模型对齐:部署针对工作池,工作器轮询兼容的池来执行运行。- 使故障可观察。
- 按此顺序验证。
prefect.yaml是否有部署或资源偏差。
- 在启用或更改调度之前触发一个小规模的手动运行。
- 如果问题是关于Prefect语义而不是仓库约定,请在编纂模式之前对照官方v3文档进行验证。仓库锚点
- 流程入口点:
src/prefect_flows/ - 可重用计算逻辑:
src/core/ - 部署定义:
prefect.yaml - 团队指南:
docs/cg_offline_prediction/prefect_orchestration_overview.md
Prefect v3默认值
- 任务在v3中支持三种不同的执行模式:直接调用阻塞并返回结果,
.submit()返回PrefectFuture用于在同一流程中并发执行,.delay()用于在单独工作器上进行后台执行。 - 任务运行器是可选的。如果您不是故意使用并发,不要仅仅为了保留任务装饰器而引入
.submit()或任务运行器配置。 - 任务状态在客户端编排,可能在UI中显示为最终一致性,因此围绕持久的业务结果设计恢复和恢复逻辑,而不是假设每个中间任务状态转换都是真实来源。
参考资料
- 了解系统模型和生命周期,请参阅
references/architecture.md。 - 了解部署设计和配置所有权,请参阅
references/deployment-patterns.md。 - 了解如何将现有jobs封装为流程和任务,请参阅
references/flow-design.md。 - 了解大小和并发决策,请参阅
references/resources-and-concurrency.md。 - 了解可重用的部署模板,请参阅
references/template-prefect-yaml.md。 - Prefect v3任务:https://docs.prefect.io/v3/concepts/tasks
- Prefect v3任务运行器:https://docs.prefect.io/v3/concepts/task-runners/
- Prefect v3流程:https://docs.prefect.io/v3/concepts/flows
- Prefect v3部署:https://docs.prefect.io/v3/concepts/deployments
- Prefect v3工作器:https://docs.prefect.io/v3/concepts/workers
- Prefect v3基于标签的并发限制:https://docs.prefect.io/v3/concepts/tag-based-concurrency-limits
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制