@synergenius/flow-weaver-openclaw-plugin
v0.1.1
Published
Flow Weaver plugin for OpenClaw — deterministic workflow engine for AI agents
Maintainers
Readme
Flow Weaver Plugin for OpenClaw
Native OpenClaw plugin that brings Flow Weaver's deterministic workflow engine to your AI assistant. Build, validate, compile, and run workflows through natural conversation.
How it Works
The plugin exposes two tools to OpenClaw: fw_search and fw_execute. The agent searches for the right tool, then executes it. This keeps the system prompt small (2 tool schemas instead of 45+) while making every Flow Weaver capability available.
User: "Build me a workflow that validates input and transforms it"
OpenClaw calls: fw_search({ query: "create workflow" })
-> Returns: fw_create (scaffold from template)
OpenClaw calls: fw_execute({ tool: "fw_create", params: { template: "sequential", filePath: "workflow.ts" }})
-> Workflow created
OpenClaw calls: fw_execute({ tool: "fw_diagram", params: { filePath: "workflow.ts" }})
-> ASCII diagram shown in chatInstallation
openclaw plugins install @synergenius/flow-weaver-openclaw-pluginOr from source:
git clone https://github.com/synergenius-fw/flow-weaver-openclaw-plugin
cd flow-weaver-openclaw-plugin
npm install && npm run build
openclaw plugins install ./Configuration
Add to your ~/.openclaw/openclaw.json:
{
"plugins": {
"entries": {
"flow-weaver": { "enabled": true }
}
}
}No other configuration needed. The plugin auto-discovers installed Flow Weaver packs.
Available Tools
All fw CLI commands have matching tools. Use fw_search to discover them:
Workflow Lifecycle
| Tool | CLI Equivalent | Description |
|---|---|---|
| fw_create | fw create | Create workflow from template |
| fw_validate | fw validate | Validate workflow graph |
| fw_compile | fw compile | Compile to deterministic TypeScript |
| fw_run | fw run | Execute workflow with params |
| fw_diagram | fw diagram | Generate ASCII/SVG/HTML diagram |
| fw_describe | fw describe | Describe structure (JSON/text/mermaid) |
| fw_diff | fw diff | Compare two workflows semantically |
| fw_modify | fw modify | Add/remove nodes and connections |
| fw_status | fw status | Report stub vs implemented nodes |
| fw_implement | fw implement | Replace stub with implementation |
| fw_strip | fw strip | Remove generated code |
| fw_migrate | fw migrate | Migrate to current syntax |
Query & Documentation
| Tool | CLI Equivalent | Description |
|---|---|---|
| fw_query | fw query | Query nodes, connections, topology |
| fw_docs | fw docs | Browse reference documentation |
| fw_context | fw context | Load LLM context bundle |
| fw_templates | fw templates | List available templates |
| fw_grammar | fw grammar | Output annotation grammar (EBNF) |
Marketplace
| Tool | CLI Equivalent | Description |
|---|---|---|
| fw_market_search | fw market search | Search npm for packs |
| fw_market_install | fw market install | Install a pack |
| fw_market_uninstall | fw market uninstall | Remove a pack |
| fw_market_list | fw market list | List installed packs |
| fw_market_init | fw market init | Scaffold new pack project |
| fw_market_pack | fw market pack | Generate/validate manifest |
| fw_market_publish | fw market publish | Publish to npm |
Platform & Cloud
| Tool | CLI Equivalent | Description |
|---|---|---|
| fw_login | fw login | Authenticate with platform |
| fw_logout | fw logout | Clear credentials |
| fw_auth | fw auth | Check auth status |
| fw_account | fw account | Show account details |
| fw_deploy | fw deploy | Deploy to cloud |
| fw_undeploy | fw undeploy | Remove deployment |
| fw_cloud_status | fw cloud-status | Show deployments |
| fw_connect | fw connect | Connect device to platform |
| fw_apikey | fw apikey | Manage API keys |
| fw_ai | fw ai | Manage AI provider credentials |
| fw_org | fw org | Manage organizations |
Deployment
| Tool | CLI Equivalent | Description |
|---|---|---|
| fw_export | fw export | Export as serverless function |
| fw_openapi | fw openapi | Generate OpenAPI spec |
| fw_doctor | fw doctor | Check environment health |
| fw_init | fw init | Create new project |
Pack Integration
When you install a Flow Weaver pack (e.g. @synergenius/flow-weaver-pack-weaver), its tools automatically become available through fw_search and fw_execute on the next Gateway restart.
# In your OpenClaw workspace
npm install @synergenius/flow-weaver-pack-weaver
# Restart OpenClaw Gateway
# Pack tools now available: fw_weaver_run, fw_weaver_swarm, etc.Architecture
OpenClaw Agent
|
|-- fw_search(query) --> Internal Registry (45+ tools)
| |
|-- fw_execute(tool, params) --+-- Core tools (runCommand API)
|-- Pack MCP tools (handleToolCall)
+-- Pack CLI commands (handleCommand)- Two-tool pattern: Only
fw_searchandfw_executeare registered with OpenClaw, keeping the system prompt minimal - Internal registry: All tools stored server-side with searchable names, descriptions, and tags
- Pack auto-discovery: Scans workspace
node_modulesforflowweaver.manifest.jsonat startup - Path validation: All file operations validated to stay within workspace boundaries
- Atomic writes: Workflow metadata uses write-then-rename for crash safety
Slash Commands
Quick-access commands that don't require the LLM:
| Command | Description |
|---|---|
| /fw-workflows | List all workflows |
| /fw-run <name> | Run a workflow |
| /fw-diagram <name> | Show diagram |
| /fw-deploy <name> | Deploy to cloud |
| /fw-costs | Show AI token usage |
| /fw-status | Show deployments |
| /fw-login | Authenticate |
HTTP Routes (Studio Bridge)
The plugin exposes HTTP routes for the Flow Weaver Studio to connect:
| Route | Method | Description |
|---|---|---|
| /flow-weaver/workflows | GET | List workflows |
| /flow-weaver/workflows/:id | GET | Get workflow details |
| /flow-weaver/workflows/:id | PUT | Update workflow |
| /flow-weaver/webhooks/:id | POST | Trigger workflow via webhook |
Testing Proxy
A test proxy (proxy.mjs) is included for development. It translates OpenAI chat completions API requests into Claude CLI calls, enabling manual testing of the plugin through OpenClaw.
# Live mode - auto-sends to Claude CLI
node proxy.mjs --port 8787
# Approval mode - queue requests for manual review
node proxy.mjs --port 8787 --approval
# Dry-run mode - log requests without calling Claude
node proxy.mjs --port 8787 --dry-runConfigure OpenClaw to use the proxy:
{
"models": {
"providers": {
"claude-proxy": {
"baseUrl": "http://host.docker.internal:8787",
"api": "openai-completions",
"models": [{ "id": "claude", "name": "Claude via Proxy", "contextWindow": 200000, "maxTokens": 64000 }]
}
}
}
}Development
npm install # Install dependencies
npm run build # Compile TypeScript
npm test # Run 178 tests
npm run lint # ESLint check
npm run typecheck # TypeScript strict checkRequirements
- OpenClaw >= 2026.3.0
- Node.js >= 22
@synergenius/flow-weaver>= 0.32.2
License
MIT
This plugin requires @synergenius/flow-weaver as a peer dependency, which is licensed under the Flow Weaver Library License. Use of this plugin is subject to that dependency's license terms.
