The OpenClaw desktop app. Put an AI assistant on WhatsApp, Telegram, Discord and more —
without a terminal, a server, or a config file. Runs a local model for free, or your own API key.
Download • Quick start • Build from source • Architecture • OpenClaw docs
OpenClaw is an open-source AI agent platform that connects a model to your messaging apps. It is excellent, and it expects you to be comfortable with a terminal, a config file and a long-running gateway process.
OpenClaw Easy is that same engine wrapped in a desktop app. You install it like any other program, pick a model — a local one that runs on your machine, or a provider key you already have — scan a QR code, and your messaging apps have an AI assistant. The OpenClaw core ships inside the app; there is nothing else to install.
This repository is the source of that app, and it is the build you can read: no accounts, no subscription, no telemetry. See What's in this repo for how it relates to the installers on the website.
- Download the macOS
.dmg/.pkgor the Windows.exe. - Open it and press Launch Assistant on the dashboard.
- Pick your AI under AI Configuration — either a local model (the default; the app installs Ollama for you and runs the model on your machine, no key and no bill) or your own API key for Google, OpenAI, Venice AI or OpenRouter.
- Connect a channel. WhatsApp and WeChat pair by scanning a QR from your phone; Telegram, Discord, Slack, Feishu and LINE take a bot token you paste in.
That's it. Message your own number and the assistant answers.
Set up from inside the app, no webhooks or servers:
The bundled OpenClaw core supports many more channels than the app has a setup screen for. Those
are reachable by editing ~/.openclaw/openclaw.json directly — see the
OpenClaw docs.
Two ways to run, chosen in AI Configuration.
The default. The app checks for Ollama, offers to install the official app
if it is missing, and manages models for you from the dashboard. llama3.2:3b is the starting
default; Llama 3.x, Mistral, Phi, Gemma, Qwen and DeepSeek builds all work. Nothing leaves your
machine, and there is nothing to pay.
Use an account you already have. You pay the provider directly — this build has no billing of its own and takes no cut.
| Provider | Models you can pick |
|---|---|
| Gemini 3.5 Flash, 3.1 Pro, 3.1 Flash Lite | |
| OpenAI | GPT-5.5 Pro / 5.5 / 5.4 / 5.4 Mini, GPT-5.3 Codex, o4-mini |
| Venice AI | GLM 5.2 / 5.1 / 5, Qwen 3.7 Plus, DeepSeek V4 Pro & Flash, Grok 4.3, Kimi K2.7 Code, and more |
| OpenRouter | Claude Opus 4.8 / Sonnet 4.6 / Fable 5 / Haiku 4.5, GPT-5.x, Gemini 3.x, Grok 4.3, DeepSeek V4 Pro, Qwen 3.7 Max |
Claude, Grok and DeepSeek reach you through OpenRouter — one key, every model above.
| ⚡ | No setup | No terminal, no config file, no separate OpenClaw install. The engine is bundled. |
| 🏠 | Local models | Run Llama, Mistral, Phi or Qwen on your own machine via Ollama — free, offline, no API key. |
| 📱 | WhatsApp by QR | Scan once from your phone. No bot token, no webhook, no public URL. |
| 🤖 | Multiple agents | Create agents with their own models and route channels to them. |
| 🧩 | Skills & plugins | Browse and install skills from ClawHub inside the app. |
| ⏰ | Cron jobs | Schedule recurring AI tasks. |
| 🛡️ | Tools & permissions | Decide exactly which tools your assistant may use. |
| 💬 | Built-in chat | Talk to your assistant in the app, without any channel. |
| 🎤 | Voice input | Speech-to-text locally with Whisper, or via OpenAI / Google. |
| 🌐 | 6 languages | English, Deutsch, Español, 日本語, Português, 中文. |
| 🩺 | Doctor | Diagnoses and repairs a broken config from the dashboard. |
This is the part worth being precise about, so here is exactly what the app does and does not do.
- No account. There is no sign-up and no login. Nothing identifies you to us.
- No telemetry.
telemetry-manager.tsis a no-op in this build — the collection code is not disabled by a flag, it is absent. - Your keys stay local. Configuration lives in
~/.openclaw/and~/.openclaw-easy/on your own machine. - On a local model, your conversations never leave the machine at all. That is the default mode, and it is the reason it is the default.
- On a hosted model, they go to the provider you chose and nowhere else. There is no server of ours in the path.
- The only other outbound call is a check against this repository's GitHub Releases for a newer version. It is a notification — it tells you a version exists and opens the download page; it does not install anything behind your back, and you can switch it off in Settings.
openclaw-easy-desktop/
├── apps/desktop/ # the Electron app — main, preload, React renderer
├── packages/shared/ # shared TypeScript types
├── openclaw/ # the OpenClaw core, vendored (MIT, OpenClaw Foundation)
└── docs/ # architecture notes and images
Two things to know before you dig in:
openclaw/ is upstream code. It is a vendored copy of
openclaw/openclaw, refreshed wholesale when we sync. Fixes
belong upstream, not here — a patch to openclaw/ is overwritten by the next sync.
Installers come from elsewhere. This repo builds and tests the app, but the release pipeline that publishes to openclaw-easy.com lives in a private repository, along with the optional hosted-AI tier. That tier is why a few surfaces here are thinner than in the downloadable build: this is the bring-your-own-key app, complete and working, with the commercial parts removed rather than stubbed.
Architecture in more depth: docs/ARCHITECTURE.md.
Requires Node 22.22.3+, 24.15+ or 25.9+ (Node 23 is not supported) and pnpm 12.
git clone https://github.com/openclaw-easy/openclaw-easy-desktop.git
cd openclaw-easy-desktop
pnpm install # installs the app and the vendored core
pnpm dev # launch the app in development modeOther commands, all from the repo root:
pnpm build # build the shared package and the desktop app
pnpm test # run the unit suite (575 tests) once and exit
pnpm test:e2e # Playwright end-to-end suite
pnpm lint # lint the app and shared package
pnpm package # build a macOS installer into apps/desktop/dist-installers/pnpm package targets macOS. For Windows, run
pnpm --filter ./apps/desktop exec electron-builder --win on a Windows machine.
An installer you build here is not code-signed — apps/desktop/electron-builder.yml ships
identity: null and notarize: false, and there is no Windows certificate configured. Expect
macOS Gatekeeper to ask for confirmation and Windows SmartScreen to show a "more info" prompt on
first launch. Set your own signing identity there if you need signed builds.
One known rough edge:
pnpm buildinsideopenclaw/does not work in this layout. The vendored core resolves its UI dependencies against its own directory, while pnpm hoists them to the repository root, so the core's bundle step cannot find them. It does not affect the app — the desktop build and the test suite do not need it — but do not be surprised by it. Building the core is not a step in any workflow here.
Issues and pull requests are welcome — bug reports with reproduction steps are especially valuable, since most of what breaks here is platform-specific and hard to see from one machine. CONTRIBUTING.md covers the setup, where each kind of code lives, and what a reviewable PR looks like.
Found a security issue? Please read SECURITY.md first — don't open a public issue for it.
Apache-2.0 — see LICENSE. The vendored OpenClaw core under openclaw/ is MIT,
copyright the OpenClaw Foundation; its notice is at openclaw/LICENSE.
Built on OpenClaw by the OpenClaw Easy team.
