Search as you type
With an empty prompt, Myellm shows your recent answers. Type a few words and the list becomes search results. Select an answer to open it immediately, or keep typing a new question. There’s no separate search mode to switch into.
❯ way results ▶ wayland clipboard from stdout 3× ⧉5 6d · wayland vs x11 clipboard 1× 2w · copy over ssh 2× ⧉1 1w [c] copied · clip · echo "text" | wl-copy
Keyword results appear first. With a local embedding model installed, semantic search adds related matches, so you don’t have to remember your original wording. Weaker matches appear dimmer. Search runs against your local history; opening a result makes no inference request.
Ask your model
From the prompt, Enter submits your question. Suggestions stay out of the way until you deliberately navigate to one. Answers stream in as formatted text with highlighted code, and the prompt stays live while the model is working.
❯ pipe stdout to wayland clipboard Enter ask · default Shift+Enter newline ────────────────────────────────────────── Use wl-copy from wl-clipboard: echo "text" | wl-copy fresh · streaming
You configure the provider and model. Included configurations cover OpenAI,
Claude, Gemini, and Ollama Cloud through OpenAI-compatible APIs. mm wizard
guides API key setup for OpenAI, Claude, and Gemini. The current app uses
one configured model at a time; there isn’t an in-app model picker yet.
Fresh answers use your provider’s API and billing. How quickly they arrive depends on the model and connection. Saved answers are available locally.
Ask again. It’s already there.
Submit the same question again and Myellm returns the saved answer from its exact-match cache. No new model request, no new API charge, no waiting for the answer to be generated again.
Automatic reuse for similar questions is a separate, opt-in setting. It uses a conservative similarity threshold and shows the match score. Semantic search works independently: you can find related answers yourself without enabling automatic reuse.
A silent wrong cache hit is worse than paying for the call. You can request a fresh answer when a match isn’t useful. Feedback on a live answer can distinguish an incomplete answer from a match to the wrong question; repair of reopened historical answers is still limited.
Copy the command. Skip the prose.
You came back for the command. Type a few characters, select the result, and copy it straight from the list:
- way
- ↓
- c
Inside an answer, choose how much to take with you:
| Key | Copies |
|---|---|
c | The selected code line, or the first code block |
m | The whole answer as Markdown |
C | All code blocks |
Arrow keys move through code lines, and Myellm remembers your selection
when you reopen the answer. Copying uses wl-copy on Wayland when available,
or OSC 52 in a supported terminal.
Keep useful answers close
Your questions, answers, and copy history live in local SQLite storage. Repeated questions and copies help rank the recent list, keeping the answers you use within reach. You can search and copy saved answers offline.
Responses are retained with their model, usage, and timing information. Today, a saved note holds an answer you can return to. Background distillation—improving that note as more answers accumulate—is planned.
Deleting an answer hides it from the lists without permanently erasing it.
Outside the prompt, u undoes a delete and Ctrl-R redoes it.
Undo survives a restart. mm recover lists and restores deleted answers
from the command line.
Choose where your questions go
Ctrl+Enter restricts a question to providers you’ve marked private. By default, those providers must also run locally. You can change that policy to allow a trusted remote provider.
Local-only questions are stricter: inference and embedding work must stay on this device. A remote provider being trusted doesn’t make it local.
Private and local-only records live in a separate store, excluded from the planned sync path. Sync itself isn’t available yet; each installation currently keeps its own history.
Keep a prompt within reach
Run mm in your terminal. It starts its background service, mmd, when
needed, so there’s no separate service to launch by hand. The client handles
typing and display; the service handles models, search, and storage.
The intended hotkey experience keeps the window running and toggles its visibility. The cursor is already blinking when you need it: resident, not launched.
What’s next
Three planned additions build on the same idea: make a useful answer easier to reach.
- Parallel answers. Read a fast model’s response while others work, then switch to another answer without starting over.
- Better saved notes. Distill multiple responses into an improved answer you can keep returning to.
- Memory across machines. Bring eligible history to your other devices, keeping private and local-only records out of sync.
See the roadmap for current capabilities and planned releases.