Claw orchestrator memento fork (source of truth)
  • TypeScript 95.3%
  • HTML 2.7%
  • JavaScript 1.8%
  • Shell 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
crashbandicode 29f666145f Merge fix/broker-child-process-errors: close remaining broker crash paths (7.7.0-memento.6)
Guard child-process error and stdio EPIPE paths for every engine, keep codexMcpServers caller errors out of the circuit breaker, and launch Cursor's own Windows installer wrapper directly. Installed on ubuntu-surface and yoga-ubuntu.
2026-10-12 15:22:51 -04:00
.github ci: drop the temporary serial-verbose diagnostic 2026-08-23 19:54:29 +08:00
assets fix: declare the autoloop tools in the plugin manifest (v4.13.2) 2026-08-17 16:01:42 +08:00
bin fix: keep codex app-server errors from killing the broker; ignoreUserConfig for codex-app (7.7.0-memento.3) 2026-10-12 13:45:19 -04:00
configs feat: integrate Claw 7.6 and deliver native model effort 2026-09-29 12:40:06 -04:00
scripts fix: add transport stubs to Codex MCP overrides (v7.7.0-memento.4) 2026-10-12 14:36:18 -04:00
skills fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
src fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
.gitignore docs: add animated promo video to README; ignore local promo/ workspace 2026-05-25 00:27:51 +08:00
.prettierrc feat: add test infrastructure, linting, and engineering quality improvements 2026-04-01 16:17:32 +08:00
AGENTS.md fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
CHANGELOG.md fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
CLAUDE.md chore: keep CLAUDE.md as an import of AGENTS.md 2026-09-22 21:19:17 +08:00
CONTRIBUTING.md docs: bring the reference docs in line with the code 2026-09-24 11:56:05 +08:00
eslint.config.js chore: fix CI test race + relocate manual smoke runners to scripts/ 2026-05-13 16:18:36 +08:00
install.sh fix(install): restore legacy global-package warning for direct v2.x → v3.1 upgrades 2026-05-04 16:09:57 +08:00
LICENSE Initial commit: OpenClaw Claude Code Skill 2026-01-31 00:00:34 +08:00
openclaw.plugin.json feat: broker remote Claw sessions and thread mail over SSH sockets 2026-10-05 21:25:58 -04:00
package-lock.json fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
package.json fix: launch Cursor's own Windows installer wrapper without PowerShell 5.1 (v7.7.0-memento.6) 2026-10-12 15:14:54 -04:00
README.md feat: broker remote Claw sessions and thread mail over SSH sockets 2026-10-05 21:25:58 -04:00
tsconfig.json chore: sync manifest, fix build leaking tests, tighten council types 2026-04-01 16:43:49 +08:00
tsconfig.test.json fix(test): stop the lock holder outliving the run that spawned it 2026-08-27 11:19:35 +08:00
vitest.config.ts test: cap vitest worker heap and worker count 2026-09-17 20:58:37 +08:00

Memento fork: this release integrates upstream 7.6.0 while retaining Memento lifecycle reporting, Cursor support, native host launch fixes, and configurable/unlimited session capacity. Native and OpenCode effort settings are delivered through each engine's supported interface. See effort validation for tested routes and provider limitations. Codex app-server resumes use full native thread IDs and fail explicitly if the original thread cannot be resumed; see session resume.

Claw Orchestrator

Claw Orchestrator

A runtime for coding agents. Wrap Claude Code, Codex, Antigravity, Grok Build, OpenCode, or any custom CLI as persistent programmable sessions; coordinate them in multi-agent councils; run autonomous Planner / Coder / Reviewer loops; or hand a short structured interview to an Opus council that ships a deployed web app at localhost:19000/forge/<slug>/.

npm version CI License: MIT

Coding CLIs are designed for humans at terminals. Claw Orchestrator turns them into headless engines and adds an orchestration layer on top: 83 tools, from single-session calls to multi-agent runs and generated web apps — reachable through the CLI, the OpenClaw gateway, the Model Context Protocol, or directly from TypeScript, and visible through an embedded three-tab dashboard.

https://github.com/user-attachments/assets/fbd2b0ea-28d8-4387-9894-c29cf15ba030

Control · Council · Autoloop · Ultraapp — 35-second demo


Features

Capability What it does Reference
Persistent Sessions Long-lived coding agents kept alive across requests, with full context, tool, model, and worktree control. sessions.md
Multi-Engine Runtime One interface over Claude Code, Codex, Antigravity (agy), Grok Build, OpenCode, and arbitrary custom CLIs. multi-engine.md
Session Handoff Move a live conversation to another engine or model — a stuck Claude session into Codex, an expensive model into a cheaper one. The new session picks up where the old one stopped, in the same workspace; the old one keeps running. sessions.md
Multi-Agent Council Parallel agents in isolated git worktrees, voting on consensus until they agree. council.md
Fan-out Run one task across N engine/model agents in parallel and collect their answers, with an optional synthesis pass — the cross-engine best-of-N / diverse-perspective primitive (no rounds or worktrees). tools.md
ultracode session_start({ ultracode: true }) lets Claude orchestrate a dynamic JS workflow and fan out to subagents per task (Claude engine). tools.md
Autoloop Three-agent autonomous workspace iteration with independent engine/model selection for Planner, Coder, and Reviewer. Chat with the Planner; it spawns Coder + Reviewer into a self-iterating subloop and pushes you on regression, target-hit, or decision points. autoloop.md
Ultraapp A three-agent Opus council turns a short structured interview into a deployed web app — Tailwind UI, BYOK, file-queue runtime, smoke test, all live at localhost:19000/forge/<slug>/. ultraapp.md
Embedded Dashboard Three-tab UI for Autoloop, Council, and Forge with sidebar lifecycle controls, per-run live event streaming, and cookie-based auth via a /login redirect. dashboard.md
OpenAI-Compatible Proxy POST /v1/chat/completions accepts OpenAI-format requests and routes them to persistent sessions on the engine the model name selects, streaming replies back in OpenAI shape. Point any OpenAI-SDK client or webchat at the orchestrator without changing call sites. openai-compat.md
Durable Run Kernel Declarative workflows over agent / fanout / council / verifier / human_gate / router / subflow / autoloop / ultraapp_* nodes. Every state transition is checkpointed, so a run survives a process restart and resumes at the node boundary. Retry, per-node timeout, cancel, steer, and bounded loops come from the kernel. workflow.md
Verification Plane Acceptance contracts the runtime executes itself — commands, HTTP probes, screenshots, diff policy, file assertions — producing an evidence bundle on disk. A run carrying a contract cannot reach completed unless it passes, and one without a contract completes as unverified rather than claiming success. The tests a contract runs are held to what the run started with, so a run cannot pass by editing them. verification.md
Run Ledger & Spend Caps Every turn on every engine is appended to a durable JSONL ledger — engine, model, tokens, cost, duration, and the council/fanout/autoloop it belonged to — queryable with clawo runs after a restart. Rows carry both the engine's self-report (ok) and the runtime's own measurement (verified), kept apart. maxBudgetUsd is enforced by the runtime, so a cap holds on Codex, Grok, agy and OpenCode too, not just Claude Code. observability.md
Remote socket sessions One SessionManager per execution host, reached through an owner-only Unix socket. A peer is an existing SSH config alias plus a stream-local forward. Session handles are host::localName; native resume ids stay unwrapped. Operations rejoin by id after a dropped socket and are never blindly replayed. remote-sessions.md

The full 83-tool surface is enumerated in tools.md.


Quick Start

npm install -g @enderfga/claw-orchestrator
clawo serve   # dashboard at http://127.0.0.1:18796/dash

The server generates an access token at ~/.openclaw/server-token; open http://127.0.0.1:18796/login?token=<token>&redirect=/dash once to sign in the browser.

import { SessionManager } from '@enderfga/claw-orchestrator';

const manager = new SessionManager();
await manager.startSession({ name: 'fix-tests', engine: 'claude', cwd: '/project' });
const result = await manager.sendMessage('fix-tests', 'Fix the failing tests');

Integrations

Standalone CLI

clawo serve                                            # dashboard + HTTP server on :18796
clawo session-start fix-tests --engine claude --cwd .  # start a session
clawo session-send fix-tests "Fix the failing tests"   # send into it

Every command is documented in cli.md.

OpenClaw Plugin

curl -fsSL https://raw.githubusercontent.com/Enderfga/claw-orchestrator/main/install.sh | bash

Installs via npm, registers the plugin in ~/.openclaw/openclaw.json, restarts the gateway. All 83 tools become available to every OpenClaw agent.

Model Context Protocol Server

npm install -g @enderfga/claw-orchestrator   # clawo-mcp is now on PATH

Register clawo-mcp with any MCP-compatible host: Hermes Agent, Claude Desktop, Cursor, Cline, Continue, Zed, Windsurf, Goose, and others. The open-session limit is configurable with CLAWO_MAX_CONCURRENT_SESSIONS (default 5, 0 = unlimited). Per-host stdio-config snippets and the CLAWO_MCP_TOOLS allowlist for tight tool budgets are in mcp.md.

Agent Client Protocol Agent

clawo acp        # or the dedicated binary: clawo-acp

MCP gives tools to an agent; ACP makes you be the agent. clawo acp speaks Agent Client Protocol over stdio, so Zed, JetBrains, Neovim, Emacs, the VS Code ACP extension — or dsh via its subagent-acp provider — can drive Claw Orchestrator as their coding agent.

The model selector is grouped by engine, so one dropdown holds Claude, Codex and Grok models at once and switching it switches engine mid-session; /council, /ultraplan and /ultrareview run multi-agent orchestrations from the chat box. Setup, the dsh YAML block, and the cancellation and permission limitations are in acp.md.


Engine Compatibility

Engine CLI Tested Version
Claude Code claude 2.1.284
Codex codex 0.159.0
Antigravity agy 1.2.13
Grok Build grok 1.0.44
OpenCode opencode 1.18.33
Custom CLI any —

Any coding CLI that runs as a subprocess can be wired up as a custom engine — see multi-engine.md.


How the engine table stays current

The versions above are not typed in — they are what the weekly sweep last ran. scripts/sweep.ts measures each core engine's installed, pinned and upstream version, diffs the flags the wrapper passes against the binary's --help, runs one live turn through the real wrapper class, smokes the ACP and MCP entry points, and checks src/models.ts against both vendors' published price tables. It contains no model call, so the check that reports a wrapper as broken does not share the wrapper's failure modes.

scripts/sweep-workflow.json wraps the same script as a durable run on this project's own kernel: verifier → router → an agent that drafts the alignment on a sweep/<date> branch → a human gate. A person reviews and merges; the orchestrator does not edit its own code unattended.

Contributing

See CONTRIBUTING.md. Run npm run build && npm run lint && npm run format:check && npm run test before submitting.

License

MIT — see LICENSE.

Cursor effort discovery uses both its legacy CLI listing and native ACP parameterized catalog. Grok 4.7 and other parameterized models retain their exact requested effort even when omitted from --list-models; discovery does not create an agent conversation.