mm · your models and your memory, in one prompt
Ask your model.
Find your answers.
Myellm puts your chosen AI model and instant recall in one terminal prompt. Find previous answers as you type, ask something new, and get back to work.
Keep your train of thought
A quick question shouldn't become a detour.
Your question. Your choice of model.
Keep a prompt beside your work. Use the provider and model you configure, read the answer as it streams in, and keep typing while it finishes. A vim motion or an ffmpeg command shouldn't take you out of what you were doing.
You found it once. Find it again.
Start typing and previous answers appear beneath the prompt. Open one, copy its command, or ask something new. Your useful answers stay within reach, without digging through old conversations or waiting for a model to repeat itself.
How it works
From “what was that?” to back at it.
01Start typing. Start finding.
You don't need to remember which conversation had the answer. Type a few words and Myellm searches your history right beneath the prompt.
Found it? Open the saved answer instantly. New question? Keep typing, then press Enter to ask.
❯ vim results · how do i vsplit in vim 2× 1w · vim copy/paste over ssh+tmux 7× ⧉1 2d · vim delete inside quotes 3× 4d
02Ask. The answer streams in.
Type your question and press Enter. Read the answer as it arrives, with formatted text and highlighted code you can copy.
Configure the provider and model that suit you. Myellm supports OpenAI-compatible APIs, with included configurations for OpenAI, Claude, Gemini, and Ollama Cloud.
❯ gif → mp4 with ffmpeg Enter ask · default Shift+Enter newline ────────────────────────────────────────── Convert the GIF to a broadly compatible MP4: ffmpeg -i in.gif -movflags faststart \ -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" \ -pix_fmt yuv420p out.mp4
03Ask again. It's already there.
Previous answers appear as you type. Choose one to open it immediately, or submit the same question to retrieve its saved answer with no new API call.
Matching similar questions automatically is opt-in. Matches show a similarity score, and you can request a fresh answer when you need one.
Use wl-copy from wl-clipboard: echo "text" | wl-copy ── asked 3× · copied 5× · last 6d ────────── [c] clip [m] markdown [C] code blocks [r] retry [R] refine [1] responses
04Copy the command. Skip the prose.
Some commands you fetch forever. Type a few characters, press ↓ to select a result, then c to copy. Paste it where you need it. You don't even have to open the answer.
- way
- ↓
- c copied
❯ 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
Built for the next time
Less searching. Less waiting. More doing.
Stay in flow
Ask and search from the same prompt. Your hands stay on the keyboard and your attention stays on the task.
Free the second time
A saved answer needs no new inference. Exact repeats return locally, without another API charge or another wait.
Useful offline
Your saved answers live on your machine. Find and copy them even when you can't reach your model provider.
Keep what works
Return to the answer that helped last time. Refresh it when it falls short, and keep the response history.
The memory
A memory for the things that haven't stuck yet.
Learning a new tool means looking up the same things until they stick. Myellm keeps those answers close. What you ask and copy helps rank your recent list, so the commands you reach for keep turning up.
❯ recent · wayland clipboard from stdout 3× ⧉5 6d · vim copy/paste over ssh+tmux 7× ⧉1 2d · gif → mp4 with ffmpeg 2× 1w · hyprland window rule syntax 4× 3w · systemd user unit not found 2× 4w ↓ 14 more
A few words bring your previous answers into view. With local semantic search set up, related wording can find them too.
Copy a command, a selected line, or the whole answer. Keep the explanation available without copying it every time.
Your answer history lives in local storage. Even deleted answers can be recovered with undo or mm recover.
Privacy
Choose where your questions go.
Your history stays on your machine. For new answers, you configure which providers can receive your questions.
Ask a trusted provider
Ctrl+Enter restricts a question to providers you've marked private. By default, they must also run on your device. You can configure a trusted remote provider instead.
Keep it on this device
Local-only questions require local inference. The question, answer, and embedding work stay on your machine, so you can use a model without sending that question to a remote service.
Private and local-only history is stored separately, outside the planned sync path. Multi-device sync is not available yet.
Next · roadmap
A quick answer, with a second opinion already underway.
For questions that deserve more thought, the plan is to ask several models at once. Read the fast answer while others work. Switch when you want another take, without starting the question over.
Today Myellm uses one configured model at a time. Parallel answers, background improvements to saved notes, and sync between your machines are on the roadmap.
❯ why is my systemd user unit not found ────────────────────────────────────────── ▶ fast gpt · 0.4 s showing standby claude · streaming [p] promote standby gemini · queued [k] kill Units live under ~/.config/systemd/user and need systemctl --user, not plain systemctl. …
Under the hood
Small, compiled, local.
- Go
- Bubble Tea
- SQLite, event-sourced
- gRPC over a Unix socket
- FTS5 search as you type
- Static embeddings, on the daemon
- Any OpenAI-compatible API
- OpenAI · Claude · Gemini · Ollama Cloud
- Wayland · Hyprland · Sway
- wl-copy or OSC 52 clipboard
The name
myellm
An echo of myelin. A little help with the things you almost remember.
Say my-el-el-em: “my,” then L, L, M.
Status · v0.1.2 · private dogfood
Built for daily use. Getting ready for yours.
Myellm runs on its author's machines today. It's a private Linux terminal app, with a public release planned and no release date yet. See what's working and what's next on the roadmap.
One email when there's something to install. Nothing else.