A Desktop App for OpenClaw AI Agents
Features • Why XClaw • Getting Started • Contributing
English | 简体中文
XClaw packages OpenClaw into a desktop app for workflow automation, channel management, and scheduled agent tasks.
It ships with recommended model-provider presets, supports Windows and multiple languages, and keeps deeper controls under Settings → Advanced → Developer Mode.
| Common Friction | What XClaw Does |
|---|---|
| CLI-heavy onboarding | Guided setup with one-click install |
| Manual config editing | Visual settings with live validation |
| Process babysitting | Gateway lifecycle handled automatically |
| Switching across providers | Adaptive provider cards with a token-intelligence workbench |
| Skill/plugin setup | Built-in marketplace and skill management |
Go from install to first AI message entirely in the GUI. No terminal commands, no YAML editing, and no hunting through environment variables.
The chat workspace supports multiple conversation contexts, history, Markdown rendering, and direct @agent routing from the main composer in multi-agent setups.
You can also switch the active model for the current session through OpenClaw's built-in per-session override flow, without changing your saved provider configuration.
The composer includes a local QClaw-style slash-command router and inline slash menu. /new and /reset are intercepted locally while still reusing the shared Gateway send path. /model, /compact, /agents, /focus, /export, and /usage stay renderer-side instead of being sent as normal chat turns. /usage shows the active session token summary inline, while /focus and /export remain desktop-side actions.
When you mention another agent with @agent, XClaw moves into that agent's own conversation context instead of relaying through the default agent. Workspaces remain isolated by default, and stronger runtime isolation still depends on OpenClaw sandbox settings.
XClaw includes a read-only Studio view that is opened from the top-right office button. It runs a managed local Star Office runtime, shows the main agent plus local agents in one shared office, bridges local runtime events into live studio status updates, and keeps the chat workspace isolated from the embedded office scene.
Every channel can now hold multiple accounts, bind each account to a specific agent, and switch the default account directly from the Channels page.
XClaw also bundles the official WeChat channel plugin. That means WeChat accounts can be added or re-bound through GUI QR login without manually running npx or openclaw. The Channels workbench keeps the real WeChat account ID read-only, exposes QR re-login, and warns about session-expiry risk instead of sending automatic keep-alive traffic.
Create AI jobs that run on a timer. Define the trigger, choose the interval, and let agents keep working without manual follow-up.
XClaw also ships complete document-processing skills (pdf, xlsx, docx, pptx), deploys them to the managed skills directory on startup (default ~/.openclaw/skills), and enables them automatically on first install. Additional bundled skills (find-skills, self-improving-agent, tavily-search, brave-web-search) are enabled by default as well. If required API keys are missing, OpenClaw reports the configuration errors at runtime.
The Skills page can list skills discovered from multiple OpenClaw locations, including the managed directory, the workspace, and extra skill directories. It also shows the real path for each skill so you can open the installed folder directly.
Environment variables used by bundled search skills:
BRAVE_SEARCH_API_KEYforbrave-web-searchTAVILY_API_KEYfortavily-search(upstream skill runtime may also support OAuth)find-skillsandself-improving-agentdo not require API keys
Connect providers such as OpenAI and Anthropic while keeping credentials in the operating system's native keychain. OpenAI supports both API keys and browser OAuth (Codex subscription) sign-in.
Choose light mode, dark mode, or system sync. XClaw follows the preference automatically.
You can also import a whole-window wallpaper from Settings → General, keep it managed inside XClaw's local app data, and tune the shell opacity without breaking the shared sidebar and title bar materials.
In Settings → General, enable Launch at system startup if you want XClaw to open automatically after sign-in.
- Operating System: macOS 11+, Windows 10+, or Linux (Ubuntu 20.04+)
- Memory: 4 GB RAM minimum, 8 GB recommended
- Storage: 1 GB of free disk space
Download the latest package for your platform from the Releases page.
# Clone the repository
git clone https://github.com/jlon/XClaw.git
cd XClaw
# Install dependencies and download uv
pnpm run init
# Start the desktop app in development mode
pnpm devIf you prefer shorter local packaging commands on macOS, Linux, WSL, or Git Bash, you can also use the optional thin Makefile wrapper:
make package-win
make package-mac-adhoc
make package-linux
make releaseThe Makefile is only a local convenience layer and still delegates to the existing pnpm run package:* scripts. Native Windows PowerShell / CMD environments without GNU Make should keep using pnpm.
On Linux, pnpm dev now handles two common headless-host failures automatically: it retries with Chokidar polling if the inotify watcher limit is exhausted, and if neither DISPLAY nor WAYLAND_DISPLAY is present it keeps Vite running but skips Electron startup. Set XCLAW_FORCE_ELECTRON_DEV=1 if you have already prepared Xvfb, VNC, or another display server and still want Electron launched.
Windows packaging now trims non-target node-llama-cpp accelerator variants during after-pack and keeps only the CPU prebuilt for the target architecture. This cuts installer payload significantly without removing the CPU local-memory path.
The beta release workflow now publishes the mainstream Windows build through the x64 installer only. Local multi-arch packaging remains available through pnpm run package:win when you explicitly need both Windows architectures.
Packaged Windows builds now restore in-app updates under Settings → Updates on the Beta channel. Users can enable automatic checks and optionally download updates in the background. macOS Beta builds can check for new versions in-app, but because these packages are not Apple-signed they currently fall back to manual download and replace-install. Linux still stays on manual downloads.
If you self-host the website download server, keep the installer list sync and updater feed sync separate. Use scripts/sync-release-downloads.sh for the website download manifest and scripts/sync-update-feeds.sh for /downloads/updates/beta.
On the first run, the Setup Wizard walks you through:
- Language & Region: choose the preferred locale
- AI Provider: add providers with API keys or OAuth when supported
- Skill Bundles: pick preconfigured skills for common scenarios
- Verification: confirm the setup before entering the main app
If your system language is supported, the wizard picks it by default. Otherwise, it falls back to English.
When the wizard needs to provision the core Python environment, the setup step now keeps the primary action in place, shows live install logs in a collapsible panel, and supports cancellation instead of only greying out the UI.
Moonshot (Kimi) note: XClaw keeps Kimi web search enabled by default. When Moonshot is configured, XClaw also syncs Kimi web search in OpenClaw config to the China endpoint (
https://api.moonshot.cn/v1).
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your work with clear messages
- Push the branch
- Open a Pull Request
- Follow the existing code style (
ESLint + Prettier) - Add tests for new behavior
- Update documentation when needed
- Keep commits focused and descriptive
Partner inquiries: WeChat above or email itjlon@gmail.com.
XClaw is distributed under the MIT License. You are free to use, modify, and share the software.







