Workspace

Chat

Chat with any of your models in the OpenLLM web app with encrypted transcripts, or open a terminal or coding CLI on one of your devices in Device mode.

Chat in the web app has two modes, switched with Chat | Device under the message box:

  • Chat sends your messages to a model you pick and keeps an encrypted transcript.
  • Device opens a real terminal or coding CLI on one of your paired devices, in the browser.

Your vault must be unlocked in this browser to read or continue a chat. See Security and vault.

Chat with a model

  1. Open Chat and select New chat.
  2. Open the model picker and choose a model. To find one, type in Search models… or pick a provider from the side rail.
  3. Type your message and send it.

The picker lists the models available to your account, including included models and models on your providers. To keep a model at the top, select the star next to it. Starred models appear under Favorites. Favorites are saved in this browser.

Attach files

Select Attach files, or paste a file into the message box. Chat accepts images (PNG, JPEG, WebP, GIF), PDFs, and plain-text or Markdown files. Whether a model can read an attachment depends on the model.

Use your voice

Select Start voice input, speak, then select Stop recording and transcribe. The transcript lands in the message box for you to edit and send.

Voice input needs a speech model. If none of your models can transcribe audio, the mic shows Voice input needs a speech model. Connect an OpenAI API key to enable it. Subscription providers are chat-only. See API keys.

Watch the context window

The meter in the message box estimates how much of the model's context window the conversation uses. It is an estimate from the transcript, because providers report exact usage only after a turn completes. If a model doesn't publish a context limit, the meter shows only the running total. To control what happens when a conversation outgrows a model, see Routing and fallback.

Organize chats

Open the More actions menu on a chat in the sidebar:

ActionWhat it does
Pin / UnpinKeeps the chat at the top of the list.
RenameChanges the title. On desktop you can also double-click the chat.
Archive / RestoreMoves the chat to the Archived section at the bottom of the list, or back.
SelectSelects several chats at once.
DeletePermanently removes the chat, its encrypted history, and the files you attached to it.

Device mode

Device mode runs a real CLI in a terminal on one of your devices and streams it to the browser. The session runs on the machine, with that machine's files, logins, and tools.

Before you begin

  • A paired device that is online. See Add a device.
  • The device runs macOS or Linux. Device chat needs a terminal, which other platforms don't provide.
  • Remote sessions are turned on for that device. They are off on a fresh install unless you left Remote terminal on when you paired it.

To turn remote sessions on, run this on the device itself:

openllmd sessions on

To turn them off again, run openllmd sessions off. To check, run openllmd sessions status. The setting is stored as OPENLLM_DAEMON_PTY_SESSIONS in ~/.openllm/.env. A daemon that is already running can keep its old setting, so run openllm restart after you change it.

Start a session

  1. Choose the device in the device switcher at the top of the app.
  2. Under the message box, select Device.
  3. Pick a CLI. Terminal opens a shell. Claude Code, Codex, Grok Build, OpenCode, and Hermes appear when they are installed on the device.
  4. Optional: choose the Folder to start in, and type a task to hand the CLI when it opens.
  5. Select Start, or Start & send if you typed a task.

Device mode also lists the sessions you can pick up again, grouped by folder: sessions still running on the machine, and earlier Claude Code, Codex, Grok Build, OpenCode, and Hermes sessions that you can resume. In the sidebar, Detach session leaves a session running on the machine and End session stops it.

If Device is greyed out, hover over it to see why. The common reasons:

ShownCauseFix
OfflineNo daemon is running on that machineRun openllm start there.
Sessions offRemote sessions are offRun openllmd sessions on on that machine.
No terminalThe machine isn't macOS or LinuxUse a macOS or Linux device.
Vault lockedThe device only accepts sessions your vault has signedUnlock your vault in this browser.

Encryption

Your chat transcripts are encrypted in your browser with your vault key before they are saved. OpenLLM stores only the ciphertext and cannot read them.

Chat titles are not encrypted, so the chat list stays readable while your vault is locked. A new chat's title is the first line of your first message, up to 60 characters. Rename a chat if its first line is sensitive.

If you reset your vault, chats saved under the old vault can no longer be decrypted, and the files attached to them are deleted.

Media library

Images, audio, and video generated in your chats are collected in the media library at /chat/library, with the files you attached. Filter by Images, Video, Audio, or Documents. Generated media stays in the library after you delete the chat that made it. To remove an item, select Delete media.

Media URLs are public

Generated media and the files you attach to chats are stored unencrypted at public URLs. The URLs are unguessable, but anyone who has one can open the file without signing in. Share them on purpose, and don't attach files you need to keep private. Deleting an item from the library removes the file and its URL.

Last updated on

On this page