cd /news/ai-agents/building-a-free-local-coding-agent-w… · home topics ai-agents article
[ARTICLE · art-107459] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

Building a Free, Local Coding Agent with Tauri, Rust, and Vue

Developer Ruvian Fabrin has built Cerne Code, a free, open-source desktop coding agent that runs 100% locally, compatible with Ollama, llama.cpp, LM Studio, and any OpenAI-compatible API. The agent can read, edit, and create files with sandboxed diff review, run commands, search the web via multiple engines without an API key, generate documents, control the screen, and delegate subtasks to sub-agents. Fabrin benchmarked 12 local models for tool-calling ability, finding gemma4-e4b-qat-mtp via TurboQuant the best with 60/60 on 6 tool tasks and 0.2s per call.

read1 min views1 publishedAug 23, 2026

I've been building Cerne Code — a free, open-source desktop coding agent that runs 100% locally. Think "Claude Code" as a desktop app, but free and compatible with Ollama, llama.cpp, LM Studio, and any OpenAI-compatible API.

This post covers the architecture, key technical decisions, and what I learned along the way.

The agent can read, edit, and create files (with a sandbox + diff review), run commands (including background dev servers), search the web (multi-engine, no API key needed), generate documents (Excel, Word, PDF, PowerPoint), control the screen via computer_use, and delegate subtasks to sub-agents.

Tool execution loop: Each turn, the model decides which tool to call. The loop runs in a background async task — the UI gets progress events via Tauri's event system.

Sandboxed editing: Every write_file/edit_file goes to a project-side sandbox first. The user approves/rejects each diff before anything touches the real file.

Pipeline Dev→QA→Analyst: The agent can implement something, then a skeptical verifier confirms with real tests before declaring success. If it fails, it loops back to the dev phase.

Multi-engine web search: DuckDuckGo + Brave + Mojeek aggregated, with dedup and ranking by consensus. No API key needed by default.

Audio input & TTS: Speak instead of typing. Listen instead of reading.

Skills, Agents & Personas: Reusable instruction files, specialized sessions, and custom personas with their own tone.

I tested 12 local models on tool-calling ability. The winner: gemma4-e4b-qat-mtp via TurboQuant (llama.cpp fork) — 60/60 on 6 tool tasks, 0.2s per call. Full benchmark in the README.

Rust compilation is slower to iterate on, but the resulting binary is ~5MB vs Electron's 150MB+. Memory usage is also significantly lower — the app idles at ~80MB.

MIT license. Download, fork, contribute.

🔗 [https://github.com/RuvianFabrin/cerne-code](https://github.com/RuvianFabrin/cerne-code)

🔗 [https://ruvianfabrin.github.io/cerne-code.html](https://ruvianfabrin.github.io/cerne-code.html)
── more in #ai-agents 4 stories · sorted by recency
── more on @cerne code 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/building-a-free-loca…] indexed:0 read:1min 2026-08-23 ·