Local LLMs tab: Detect Ollama, LM Studio, and vLLM (installed + running), list models available on each runtime, show system RAM
llmfit integration: If llmfit is installed (cargo install llmfit), show hardware specs and model recommendations that fit your system
OpenClaw tab: Read and edit ~/.openclaw/openclaw.json: show models.providers (ollama, lmstudio, nvidia-nim, anthropic, etc.), agents.defaults.model.primary (dropdown), agents.defaults.models (allowlist), maxConcurrent, and subagents (maxConcurrent, maxSpawnDepth, maxChildrenPerAgent)
Agents tab: List agents from ~/.openclaw/agents/ (e.g. main, dev). Per-agent: view agent/agent/models.json (providers with baseUrl, apiKey, api, models). Sync status vs openclaw.json’s models.providers; Update button copies openclaw’s provider list into the agent’s models.json (keeps existing apiKey when merging).
Usage
# Check current status
openclaw config status
# Start the gateway daemon
openclaw config start
# Stop the gateway daemon
openclaw config stop
# Restart with new settings
openclaw config restart
# View model configuration
openclaw config models
# Set default model override
openclaw config set-model <model-name>
Tauri build (desktop app)
The project includes a Tauri 2 desktop app in src-tauri/. You can build it with scripts (recommended) or manually.
Build without intervention (recommended)
From the repo root, run:
# Install requirements (Rust, Tauri CLI, Node.js, platform deps) then build the app.
# Idempotent: safe to run multiple times.
./scripts/build.sh
This script will:
Install requirements (if missing): Rust (rustup), Tauri CLI, and Node.js 18+ (uses nvm/fnm if available). On Linux (Debian/Ubuntu) it installs Tauri system packages (libwebkit2gtk-4.1-dev, etc.). On macOS it checks for Xcode Command Line Tools.
Install frontend dependencies (npm install) and build the frontend to dist/ (npm run build).
Build the Tauri app (cargo tauri build).
Output: src-tauri/target/release/bundle/ (installers and binaries).
cargo install tauri-cli # if not already installed
npm install && npm run build
cargo tauri dev # development (dev server + hot reload)
cargo tauri build # production (after frontend is in dist/)
Testing
Backend logic is split into testable modules under src-tauri/src/:
system.rs — System RAM via sysinfo. Unit tests: bytes_to_human, get_system_info.
models_available.rs — Ollama /api/tags and LM Studio lms ls. Unit tests: parse_ollama_tags_json, parse_lm_studio_ls_output.
openclaw_config.rs — Read/write ~/.openclaw/openclaw.json; present models.providers, agents.defaults.model, maxConcurrent, subagents. Unit tests: parse_config_view (required fields), get_openclaw_config (no panic).
Run Rust tests:
cd src-tauri && cargo test
Each Tauri command is a thin wrapper over these modules, so testing the modules covers the behaviour. The llmfit integration runs the llmfit binary when present; no unit tests for that (optional dependency).
Repository hygiene
Dependencies are managed via package.json and package-lock.json only; node_modules/ is in .gitignore. If node_modules was ever committed (e.g. on origin/main), run the one-time cleanup:
./scripts/remove-node-modules-from-git.sh
git commit -m "chore: remove node_modules from repository; use .gitignore and package.json only"
git push
Configuration Files
~/.openclaw/config.yaml - Main configuration file
~/.openclaw/models/ - Model registry and overrides
~/.openclaw/api-keys/ - Secure credential storage
Ecosystem Role
Standard MoltPulse indexed agent.
Embed Badge
Show off your Pulse Score in your GitHub README to build trust and rank higher.