Back to Ruflo

ruflo-agent

plugins/ruflo-agent/README.md

3.10.07.2 KB
Original Source

ruflo-agent

Agent runtimes for ruflo — one mental model, two backends (a third planned):

RuntimeToolsRuns onTrustBest for
WASM (rvagent)wasm_agent_* / wasm_gallery_*local WASM sandboxsandboxed — no host fs/netuntrusted code; portable/replayable RVF containers; fast, free, offline
Managed (Anthropic cloud)managed_agent_*Anthropic-managed containercloud-isolatedlong-running/async tasks; real container with packages + network; persistent filesystem + transcript across turns; no local setup
SDK (planned — ADR-116)sdk_agent_*your process / your filesystemfull host trusta real Claude agent loop (hooks, subagents, MCP, sessions, skills) on the local repo — the in-process version of claude -p; the killer combo is mcpServers: { ruflo: { command: "npx", args: ["ruflo","mcp","start"] } } (a local stdio MCP server → the agent gets ruflo's 314 tools, zero deployment)

wasm_agent_* is the safe default (sandboxed). managed_agent_* needs ANTHROPIC_API_KEY (or CLAUDE_API_KEY) + Claude Managed Agents beta access — every managed_agent_* tool degrades gracefully with a structured "use wasm_agent_create for a local no-key runtime" error when the key is absent.

Design: ADR-115 (the cloud runtime + the planned SDK runtime); ADR-070 (the WASM runtime); plugin contract docs/adrs/0001-wasm-contract.md.

Renamed from ruflo-wasm (it only covered the local WASM runtime). The wasm_agent_* / wasm_gallery_* tool names are unchanged.

Install

/plugin marketplace add ruvnet/ruflo
/plugin install ruflo-agent@ruflo

Commands

  • /wasm — list running WASM agents and browse the gallery (local runtime)
  • /managed-agent — list Managed Agent cloud sessions, check status, fetch a transcript, clean up (cloud runtime)

Skills

  • wasm-agent — create and manage sandboxed WASM agents (local)
  • wasm-gallery — browse and publish agents in the community gallery
  • managed-agent — run an Anthropic Claude Managed Agent (cloud) — create / prompt / status / events / list / terminate

MCP surface (16 tools)

WASM runtime — v3/@claude-flow/cli/src/mcp-tools/wasm-agent-tools.ts (10)

ToolPurpose
wasm_agent_createSpin up a sandboxed WASM agent
wasm_agent_promptSend a prompt to the agent
wasm_agent_toolInvoke a tool inside the sandbox
wasm_agent_listList active WASM agents
wasm_agent_terminateStop a WASM agent
wasm_agent_filesRead/write files in the sandbox
wasm_agent_exportExport agent state (RVF container)
wasm_gallery_listBrowse community-published WASM agents
wasm_gallery_searchSearch the gallery
wasm_gallery_createPublish a WASM agent to the gallery

Managed (cloud) runtime — v3/@claude-flow/cli/src/mcp-tools/managed-agent-tools.ts (6, ADR-115)

ToolPurposeWASM counterpart
managed_agent_createProvision Agent + Environment + Session (POST /v1/agents, /v1/environments, /v1/sessions). Accepts model / system / name / networking / packages / initScript / mcpServers / skills.wasm_agent_create
managed_agent_promptSend a user turn (POST /v1/sessions/{id}/events), poll until the session goes idle (default 180 s, cap 600 s) → {finished, status, stopReason, assistantText, toolUses[], eventCount}wasm_agent_prompt
managed_agent_statusSession lifecycle state (idle/running/error, title, last error)
managed_agent_eventsFull server-persisted event log + a summary (the transcript/artifact view)wasm_agent_files
managed_agent_listList Managed Agent sessions on the org (id, status, title) — see which are still billingwasm_agent_list
managed_agent_terminateDELETE /v1/sessions/{id} (± the environment) — always call when done; a cloud session bills container time + tokens until deletedwasm_agent_terminate

Beta API (anthropic-beta: managed-agents-2026-04-01); multiagent / define-outcomes on the agent config are research preview. mcpServers for a cloud agent must point at a publicly reachable URL — a local ruflo mcp start is not reachable from Anthropic's cloud (deploy/tunnel an HTTP ruflo MCP server first). Managed sessions cost LM tokens + container time and are rate-limited per org.

Compatibility & degradation

  • CLI: pinned to @claude-flow/cli v3.6 major+minor.
  • WASM runtime: built on @ruvector/rvagent-wasm + @ruvector/ruvllm-wasm (declared in @claude-flow/cli's optionalDependencies per ADR-070). Without those packages, the wasm_agent_* tools fall through to graceful-degradation no-ops.
  • Managed runtime: plain fetch against the Managed Agents REST API — no extra SDK dependency. Without ANTHROPIC_API_KEY / CLAUDE_API_KEY, every managed_agent_* tool returns a structured error pointing at the wasm_agent_* fallback (the CLI/MCP server stays up).
  • Verification: bash plugins/ruflo-agent/scripts/smoke.sh is the contract (12 structural checks). CI: .github/workflows/ruflo-agent-smoke.yml. Behavioral guard for the cloud tools: v3/@claude-flow/cli/__tests__/managed-agent-tools.test.ts (no-network).

Sandbox / trust

WASM agents run with no host filesystem access by default; wasm_agent_files exposes a sandboxed virtual filesystem only. Managed agents run in Anthropic's cloud container (isolated from your machine). The planned SDK runtime would run in your process with full host trust — which is why wasm_agent_* stays the default and the SDK runtime, when built, will be opt-in.

For prompt-injection defense on output flowing back to the host LLM, the ruflo-aidefence 3-gate pattern applies.

Namespace coordination

This plugin owns the wasm-gallery AgentDB namespace (kebab-case, per ruflo-agentdb ADR-0001 §"Namespace convention"). Reserved namespaces (pattern, claude-memories, default) MUST NOT be shadowed. wasm-gallery indexes published WASM agents (manifest, version, signature, download count); accessed via memory_* (namespace-routed).

Verification

bash
bash plugins/ruflo-agent/scripts/smoke.sh
# Expected: "12 passed, 0 failed"

Architecture Decisions

  • ruflo-agentdb — namespace convention owner
  • ruflo-aidefence — 3-gate pattern applies to agent output flowing back to the host LLM
  • ruflo-ruvector — the ruvector substrate that ships @ruvector/rvagent-wasm
  • ruflo-cost-tracker — record completed Managed Agent sessions (LM tokens + container time)