A local-first agent runtime with voice + Skills + OpenClaw bridge, packaged as a modern desktop app.
English · Tiếng Việt · 中文
cronyclaw_demo_1.mp4 |
cronyclaw_demo_2.mp4 |
This monorepo contains two main components:
cronyclaw-backend: Python backend (uv run run_server.py) + Docker Composecronyclaw-desktop: Electron desktop app (React + TypeScript)
cronyclaw-backend/— backend service, API/WebSocket, Docker setupcronyclaw-desktop/— desktop client app
cd cronyclaw-backend
uv sync
uv run run_server.pycd cronyclaw-backend
docker compose up --buildBackend endpoints:
- HTTP:
http://127.0.0.1:12393 - WebSocket:
ws://127.0.0.1:12393/client-ws
cd cronyclaw-desktop
npm install
npm run devcd cronyclaw-desktop
npm run build:win
# or: npm run build:mac
# or: npm run build:linuxCronyClaw can receive updates from OpenClaw in two ways:
- HTTP skill (
claw-notify) — Add an agent skill (likeclaw-notify-skill) so OpenClaw posts tohttp://127.0.0.1:12393/claw-notify. Fast to set up on one machine; behavior depends on the agent following the skill. - Gateway WebSocket bridge — Configure
OPENCLAW_GATEWAY_URL/OPENCLAW_GATEWAY_TOKEN(orconf.yaml) so the backend connects to the OpenClaw gateway, completes token-basedconnect, and may requireopenclaw devices approve <request_id>for pairing. More setup, closer to a stable event stream.
Detailed guidelines
- Backend — In the backend README, open the section Connecting CronyClaw to OpenClaw for architecture, both integration paths,
conf.yaml/conf.example.yaml, env vars, device approval, and cache paths: English, Vietnamese, Chinese. - Desktop (frontend) — In the desktop README, open Connecting OpenClaw (Settings) for Settings → General, Base URL, OpenClaw bridge URL/token, and Connect & Check Bridge: English, Vietnamese, Chinese.
CronyClaw is built by inheriting from and extending Open-LLM-VTuber. Thanks to that project and its contributors for the foundation.