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
mm --setup guides three paths: add an OpenAI, Claude, or Gemini API key;
explicitly download the managed on-device model on Linux x86-64; or connect an
OpenAI-compatible server you already run, such as llama.cpp, Ollama, or LM
Studio. The full setup also configures the default model and reasoning effort,
profiles, notes, hotkeys, and appearance.
In the TUI, Alt-M and Alt-Shift-M cycle the model for your next question,
while Alt-E and Alt-Shift-E cycle the reasoning effort that model supports.
Those choices last for the current TUI session and do not rewrite your saved
defaults. The refine composer has its own controls. One model still answers
each question; multi-model dispatch is not built yet.
Fresh cloud answers use your provider’s API and billing. The opt-in managed model runs locally with no provider API charge. Saved answers remain available locally either way.
Continue when one turn isn’t enough
Ctrl+B opens Breakout Chat from an answer or from scratch. It runs a separate multi-turn thread while the one-shot ask-and-recall workflow stays available underneath. You can copy the last reply or the whole transcript as Markdown.
Breakout threads currently remain separate from saved answer memory. Promoting a thread into a titled, reusable note is not built yet.
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 |
In the default full-screen view, J/K move the code-line selection marker
while j/k and the arrow keys scroll. Myellm remembers the selected line
when you reopen the answer. Copying uses wl-copy on Wayland, pbcopy on
macOS, 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. You
can retitle a saved answer with t or ask T to generate a title. Background
distillation—improving the saved note body as more answers accumulate—is
still planned.
Deleting an answer hides it from the lists without permanently erasing it.
Title changes and deletes share the durable action history: outside the
prompt, u undoes the latest action and Ctrl-R redoes it.
Undo survives a restart. mm --recover also 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, myellmd, when
needed, so there’s no separate service to launch by hand. The client handles
typing and display; the service handles models, search, storage, and state
shared with other surfaces.
The Hotkey section in mm --setup can generate and install Myellm-owned setup
for Hyprland, Sway, niri, and terminal-native macOS paths. The process stays
resident; showing it does not wait for a new client and daemon to start.
On Omarchy, an optional native bar plugin can search, ask, stream, copy, retry,
refine, delete, undo, switch profiles, and open an answer in the resident TUI.
On other supported Wayland compositors, the standalone mm-widget offers a
prompt and live recents popup.
What’s next
The largest unfinished additions build on the same idea: make a useful answer easier to reach and improve.
- 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 work.