The Iron Grip of AI Automation.
A Windows-native, performance-optimized personal AI assistant gateway.
IronCliw is a fork of OpenClaw — full credit goes to the OpenClaw team and contributors.
OpenClaw is an open-source personal AI assistant gateway that powers the core architecture of IronCliw. We stand on the shoulders of giants.
IronCliw builds on top of OpenClaw with:
- Windows-native optimizations and WSL2 guidance
- 2x performance upgrades across the gateway infrastructure
- 87+ bug fixes across all subsystems
- Full rebranding and UI overhaul (🦾 mascot, iron/cyan palette)
- Advanced features — HyperTask, SmartContextCache, ContextCache, parallel executor
IronCliw is a personal AI assistant you run on your own devices. It answers you on the channels you already use:
WhatsApp · Telegram · Slack · Discord · Google Chat · Signal · iMessage · BlueBubbles · IRC · Microsoft Teams · Matrix · Feishu · LINE · Mattermost · Nextcloud Talk · Nostr · Synology Chat · Tlon · Twitch · Zalo · WebChat
It can speak and listen on macOS/iOS/Android, and can render a live Canvas you control. The Gateway is just the control plane — the product is the assistant.
Runtime: Node ≥22
Linux / macOS:
npm install -g github:nandkishorrathodk-art/IronCliw
ironcliw onboard --install-daemonWindows (recommended — avoids native build issues):
pnpm add -g github:nandkishorrathodk-art/IronCliw
ironcliw onboard --install-daemonWindows + npm fallback: If you must use npm, add
--ignore-scriptsto skip native build steps:npm install -g --ignore-scripts github:nandkishorrathodk-art/IronCliw
The wizard installs the Gateway daemon (launchd/systemd/Windows Task Scheduler) so it stays running.
# Run the onboarding wizard
ironcliw onboard
# Start the gateway
ironcliw gateway
# Send a message
ironcliw message send --to +1234567890 --message "Hello from IronCliw"
# Talk to the agent
ironcliw agent --message "What can you do?" --thinking high| Area | Before | After | Gain |
|---|---|---|---|
| Connection Pool | setInterval(50ms) polling |
Promise-based waiter queue | 0–50ms latency eliminated |
| Broadcast | N × UTF-8 encode per client | 1 × encode → shared Buffer |
N× reduction for N clients |
| Nested Lane Concurrency | maxConcurrent: 1 (serialized) |
maxConcurrent: 8 (parallel) |
8× nested tool throughput |
| Delta Streaming | 150ms throttle | 50ms throttle | 3× faster streaming |
| Regex matching | O(N²) | O(N) | 2x+ on large sessions |
- Voice pipeline race conditions
- WhatsApp reply chain memory leaks
- Slack channel type cache key mismatch
seqByRunmemory leak on long sessionsdeltaLastBroadcastLenabort memory leakverboseLevelCachepremature "off" cachingtoPayloadJSONfalsy guard missing- Post-shutdown reconnect race in connection pool
- Implicit Nested lane serialization (was silently blocking tool concurrency)
- Dedupe loop early termination bug
- Session write lock held too long
nodeSendToSessionsilent throttle
- Windows Task Scheduler integration (daemon install without WSL)
- Windows path normalization throughout
- Native Windows build pipeline (no Bash dependency for core build)
- Detailed Windows setup guidance in onboarding
WhatsApp / Telegram / Slack / Discord / ... / WebChat
│
▼
┌───────────────────────────────┐
│ IronCliw │
│ Gateway (v2026.0.4) │
│ ws://127.0.0.1:18789 │
└──────────────┬────────────────┘
│
├─ Pi agent (RPC, streaming)
├─ CLI (ironcliw …)
├─ Control UI (WebChat)
├─ macOS / iOS app
└─ Android node
- Gateway WebSocket control plane — sessions, presence, config, cron, webhooks, and Canvas host.
- Connection Pool — promise-based waiter queue, zero-latency handoff, shutdown-safe reconnect.
- Broadcast Engine — pre-computed
Buffersent to all N clients per tick. - Command Lane Scheduler —
Main(4)·Subagent(8)·Nested(8)·Cron(1)concurrent lanes. - Multi-channel Inbox — 22+ messaging channels with unified session model.
- Voice Pipeline — wake words, Talk Mode, ElevenLabs + system TTS fallback.
- Browser Control — Chromium with CDP, snapshots, uploads, profiles.
- Canvas + A2UI — agent-driven visual workspace.
- Local-first Gateway — single control plane for sessions, channels, tools, and events.
- Multi-channel inbox — 22+ messaging channels out of the box.
- Multi-agent routing — route channels/accounts/peers to isolated agents.
- Voice Wake + Talk Mode — wake words on macOS/iOS, continuous voice on Android.
- Live Canvas — agent-driven visual workspace with A2UI.
- First-class tools — browser, canvas, nodes, cron, sessions, and platform actions.
- Companion apps — macOS menu bar + iOS/Android nodes.
- Windows-native — runs on Windows directly (WSL2 optional, not required).
IronCliw connects to real messaging surfaces. Treat inbound DMs as untrusted input.
Default behavior: DM pairing — unknown senders receive a short pairing code. The bot does not process messages from unknown senders until approved.
ironcliw pairing approve <channel> <code>
ironcliw doctor # surface risky/misconfigured DM policies
ironcliw security audit --deep
ironcliw security audit --fixFull security guide: Security
Send these in WhatsApp / Telegram / Slack / Discord / WebChat:
| Command | Action |
|---|---|
/status |
Session status (model, tokens, cost) |
/new or /reset |
Reset the session |
/compact |
Compact session context (summary) |
/think <level> |
off|minimal|low|medium|high|xhigh |
/verbose on|off |
Toggle verbose mode |
/usage off|tokens|full |
Per-response usage footer |
/restart |
Restart the gateway (owner only) |
git clone https://github.com/nandkishorrathodk-art/IronCliw.git
cd IronCliw
pnpm install
pnpm ui:build
pnpm build
# Run the gateway
ironcliw gateway
# Dev loop (auto-reload on TS changes)
pnpm gateway:watchLint:
pnpm lint # oxlint — should report 0 warnings, 0 errors| Channel | Tag | npm dist-tag |
|---|---|---|
| stable | vYYYY.M.D |
latest |
| beta | vYYYY.M.D-beta.N |
beta |
| dev | moving main head |
dev |
ironcliw update --channel stable|beta|devIronCliw is built on OpenClaw, used under the MIT License.
Original project: github.com/openclaw/openclaw
OpenClaw License: MIT
IronCliw License: MIT
All original copyright notices from OpenClaw are preserved.
Built with 🦾 by Nandkishor Rathod on top of OpenClaw