You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+54-74Lines changed: 54 additions & 74 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ Workflows today are written **for** agents, not **by** them. Visual canvas tools
41
41
42
42
1.**An LLM must be able to write a valid workflow in a single turn.** If the format is too complex, agents hallucinate. If it's too simple, real workflows can't be expressed.
43
43
44
-
2.**The format is the asset, not the runtime.** Write once, run as an OpenClaw plugin today, deploy to Cloudflare Workers tomorrow, run in a standalone server next month.
44
+
2.**The format is the asset, not the runtime.** Write once, run as an OpenClaw plugin today, run in a standalone server tomorrow.
45
45
46
46
3.**AI nodes are first-class citizens.**`do: ai` and `do: agent` are core primitives with structured output, model selection, and schema validation — not HTTP calls with extra steps.
47
47
@@ -68,9 +68,9 @@ Workflows today are written **for** agents, not **by** them. Visual canvas tools
68
68
69
69
### Portability
70
70
-**OpenClaw plugin** — run flows as agent tools today
71
-
-**Cloudflare transpiler** — convert to `WorkflowEntrypoint` TypeScript
72
71
-**Standalone runner** — self-hosted Node.js server (coming soon)
73
72
-**Static validation** — catch bad references and missing fields before execution
73
+
-**Draft/publish versioning** — edit safely, publish when ready, run any version
74
74
75
75
---
76
76
@@ -107,7 +107,6 @@ A flow is JSON. No custom syntax, no new language — just structured data that
107
107
"name": "handle-billing",
108
108
"do": "agent",
109
109
"task": "Draft a billing support reply for: {{ trigger.body }}",
110
-
"model": "smart",
111
110
"output": "draft"
112
111
}
113
112
],
@@ -116,7 +115,6 @@ A flow is JSON. No custom syntax, no new language — just structured data that
116
115
"name": "handle-technical",
117
116
"do": "agent",
118
117
"task": "Draft a technical support reply for: {{ trigger.body }}",
119
-
"model": "smart",
120
118
"output": "draft"
121
119
}
122
120
]
@@ -126,7 +124,6 @@ A flow is JSON. No custom syntax, no new language — just structured data that
126
124
"name": "handle-general",
127
125
"do": "agent",
128
126
"task": "Draft a general support reply for: {{ trigger.body }}",
129
-
"model": "smart",
130
127
"output": "draft"
131
128
}
132
129
]
@@ -180,7 +177,7 @@ The most important node. A single LLM call that returns structured or freeform o
180
177
|`prompt`| The instruction to the model. Supports `{{ templates }}`. |
181
178
|`input`| Dotted path to a value in flow state passed as context |
182
179
|`schema`| Output shape. When set, enforces JSON mode. Keys are type hints. |
183
-
|`model`|`fast` (Haiku), `smart` (Sonnet), `best` (Opus), or any model string |
180
+
|`model`|`fast` (Gemini 3 Flash), `smart` (Claude Sonnet 4.6), `best` (Minimax M2.5), or any model string |
184
181
|`temperature`| 0–1, default 0 for deterministic workflow steps |
185
182
186
183
**Why schema matters:** downstream nodes reference `classification.category` as a reliable string. Without schema, the output is freeform text and you're back to parsing.
@@ -210,7 +207,6 @@ On OpenClaw, this delegates to `openclaw agent --agent <id> --message "..."`. Th
210
207
|`agent`| OpenClaw agent ID (e.g. `"main"`, `"ops"`). Uses config `defaultAgent` or `"main"` if omitted. |
211
208
|`input`| Dotted path to context passed with the task |
212
209
|`tools`| Hint for non-OpenClaw runtimes (OpenClaw agents have their own tool policy) |
213
-
|`model`| Model for fallback AI call (standalone mode only) |
214
210
215
211
The distinction between `ai` and `agent` is intentional:
216
212
-`do: ai` = deterministic, one-shot, structured output — use for classification, drafting, extraction
@@ -507,15 +503,21 @@ The format is the spec. The runtime is swappable.
507
503
508
504
### 1. OpenClaw Plugin (current)
509
505
510
-
Five tools registered in OpenClaw:
506
+
Eleven tools registered in OpenClaw:
511
507
512
508
| Tool | Does |
513
509
|---|---|
514
-
|`flow_run`| Execute a flow inline or from a file |
510
+
|`flow_create`| Create a new flow definition and save to file |
511
+
|`flow_delete`| Soft-delete a flow (moves to `.clawflow/bin/`) |
512
+
|`flow_restore_from_bin`| List bin contents or restore a deleted flow |
513
+
|`flow_run`| Execute a flow (uses latest published version by default) |
515
514
|`flow_resume`| Resume after an approval gate |
516
515
|`flow_send_event`| Push an event into a waiting flow |
517
516
|`flow_status`| Inspect any running or completed instance |
518
-
|`flow_transpile`| Convert a flow to Cloudflare Workers TypeScript |
517
+
|`flow_list`| List all flows with metadata, expected inputs, and version info |
518
+
|`flow_read`| Read a flow definition (draft or specific version), inspect single nodes |
519
+
|`flow_publish`| Publish current draft as a new numbered version |
520
+
|`flow_edit`| Edit nodes in a flow definition (set, update, add, remove, move, wrap, revert, list) |
519
521
520
522
**Config:**
521
523
```json
@@ -531,41 +533,15 @@ Five tools registered in OpenClaw:
-**Long-running flows** — minutes, hours, weeks — without timeouts
563
-
-**Global scale** — Cloudflare's network, not your server
564
-
-**Audit trail** — Cloudflare's Workflows dashboard shows every step
565
-
566
-
---
567
-
568
-
### 3. Standalone Node.js Runner (coming soon)
544
+
### 2. Standalone Node.js Runner (coming soon)
569
545
570
546
A small HTTP server wrapping the runner. Expose flows as endpoints, receive webhooks, manage instances via REST API. Self-hosted alternative to Cloudflare.
571
547
@@ -579,7 +555,7 @@ GET /flows/instances/:id # get instance status
579
555
580
556
---
581
557
582
-
### 4. Flow Registry (coming soon)
558
+
### 3. Flow Registry (coming soon)
583
559
584
560
A community library of reusable, shareable `.flow` definitions. Think npm for workflows — but agent-writable.
585
561
@@ -660,9 +636,9 @@ Rules:
660
636
## What's Next
661
637
662
638
- Standalone HTTP runner (self-hosted, no OpenClaw dependency)
0 commit comments