Using RIM
The desktop and web client: getting started from a fresh install to a first conversation, commands, keybinds, macros and pipelines, the AI agent, installing it and signing in, building it, the keyboard, plugins, keys and recovery, linking a device, encrypted conversations, relays and the local message cache.
Start here
- Getting startedThis page takes you from a fresh install to your first conversation: creating an account, finding a workspace, talking, finding your way around the app and keeping the account safe. It is for the person using the app; …rim-ui/docs/getting-started.md
- Commands and automationEverything RIM does runs as a command: the command palette, keybinds, user commands, macros, pipelines, plugins and the AI agent all run them. This page is for the person using the app and goes deeper than Getting …rim-ui/docs/commands-and-automation.md
- The AI agentThe AI agent is a chat window in the desktop app that operates RIM for you: ask it a question or give it a task, and it reads and acts through the same commands you run from the palette. This page is for the person …rim-ui/docs/ai-agent.md
Install
The client
- RIM clientRIM is a programmable communication workspace. Chat is the medium; the product is what people build on top of it: a command palette over every action, keybinds for anything, macros that chain commands, pipelines that …rim-ui/README.md
- KeyboardEverything in the shell is reachable without a mouse. This page describes how keys are resolved, the keybind profile file, and the opt-in Vim layer.rim-ui/docs/keyboard.md
- Search UICovers the frontend of full-text message search: the paginated useSearchMessages hook, the SearchOverlay flat-list UI, SearchSnippet's sanitization, and the operator-discovery affordance. Backend contract and operator …rim-ui/docs/search-ui.md
- In-app updatesThe desktop app can check for, download and install new versions of itself with Tauri's updater plugin. It ships dormant: src-tauri/updater.json is committed empty, and an app built from it never contacts an update …rim-ui/docs/updater.md
- Version skew between client and serverA desktop client lives longer than the server it talks to: users update the app when they choose, and an operator updates the server when they choose. A client release that sends a field or a mutation an older server …rim-ui/docs/version-skew.md
Plugins
Keys, devices and encryption
- Identity key backup (desktop)The identity key adds and removes devices, replaces itself and signs the profile card. Without a backup it lives only on the computer that enrolled the account (or recovered it), and losing that computer leaves the …rim-ui/docs/identity-key-backup.md
- Device linking (desktop)A computer that holds the account's identity key shows a code; another computer pastes it and gets a device key of its own, certified by the identity key, and signs in with it. The contract, with the code format, the …rim-ui/docs/device-linking-desktop.md
- The web app as a linked deviceAs a linked device, the web app holds no identity key. It gets a device key of its own by pasting a link code shown on the desktop app (Settings > Security > Link a device), and signs in with that key; linking other …rim-ui/docs/web-linked-device.md
- End-to-end encrypted DMs and groups on the desktopDMs and groups are end-to-end encrypted with MLS (RFC 9420); channels stay plaintext. The contract is rim-server docs/specs/e2ee-mls-v1.md; the engine is the rim_mls crate (docs/rim-mls.md). This page is how the desktop …rim-ui/docs/e2ee-desktop.md
- End-to-end encrypted DMs and groups in the web appA browser set up as a linked device (web-linked-device.md) reads and sends in encrypted DMs and groups like the desktop app. It runs the same rim_mls crate (docs/rim-mls.md) compiled to WebAssembly, keeps its MLS state …rim-ui/docs/e2ee-web.md
- Secret vaultThe desktop app keeps its secrets in one encrypted file: the message cache key, the history archive keys and cloud refresh tokens, the offline session record, the key identity records and pending device links, and the …rim-ui/docs/secret-vault.md
- Local message cacheThe desktop app keeps the messages of the conversations you open in an encrypted database on this device. The timeline shows the cached copy first and falls back to it when the server cannot be reached. The web app has …rim-ui/docs/local-message-cache.md