Motebit

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 dev

For a production build:

pnpm --filter @motebit/desktop build

First launch

On first launch, you'll see a welcome overlay explaining that motebit creates a local identity and device key. Click Get started to:

  1. Generate an Ed25519 keypair
  2. Store the private key in your OS keyring
  3. Create your motebit identity
  4. 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:

ProviderSetup
Ollama (default)Install Ollama, pull a model (ollama pull llama3.2), and select "Ollama" in settings
AnthropicEnter 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:

  1. Toggle Operator Mode in settings
  2. First time: set a 4-6 digit PIN (stored as SHA-256 hash in keyring)
  3. 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:

CommandAction
/modelShow current model
/model <name>Switch model
/settingsOpen settings panel
/helpShow 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

DataStorage
Provider, model~/.motebit/config.json
API keyOS keyring (via Tauri)
Operator PIN hashOS keyring (via Tauri)
Identity, events, memories~/.motebit/motebit.db (SQLite, WAL mode)