The ultimate OpenClaw harness. Deploy in minutes. Stay running for months.
Observability. Reliability. Agent discipline. Zero SSH rescue missions.
AlphaClaw wraps OpenClaw with a convenient setup wizard, self-healing watchdog, Git-backed rollback, and full browser-based observability. Ships with anti-drift prompt hardening to keep your agent disciplined, and simplifies integrations (e.g. Google Workspace, Google Pub/Sub, Telegram Topics, Slack, Discord) so you can manage multiple agents from one UI instead of config files.
First deploy to first message in under five minutes.
Platform: AlphaClaw currently targets Docker/Linux deployments. macOS local development is not yet supported.
openclaw doctor --fix), Telegram/Discord/Slack notifications, and a live interactive terminal for monitoring gateway output directly from the browser.AGENTS.md, TOOLS.md) injected into your agent's system prompt on every message — enforcing safe practices, commit discipline, and change summaries out of the box.AlphaClaw simply wraps OpenClaw, it's not a dependency. Remove AlphaClaw and your agent keeps running. Nothing proprietary, nothing to migrate.
Set SETUP_PASSWORD at deploy time and visit your deployment URL. The welcome wizard handles the rest.
Railway users: after deploying, upgrade to the Hobby plan and redeploy to ensure your service has at least 8 GB of RAM. The Trial plan's memory limit can cause out-of-memory crashes during normal operation.
npm install @chrysb/alphaclaw
npx alphaclaw start
Or with Docker:
FROM node:22-slim
RUN apt-get update && apt-get install -y git curl procps cron tini && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY package.json ./
RUN npm install --omit=dev
ENV PATH="/app/node_modules/.bin:$PATH"
ENV ALPHACLAW_ROOT_DIR=/data
EXPOSE 3000
ENTRYPOINT ["/usr/bin/tini", "--"]
CMD ["alphaclaw", "start"]
| Tab | What it manages |
|---|---|
| General | Gateway status, channel health, pending pairings, Google Workspace, repo sync schedule, OpenClaw dashboard |
| Browse | File explorer for workspace visibility, inline edits, diff review, and Git-backed sync |
| Usage | Token summaries, per-session and per-agent cost and token breakdown with source/agent dimension comparisons |
| Cron | Cron job management, interactive rolling calendar, run-history drilldowns, trend analytics, and per-run usage breakdowns |
| Nodes | Guided local-node setup for VPS deployments, per-node browser attach, reconnect commands, and routing/pairing controls |
| Watchdog | Health monitoring, crash-loop status, auto-repair toggle, notifications, event log, live log tail, interactive terminal |
| Providers | AI provider credentials (Anthropic, OpenAI, Gemini, Mistral, Voyage, Groq, Deepgram) and model selection |
| Envars | Environment variables — view, edit, add — with gateway restart prompts |
| Webhooks | Webhook endpoints, transform modules, request history, payload inspection, OAuth callbacks, Gmail watch delivery flows |
| Command | Description |
|---|---|
alphaclaw start |
Start the server (Setup UI + gateway manager) |
alphaclaw git-sync -m "message" |
Commit and push the OpenClaw workspace |
alphaclaw telegram topic add --thread <id> --name <text> |
Register a Telegram topic mapping |
alphaclaw version |
Print version |
alphaclaw help |
Show help |
graph TD
subgraph AlphaClaw
UI["Setup UI
<small>Preact + htm + Wouter</small>"]
WD["Watchdog
<small>Crash recovery · Notifications</small>"]
WH["Webhooks
<small>Transforms · Request logging</small>"]
UI --> API
WD --> API
WH --> API
API["Express Server
<small>JSON APIs · Auth · Proxy</small>"]
end
API -- "proxy" --> GW["OpenClaw Gateway
<small>Child process · 127.0.0.1:18789</small>"]
GW --> DATA["ALPHACLAW_ROOT_DIR
<small>.openclaw/ · .env · logs · SQLite</small>"]
The built-in watchdog monitors gateway health and recovers from failures automatically.
| Capability | Details |
|---|---|
| Health checks | Periodic openclaw health with configurable interval |
| Crash detection | Listens for gateway exit events |
| Crash-loop detection | Threshold-based (default: 3 crashes in 300s) |
| Auto-repair | Runs openclaw doctor --fix --yes, relaunches gateway |
| Notifications | Telegram, Discord, and Slack alerts for crashes, repairs, and recovery |
| Event log | SQLite-backed incident history with API and UI access |
| Variable | Required | Description |
|---|---|---|
SETUP_PASSWORD |
Yes | Password for the Setup UI |
OPENCLAW_GATEWAY_TOKEN |
Auto | Gateway auth token (auto-generated if unset) |
GITHUB_TOKEN |
Yes | GitHub PAT for workspace repo |
GITHUB_WORKSPACE_REPO |
Yes | GitHub repo for workspace sync (e.g. owner/repo) |
TELEGRAM_BOT_TOKEN |
Optional | Telegram bot token |
DISCORD_BOT_TOKEN |
Optional | Discord bot token |
SLACK_BOT_TOKEN |
Optional | Slack bot token (Socket Mode) |
WATCHDOG_AUTO_REPAIR |
Optional | Enable auto-repair on crash (true/false) |
WATCHDOG_NOTIFICATIONS_DISABLED |
Optional | Disable watchdog notifications (true/false) |
PORT |
Optional | Server port (default 3000) |
ALPHACLAW_ROOT_DIR |
Optional | Data directory (default /data) |
TRUST_PROXY_HOPS |
Optional | Trust proxy hop count for correct client IP |
REMOTE_MCP_URL |
Optional | Upstream remote MCP server URL. When set together with REMOTE_MCP_API_TOKEN, AlphaClaw writes a managed mcp.servers.<name> entry to openclaw.json on every gateway start. |
REMOTE_MCP_API_TOKEN |
Optional | Bearer token for the remote MCP server. Persisted in openclaw.json as the ${REMOTE_MCP_API_TOKEN} reference, never as plaintext. |
REMOTE_MCP_NAME |
Optional | Key under mcp.servers.<name>. Defaults to remote. Set it to label the entry (e.g. sure, notion). |
REMOTE_MCP_PROXY_URL |
Optional | When set, OpenClaw connects here instead of REMOTE_MCP_URL. Intended for a same-host scanning proxy (e.g. pipelock mcp proxy --listen <REMOTE_MCP_PROXY_URL> --upstream <REMOTE_MCP_URL>). Implementation is proxy-agnostic. |
/v1 proxyAlphaClaw can expose an OpenAI-compatible API surface on the same public port as the Setup UI. It is disabled by default. Enable it from the Setup UI under General -> Features -> API; the setting is persisted in alphaclaw.json in the OpenClaw repo so workspace sync can commit the change.
| Path | Method | Notes |
|---|---|---|
/v1/chat/completions |
POST | Streams when stream: true. Use model: "openclaw/default" or openclaw/<agentId>. |
/v1/responses |
POST | OpenClaw's /v1/responses surface (enabled together with chat completions). |
/v1/embeddings |
POST | Routes to OpenClaw's embeddings endpoint. |
/v1/models, /v1/models/<id> |
GET | Lists OpenClaw agent targets. |
When enabled, the proxy forwards requests to the loopback OpenClaw gateway. AlphaClaw requires Authorization: Bearer <OPENCLAW_GATEWAY_TOKEN> and rejects requests when the gateway token is missing or does not match before forwarding to OpenClaw. Failed bearer-token attempts are rate-limited before proxying. The setup-UI cookie is stripped be
$ claude mcp add alphaclaw \
-- python -m otcore.mcp_server <graph>