blog
Notes from building Snotra
What I run into while building an open-source AI agent desktop: architecture, local models, Agent Skills and MCP.
-
A desktop agent for your local model: Snotra and OpenCode Desktop compared
You have a model running in Ollama or LM Studio and want an agent that works in your folders, without a terminal. Two open-source desktop apps come up: OpenCode Desktop and Snotra. A comparison focused on who each one is built for, how far you get without a config file, and what they let the agent do unasked.
-
Does the architecture fit? An architecture review of Snotra
A code review asks whether the code is right. An architecture review asks whether the structure fits what the app has to achieve. How I did it for Snotra: an interview for the quality goals first, then 29 scenarios checked against the code, the decisions written down, and 38 issues.
-
What did that chat cost? Snotra 1.23 tells you
The question I heard more than any other about Snotra: what does this cost me? Since 1.23 every chat shows an estimate next to the token counter, split by model and kind of token, from a price table that ships with the app and never fetches itself.
-
Snotra 1.20.1 to 1.22.1: the agent asks for its tools and reads its own manual
Five releases in five days. Snotra Agent now asks before switching on a tool it needs, answers questions about itself from its own manual, keeps a server open for one folder, and runs Git over SSH inside the sandbox on macOS.
-
Snotra 1.18.1 to 1.20: a manual in the app, a skills pill, and dictation you can watch
Four releases in three days. Snotra Agent now carries its own searchable manual, shows which skills and tools a chat has, writes your dictation into the input while you speak, and folds approval cards you have already answered.
-
Auto mode: what changes when your AI agent stops asking
Snotra asks before every change, and in a long task that is a lot of asking. Auto drops the questions. What it switches off, what keeps working, and why it is a decision for one chat, not for the app.
-
Snotra 1.15.1 to 1.18: a new name, images, and a sandbox that asks
Seven releases in four days. The app is called Snotra Agent now, it can draw images, and when the sandbox stops a command, it asks you instead of failing silently. Plus a preview that goes back and forward, and a user manual.
-
Snotra 1.13.3 to 1.15: see what the agent changed
Nine releases in four days. The ones you will notice: a file tree that shows where the agent has been and what it changed, HTML files as live pages, the reasoning level chosen per chat, PDF and Office documents the agent can read — and a macOS build that is signed and notarised.
-
Setting up your first model, step by step
Snotra brings no model of its own: you connect the one you want. This guide walks through both ways in, with a screenshot for every step — a local model with Ollama, free and without a key, and a cloud model with an API key.
-
Snotra 1.13.2: time to pay down technical debt
Agentic coding changed how fast software gets written, not whether technical debt piles up. 1.13.2 is the first installment of a code review in eighteen blocks: thirty findings in the core of the app, all fixed. Plus a sandbox whose state you can see at a glance.
-
Snotra 1.13: every permission on one page
Settings › Security shows what Snotra may do in the open folder, row by row, and holds every control that changes it. 1.13.1 adds the state of each MCP server and stops an unreadable settings file from being overwritten with defaults.
-
Where can I see what my AI agent may do?
Snotra’s permission model holds up, but its controls are spread over eight places, some you can see but not change, some you can change but not see. Before building anything, I’m collecting alternatives and asking for a decision — a look at a design problem in progress.
-
Snotra 1.12.1: skills that keep what they learn
A skill written for another agent now finds its own files in Snotra, and a skill you have loaded can write back to its folder — approved like any other write. Plus AGENTS.md where repositories keep it, and hidden files in the folder panel.
-
An open-source alternative to Claude Cowork — with local models
Cowork put an AI agent into a folder on your desktop, and it does that well. Snotra does the same as open source: any model, local ones included, no account, and nothing changes without asking. An honest comparison, including what Snotra can’t do yet.
-
What local models taught me about my agent harness
Nine minutes to the first token, and the conversation was less than a hundred tokens of the prompt. What a model on your own machine asks of an agent harness — and why meeting it makes the harness better for every model.
-
Why I built an open-source AI agent desktop
I wanted to see what actually travels between a language model and the program that drives it. Five months later, that experiment is a desktop agent that works in your folder, asks before it acts and runs on the model you choose.