Desktop App
Setup, operator mode, PIN flow, and the Tauri runtime.
The desktop app is the flagship surface — a Tauri app (Rust backend + webview) with a Three.js glass droplet, chat interface, and full identity/crypto/operator mode support.
Running the desktop app
In development mode (Vite + webview):
pnpm --filter @motebit/desktop devFor a production build:
pnpm --filter @motebit/desktop buildFirst launch
On first launch, you'll see a welcome overlay explaining that motebit creates a local identity and device key. Click Get started to:
- Generate an Ed25519 keypair
- Store the private key in your OS keyring
- Create your motebit identity
- Register this device
After that, the chat interface appears. Type a message to start talking to your motebit.
Choosing a provider
Open settings (gear icon, top right) to configure your LLM provider:
| Provider | Setup |
|---|---|
| Ollama (default) | Install Ollama, pull a model (ollama pull llama3.2), and select "Ollama" in settings |
| Anthropic | Enter your API key in settings. Key is stored in the OS keyring, never on disk. |
Set the model name in the Model field. Examples: llama3.2, claude-sonnet-4-5-20250514.
Operator mode
Operator mode unlocks high-risk tools (file writes, shell execution, payments). It's gated by a PIN:
- Toggle Operator Mode in settings
- First time: set a 4-6 digit PIN (stored as SHA-256 hash in keyring)
- Subsequent times: enter your PIN to enable
While active, the agent can use R2+ risk tools. Tool calls still produce audit log entries, and specific tools can still require per-call approval.
To reset your PIN, click Reset PIN in settings. This clears the PIN and disables operator mode.
Chat interface
The chat overlay sits at the bottom of the screen, over the 3D droplet:
- User messages — Blue bubbles, right-aligned
- Assistant messages — Frosted glass bubbles, left-aligned
- System messages — Centered, dimmed
- Tool status — Pulsing italic text showing tool execution progress
- Approval cards — Interactive cards for tool approval (Allow/Deny buttons)
Slash commands
Type / to use commands:
| Command | Action |
|---|---|
/model | Show current model |
/model <name> | Switch model |
/settings | Open settings panel |
/help | Show available commands |
Dev mode (without Tauri)
In dev mode (running via Vite without the Tauri backend), the app skips identity bootstrap and uses environment variables:
# .env file in apps/desktop/
VITE_AI_PROVIDER=anthropic
VITE_ANTHROPIC_API_KEY=sk-ant-...No keyring, no operator mode, no sync — just the chat and rendering. Useful for UI development.
Configuration storage
| Data | Storage |
|---|---|
| Provider, model | ~/.motebit/config.json |
| API key | OS keyring (via Tauri) |
| Operator PIN hash | OS keyring (via Tauri) |
| Identity, events, memories | ~/.motebit/motebit.db (SQLite, WAL mode) |