MagicMerlin is a Rust-first, OpenClaw-shaped runtime with a typed gateway, plugin/skill extension system, ACP subprocess control plane, and compatibility-focused CLI.
git clone <your-fork-or-origin> magicmerlin
cd magicmerlin
cargo install --path cli --locked
cargo install --path gateway --lockeddocker build -t magicmerlin:local -f - . <<'DOCKER'
FROM rust:1.76 as build
WORKDIR /app
COPY . .
RUN cargo build --release -p magicmerlin -p magicmerlin-gateway
FROM debian:bookworm-slim
RUN useradd -m merlin
USER merlin
WORKDIR /home/merlin
COPY --from=build /app/target/release/magicmerlin /usr/local/bin/magicmerlin
COPY --from=build /app/target/release/magicmerlin-gateway /usr/local/bin/magicmerlin-gateway
ENTRYPOINT ["magicmerlin"]
DOCKER# 1) Start gateway
magicmerlin-gateway --serve 18789 --bind 127.0.0.1 --daemon
# 2) Open dashboard UI
magicmerlin dashboard
# 3) Check status
magicmerlin status
# 4) Run an agent turn
magicmerlin agent run "Summarize today's pending cron jobs"- Keep your OpenClaw profile and state directories as-is.
- Set
OPENCLAW_STATE_DIRand optionallyOPENCLAW_CONFIG_PATHto your existing paths. - Import OpenClaw cron jobs:
magicmerlin-gateway cron import-openclaw --file /path/to/openclaw-cron-list.json - Validate compatibility snapshots:
cargo run -p magicmerlin-sentinel -- methods-diff --openclaw-src ../tmp/openclaw-src - Run
magicmerlin statusandmagicmerlin security auditbefore exposing any public channel bindings.
cli: user-facing command surface (magicmerlin)gateway: HTTP/JSON-RPC runtime, scheduler, control UI, pairing/session APIsplugins: plugin lifecycle + registry + skill discovery/injection/executionacp: Agent Control Protocol runtime for subprocess coding-agent sessionsconfig: typed config model, env overlays, security audit helpersproviders,agent,sessions,storage,channels,media: model routing and execution stackcompat+sentinel: compatibility snapshots and drift detection
The gateway root (/) serves an embedded dark-theme control dashboard with pages for:
- Overview (health, scheduler, compat fingerprint, ACP session counts)
- Sessions (list/view/compact/delete)
- Cron (jobs + run history + enable/disable/run)
- Config (get/set/unset paths)
- Logs (live event polling from
/events)
Top-level commands currently exposed by magicmerlin:
status,setup,onboard,health,dashboard,tuicompletion,version,update,reset,helpagent,agents,models,gateway,daemonchannels,message,directory,pairing,sessionsmemory,cron,logs,hooks,config,securitysecrets,sandbox,approvals,plugins,skillsdns,devices,nodes,qr,browser,acp,docs,system
For command-specific help:
magicmerlin <command> --helpcargo check --workspace
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warningsCurrent workspace test target is 80+ tests; this branch includes 85.
bash scripts/recapture_openclaw_snapshots.sh
cargo run -p magicmerlin-sentinel -- methods-diff --openclaw-src ../tmp/openclaw-src
cargo run -p magicmerlin-sentinel -- cli-diff --openclaw-help-tree compat/snapshots/2026-03-02_openclaw_help_tree.jsonMIT (see LICENSE).