How it works

How it works

One prompt for a new question or an answer you’ve used before. Start typing. Myellm searches your history while you decide what to ask.

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.

mm
 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.

mm
 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:

KeyCopies
cThe selected code line, or the first code block
mThe whole answer as Markdown
CAll 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.