能力标签
OpenClaw AI 工作流
⚙️
Agent工作流

OpenClaw AI 工作流

基于 Go · 无代码搭建完整 AI 自动化流程
英文名:openclaw-operator
⭐ 365 Stars 🍴 66 Forks 💻 Go 📄 Apache-2.0 🏷 AI 7.5分
7.5AI 综合评分
aigolanghelmkubernetesgo
✦ AI Skill Hub 推荐

AI Skill Hub 推荐使用:OpenClaw AI 工作流 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。

📚 深度解析

OpenClaw AI 工作流 是一套完整的 AI Agent 自动化工作流方案。随着 AI 能力的不断提升,基于 Agent 的自动化工作流正在成为提升个人和团队效率的核心方式。区别于传统的 RPA 自动化(模拟鼠标键盘操作),AI Agent 工作流通过理解任务意图、动态规划执行路径,能够处理更复杂的非结构化任务。

OpenClaw AI 工作流 工作流的设计遵循"最小配置,最大复用"原则:核心逻辑已经封装好,用户只需配置自己的 API Key 和业务参数即可快速上手。工作流内置错误处理和重试机制,在网络波动或 API 限速等情况下仍能稳定运行,适合作为生产环境的自动化基础设施。

在实际部署时,建议先在测试环境中运行 3-5 次,验证各个环节的输出结果符合预期,再部署到生产环境。AI Skill Hub 评分 7.5 分,是同类 Agent 工作流中的精选推荐。

📋 工具概览

OpenClaw AI 工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

GitHub Stars
⭐ 365
开发语言
Go
支持平台
Windows / macOS / Linux(跨平台)
维护状态
轻量级项目,按需更新
开源协议
Apache-2.0
AI 综合评分
7.5 分
工具类型
Agent工作流
Forks
66

📖 中文文档

以下内容由 AI Skill Hub 根据项目信息自动整理,如需查看完整原始文档请访问底部「原始来源」。

OpenClaw AI 工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。

📌 核心特色
  • 可视化 Agent 工作流编排,无需编写复杂代码
  • 支持多步骤自动化任务链,实现全流程无人值守
  • 与外部 API、数据库和第三方服务无缝集成
  • 内置错误处理与自动重试机制,保障稳定运行
  • 提供可复用的自动化模板,快速在同类场景部署
🎯 主要使用场景
  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同
以下安装命令基于项目开发语言和类型自动生成,实际以官方 README 为准。
安装命令
# 方式一:go install(推荐)
go install github.com/paperclipinc/openclaw-operator@latest

# 方式二:从源码编译
git clone https://github.com/paperclipinc/openclaw-operator
cd openclaw-operator
go build -o openclaw-operator .

# 方式三:下载预编译二进制
# 访问 Releases 页面下载对应平台二进制文件
# https://github.com/paperclipinc/openclaw-operator/releases
📋 安装步骤说明
  1. 访问 GitHub 仓库获取工作流文件
  2. 在对应平台(Dify / Flowise / Make 等)中找到「导入工作流」功能
  3. 上传工作流文件
  4. 按照提示配置必要的环境变量和 API Key
  5. 运行测试确认流程正常后投入使用
以下用法示例由 AI Skill Hub 整理,涵盖最常见的使用场景。
常用命令 / 代码示例
# 查看帮助
openclaw-operator --help

# 基本运行
openclaw-operator [options] <input>

# 详细使用说明请查阅文档
# https://github.com/paperclipinc/openclaw-operator
以下配置示例基于典型使用场景生成,具体参数请参照官方文档调整。
配置示例
# openclaw-operator 配置说明
# 查看配置选项
openclaw-operator --config-example > config.yml

# 常见配置项
# output_dir: ./output
# log_level: info
# workers: 4

# 环境变量(覆盖配置文件)
export OPENCLAW_OPERATOR_CONFIG="/path/to/config.yml"
📑 README 深度解析 真实文档 完整度 82/100 查看 GitHub 原文 →
以下内容由系统直接从 GitHub README 解析整理,保留代码块、表格与列表结构。

简介

<p align="center"> <img src="docs/images/banner.svg" alt="OpenClaw Kubernetes Operator — OpenClaws sailing the Kubernetes seas" width="100%"> </p>

Features

FeatureDetails
**Declarative**Single CRDOne resource defines the entire stack: StatefulSet, Service, RBAC, NetworkPolicy, PVC, PDB, Ingress, and more
**Adaptive**Agent self-configureAgents autonomously install skills, patch config, and adapt their environment via the K8s API - every change validated against an allowlist policy
**Secure**Hardened by defaultNon-root (UID 1000), read-only root filesystem, all capabilities dropped, seccomp RuntimeDefault, default-deny NetworkPolicy, validating webhook
**Observable**Built-in metricsPrometheus metrics, ServiceMonitor integration, structured JSON logging, Kubernetes events
**Flexible**Provider-agnostic configUse any AI provider (Anthropic, OpenAI, or others) via environment variables and inline or external config
**Config Modes**Merge or overwriteoverwrite replaces config on restart; merge deep-merges with PVC config, preserving runtime changes. Config is restored on every container restart via init container.
**Force Paths**Operator-owned paths under mergeconfig.forcePaths lists dot-paths the init container rebuilds from the CR on every restart even under mergeMode: merge -- lets managed deployers keep operator-owned config (auth, allowed providers, sandbox image) immune to tenant edits while user-owned config persists
**Skills**Declarative installInstall ClawHub skills, npm packages, or GitHub-hosted skill packs via spec.skills - supports npm: and pack: prefixes
**Plugins**Declarative installInstall OpenClaw plugins via spec.plugins - npm packages installed in a secure init container
**Runtime Deps**pnpm & Python/uvBuilt-in init containers install pnpm (via corepack) or Python 3.12 + uv for MCP servers and skills
**Auto-Update**OCI registry pollingOpt-in version tracking: checks the registry for new semver releases, backs up first, rolls out, and auto-rolls back if the new version fails health checks
**Scalable**Auto-scalingHPA integration with CPU and memory metrics, min/max replica bounds, automatic StatefulSet replica management
**Operational**Instance suspensionScale to zero with spec.suspended: true - all non-runtime resources remain managed, resume instantly with false
**Resilient**Self-healing lifecyclePodDisruptionBudgets, health probes, automatic config rollouts via content hashing, 5-minute drift detection
**Backup/Restore**S3-backed snapshotsAutomatic backup to S3-compatible storage on deletion, pre-update, and on a cron schedule; restore into a new instance from any snapshot
**Workspace Seeding**Initial files & dirsPre-populate the workspace with files and directories before the agent starts; reference an external ConfigMap for GitOps workflows
**Gateway Auth**Auto-generated tokensAutomatic gateway token Secret per instance, bypassing mDNS pairing (unusable in k8s)
**Tailscale**Tailnet accessExpose via Tailscale Serve or Funnel with SSO auth - no Ingress needed
**Extensible**Sidecars & init containersChromium for browser automation, Ollama for local LLMs, Tailscale for tailnet access, plus custom init containers and sidecars
**Cloud Native**SA annotations & CA bundlesAWS IRSA / GCP Workload Identity via ServiceAccount annotations; CA bundle injection for corporate proxies
**Cluster Defaults**Singleton CROpenClawClusterDefaults (name cluster) fills in unset instance fields - ideal for air-gapped / China regions where every instance would otherwise duplicate the same registry + mirror env boilerplate. Per-instance fields always win.
**Zombie Reaping**Shared PID namespacespec.shareProcessNamespace defaults to true so the pause container becomes PID 1 and reaps defunct helper processes from QMD, git, plugins, and shells - no custom init image needed

Prerequisites

  • Kubernetes 1.28+
  • Helm 3

Runtime dependencies

Enable built-in init containers that install pnpm or Python/uv to the data PVC for MCP servers and skills:

spec:
  runtimeDeps:
    pnpm: true    # Installs pnpm via corepack
    python: true  # Installs Python 3.12 + uv

2. The agent creates this to install a skill at runtime

apiVersion: openclaw.rocks/v1alpha1 kind: OpenClawSelfConfig metadata: name: add-fetch-skill spec: instanceRef: my-agent addSkills: - "@anthropic/mcp-server-fetch" ```

Every request is validated against the instance's allowlist policy. Protected config keys cannot be overwritten, and denied requests are logged with a reason. See Self-configure for details.

Note: Without selfConfigure enabled, config or skill changes made by the agent inside the container won't trigger a pod restart. You'll need to restart the pod manually (e.g. kubectl delete pod <pod-name>) for changes to take effect.

1. Install the operator

helm install openclaw-operator \
  oci://ghcr.io/paperclipinc/charts/openclaw-operator \
  --namespace openclaw-operator-system \
  --create-namespace

<details> <summary>Alternative: install with Kustomize</summary>

```bash

Install CRDs

make install

Deploy the operator

make deploy IMG=ghcr.io/paperclipinc/openclaw-operator:latest


</details>

<details>
<summary>Restrict the operator to specific namespaces</summary>

To run the operator with namespaced RBAC instead of cluster-wide permissions,
list the namespaces it should watch. The chart switches from
`ClusterRole`/`ClusterRoleBinding` to per-namespace `Role`/`RoleBinding`, and
passes `--watch-namespaces` to the operator so its informer cache is scoped
to that list (plus the operator's own namespace, for backup credentials).
bash helm install openclaw-operator \ oci://ghcr.io/paperclipinc/charts/openclaw-operator \ --namespace openclaw-operator-system \ --create-namespace \ --set 'watchNamespaces={team-a,team-b}'

Each listed namespace must already exist; the chart does not create them.

To bring your own RBAC entirely (e.g. managed by a separate controller or
SecurityCenter policy), disable chart-managed RBAC:
bash helm install openclaw-operator \ oci://ghcr.io/paperclipinc/charts/openclaw-operator \ --namespace openclaw-operator-system \ --create-namespace \ --set rbac.create=false ```

The kubebuilder markers in internal/controller/ and the manager rules helper at charts/openclaw-operator/templates/_helpers.tpl document the minimum permission set the operator requires.

</details>

3. Deploy an OpenClaw instance

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawInstance
metadata:
  name: my-agent
spec:
  envFrom:
    - secretRef:
        name: openclaw-api-keys
  storage:
    persistence:
      enabled: true
      size: 10Gi
kubectl apply -f secret.yaml -f openclawinstance.yaml

Skill installation

Install skills declaratively. The operator runs an init container that fetches each skill before the agent starts. Entries use ClawHub by default, or prefix with npm: to install from npmjs.com. ClawHub installs are idempotent - if a skill is already installed (e.g., when using persistent storage), it is skipped rather than failing:

spec:
  skills:
    - "@anthropic/mcp-server-fetch"       # ClawHub (default)
    - "npm:@openclaw/matrix"              # npm package from npmjs.com

npm lifecycle scripts are disabled globally on the init container (NPM_CONFIG_IGNORE_SCRIPTS=true) to mitigate supply chain attacks.

Plugin installation

Install plugins declaratively. The operator runs a dedicated init container that installs each plugin into ~/.openclaw/extensions/<name>/ before the agent starts, where <name> is the unscoped npm package basename (so @openclaw/brave-plugin becomes ~/.openclaw/extensions/brave-plugin/):

spec:
  plugins:
    - "@martian-engineering/lossless-claw"
    - "some-other-plugin"

This is the layout the OpenClaw gateway's plugin discovery expects - it scans direct subdirectories of ~/.openclaw/extensions/ for plugin manifests and skips node_modules/ entirely. The init container shells out to openclaw plugins install clawhub:<pkg> (the OpenClaw CLI's ClawHub installer) so plugins published with workspace:* dependency markers — such as the first-party @openclaw/matrix — resolve correctly. Raw npm install rejects those with EUNSUPPORTEDPROTOCOL.

npm lifecycle scripts are disabled globally on the init container (NPM_CONFIG_IGNORE_SCRIPTS=true) to mitigate supply chain attacks. The PVC backs ~/.openclaw/, so installs persist across pod restarts.

If you previously worked around the install-path bug by adding plugins.load.paths entries to your gateway config (pointing at ~/.openclaw/node_modules/<pkg>), that workaround is no longer needed and can be removed - plugins now land in the documented location and are auto-discovered.

Quick Start

1. Enable self-configure on the instance

spec: selfConfigure: enabled: true allowedActions: [skills, config, envVars, workspaceFiles]

yaml

Configuration

Inline config (openclaw.json)

spec:
  config:
    raw:
      agents:
        defaults:
          model:
            primary: "anthropic/claude-sonnet-4-20250514"
          sandbox: true
      session:
        scope: "per-sender"

External ConfigMap reference

spec:
  config:
    configMapRef:
      name: my-openclaw-config
      key: openclaw.json

Config changes are detected via SHA-256 hashing and automatically trigger a rolling update. No manual restart needed.

Config merge mode

By default, the operator overwrites the config file on every pod restart. Set mergeMode: merge to deep-merge operator config with existing PVC config, preserving runtime changes made by the agent:

spec:
  config:
    mergeMode: merge
    raw:
      agents:
        defaults:
          model:
            primary: "anthropic/claude-sonnet-4-20250514"

Caveat: In merge mode, removing a key from the CR does not remove it from the PVC config - the old value persists because deep-merge only adds or updates keys. If you need to remove stale config keys (e.g., after removing gateway.mode: local), temporarily switch to mergeMode: overwrite, apply, wait for the pod to restart, then switch back to merge.

Self-configure

Allow agents to modify their own configuration by creating OpenClawSelfConfig resources via the K8s API. The operator validates each request against the instance's allowedActions policy before applying changes:

spec:
  selfConfigure:
    enabled: true
    allowedActions:
      - skills        # add/remove skills
      - config        # patch openclaw.json
      - workspaceFiles # add/remove workspace files
      - envVars       # add/remove environment variables

When enabled, the operator: - Grants the instance's ServiceAccount RBAC permissions to read its own CRD and create OpenClawSelfConfig resources - Enables SA token automounting so the agent can authenticate with the K8s API - Injects a SELFCONFIG.md skill file and selfconfig.sh helper script into the workspace - Opens port 6443 egress in the NetworkPolicy for K8s API access

The agent creates a request like:

apiVersion: openclaw.rocks/v1alpha1
kind: OpenClawSelfConfig
metadata:
  name: add-fetch-skill
spec:
  instanceRef: my-agent
  addSkills:
    - "@anthropic/mcp-server-fetch"

The operator validates the request, applies it to the parent OpenClawInstance, and sets the request's status to Applied, Denied, or Failed. Terminal requests are auto-deleted after 1 hour.

GitOps Coexistence

SelfConfig uses Kubernetes Server-Side Apply (SSA) with the field manager name openclaw-selfconfig. This enables safe coexistence with GitOps controllers (FluxCD, ArgoCD, etc.) that manage the same OpenClawInstance resource:

  • Per-item ownership -- Skills (set items), env vars (map items by name), and workspace files (map fields) are tracked individually. A SelfConfig can add or remove only the items it owns without conflicting with items managed by other controllers.
  • Atomic ownership -- The config.raw field is owned atomically. If a GitOps controller also manages config.raw, ForceOwnership transfers ownership to the SelfConfig field manager on apply.
  • Removal safety -- When a SelfConfig attempts to remove an item owned by another field manager, the operator emits a Warning / SelfConfigSkippedRemoval event identifying the owning manager and includes the warning in the status message.
  • Non-SSA users are unaffected -- If you do not use selfConfigure, no SSA field managers are created and existing workflows remain unchanged.

See the API reference for the full OpenClawSelfConfig CRD spec and spec.selfConfigure fields.

2. Create a secret with your API keys

apiVersion: v1
kind: Secret
metadata:
  name: openclaw-api-keys
type: Opaque
stringData:
  ANTHROPIC_API_KEY: "sk-ant-..."

Tailscale integration

Expose your instance via Tailscale Serve (tailnet-only) or Funnel (public internet) - no Ingress or LoadBalancer needed:

spec:
  tailscale:
    enabled: true
    mode: serve          # "serve" (tailnet only) or "funnel" (public internet)
    authKeySecretRef:
      name: tailscale-auth
    authSSO: true        # allow passwordless login for tailnet members
    hostname: my-agent   # defaults to instance name
    image:
      repository: ghcr.io/tailscale/tailscale  # default
      tag: latest
    resources:
      requests:
        cpu: 50m
        memory: 64Mi
      limits:
        cpu: 200m
        memory: 256Mi

When enabled, the operator runs a Tailscale sidecar (tailscaled) that handles serve/funnel declaratively via TS_SERVE_CONFIG. An init container copies the tailscale CLI binary to a shared volume so the main container can call tailscale whois for SSO authentication. The sidecar runs in userspace mode (TS_USERSPACE=true) - no NET_ADMIN capability needed.

State persistence: Tailscale node identity and TLS certificates are automatically persisted to a Kubernetes Secret (<instance>-ts-state) via TS_KUBE_SECRET. This prevents hostname incrementing (device-1, device-2, ...) and Let's Encrypt certificate re-issuance across pod restarts. The operator pre-creates the state Secret, grants the pod's ServiceAccount get/update/patch access to it, and mounts the SA token automatically.

Use ephemeral+reusable auth keys from the Tailscale admin console. When authSSO is enabled, tailnet members can authenticate without a gateway token.

🎯 aiskill88 AI 点评 A 级 2026-06-02

高质量的开源AI工作流项目,值得关注

⚡ 核心功能

👥 适合人群

自动化工程师和运维人员项目经理和业务分析师希望减少重复性工作的专业人士数字化转型团队

🎯 使用场景

  • 自动化日常重复性工作,将精力集中于创造性任务
  • 构建数据采集 → 处理 → 输出的完整自动化管线
  • 实现跨平台、跨系统的数据流转和业务协同

⚖️ 优点与不足

✅ 优点
  • +Apache-2.0 协议,可免费商用
  • +大幅减少重复性人工操作
  • +可视化流程,清晰直观
  • +可扩展性强,支持复杂场景
⚠️ 不足
  • 初始配置和调试需投入一定时间
  • 强依赖外部服务的稳定性
  • 复杂场景需具备一定技术基础
⚠️ 使用须知

AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。

建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。

📄 License 说明

✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。

🔗 相关工具推荐

🧩 你可能还需要
基于当前 Skill 的能力图谱,自动补全的工具组合

❓ 常见问题 FAQ

使用Kubernetes operator部署和管理OpenClaw AI代理实例
💡 AI Skill Hub 点评

总体来看,OpenClaw AI 工作流 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。

⬇️ 获取与下载
⬇ 下载源码 ZIP

✅ Apache-2.0 协议 · 可免费商用 · 直接从 aiskill88 服务器下载,无需跳转 GitHub

📚 深入学习 OpenClaw AI 工作流
查看分步骤安装教程和完整使用指南,快速上手这款工具
🌐 原始信息
原始名称 openclaw-operator
原始描述 开源AI工作流:Kubernetes operator for deploying and managing OpenClaw AI agent instances with 。⭐365 · Go
Topics aigolanghelmkubernetesgo
GitHub https://github.com/paperclipinc/openclaw-operator
License Apache-2.0
语言 Go
🔗 原始来源
🐙 GitHub 仓库  https://github.com/paperclipinc/openclaw-operator 🌐 官方网站  https://paperclip.inc/openclaw

收录时间:2026-06-02 · 更新时间:2026-06-02 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。