Three pieces,
one machine.
An engine, an agent and a tuner, built to run together on the computer you already own: no signal, no account, nothing to rent.
vivace
Open models on the GPU you have, many conversations at once from one card.
Open source · Apache 2.0 The engine Personal agentIris
Lives on your computer, shows its sources, and asks before anything leaves it.
Preview The agent Diagnosis and tuningstrided and gait
Finds what limits your machine, and keeps a change only when the measurement proves it.
In trials The tunervivace
The engine. It serves open models from the GPU already on your desk, and nothing leaves the machine unless you send it.
- Runs on
- NVIDIA RTX 30, 40 and 50 · Apple M5
- Models
- Llama 3 · Qwen 2.5, 3 and 3.5 · Mistral
- Serves
/v1/chat/completions·/v1/messages- Checked
- Same top token as llama.cpp, 99 % of the time or better
Many chats, one card
Conversations share each step on the GPU, so one card serves sixteen at once.
Picks up where you left off
A finished conversation is parked, and the next turn starts from its saved state.
Works with your tools
Claude Code, Qwen Code and OpenCode connect to it on localhost.
Recovers on its own
Run under
vivace supervise, it restarts after a GPU fault and the chat resumes where it stopped.
Iris
The agent. It lives on your computer and knows the difference between reading and spending.
- Runs on
- vivace, on your own machine
- Skills
ask_docs·web_answer·read_papers·research- Connects
- As an MCP server, for your other tools
- Measured
- Wrong tool 2.5 % of the time with Qwen3-8B
Asks before it spends
Spending always asks first, and after anything untrusted, so does every write.
Shows its sources
Quotes your documents by file and line, and the web only where the saved page still says it.
Memory you can read
Plain text files you can open, edit and delete, each change logged with its reason.
Stays on the machine
Other tools can use it, but it never offers them spending or writes beyond this computer.
strided and gait
The tuner. strided finds what limits your workload; gait changes one setting at a time and keeps it only when the numbers agree.
- Lives in
- The engine's own process: no sidecar, no restart
- Decides
- Speed settings on its own; anything that could change an answer waits for you
- Records
- A hash-chained journal, intent written before outcome
- So far
- One change kept, on the CPU reference; GPU trials next
Every rule cites its source
Roofline, PagedAttention, Sarathi-Serve, DistServe, Little's law. A rule without one won't load.
Says when it isn't sure
Every finding carries a confidence, and ambiguous evidence gives no diagnosis at all.
Predicts, then measures
Each trial writes its prediction down before it touches anything.
Keeps only what holds
A change stays only if its gain clears the noise; otherwise it is undone.
Follow the project.
The code, the benchmarks and the results that did not hold up all land on GitHub first. Star it to watch the work as it happens, or leave an email for release notes.