The tools we wished existed.
Setup guides, tests and benchmarks from our test stack, with the commands and the numbers.
How to Set Up OpenCode With a Local Model, No Terminal
An OpenCode setup with a local model: a coding agent that runs as a normal desktop app, pointed at a model on…
How to Install Ollama on a Mac (Apple Silicon) the Right Way
Install Ollama on a Mac the clean way. The setup for Apple Silicon, plus the handful of settings that save you grief…
Run a Local ChatGPT With Open WebUI and Ollama
An Open WebUI setup guide: a private chat app that looks and works like ChatGPT, answered by a model on your own…
Local AI Autocomplete in VS Code With Continue.dev
Continue.dev with Ollama is GitHub Copilot, except that the model lives on your laptop, you pick which one, and no line of…
Aider: AI Pair-Programming in Your Terminal With a Local Model
Aider with a local model reads your repo, edits files, runs commands, and commits with clean messages, all from a chat prompt…
Build Your Own Local AI Stack (Compute, Model, Tools)
A local AI stack is three choices stacked in order: the compute, the model engine, then the tools you actually touch. How…
Local Transcription That Beats the Paid Apps: WhisperX
A WhisperX setup guide. Whisper turns audio into text, and WhisperX tells you who said what, with timestamps, running entirely on your…
Chat With Your Documents Locally (RAG) With AnythingLLM
An AnythingLLM setup guide: drag in a PDF, ask a question, and get an answer with source citations, all running on your…
ComfyUI Beginner Guide: Generate Images Locally
A ComfyUI beginner guide. It looks intimidating because it shows every step of image generation as a node you wire together. That…
Local LLM RAM Requirements: A Sizing Guide
Local LLM RAM requirements, explained. The commonest mistake is pulling a model your machine cannot hold. How to size a model to…
Local Deep Research: A Fully Private, Free Engine
Local deep research that searches, reads and writes a cited report with nothing leaving your machine: a model on Ollama plus a…
Migrate Off Paid AI Tools to Open-Source: A Step-by-Step
You do not have to cancel everything at once. The calm way to replace paid AI tools with open source: inventory, map…
AI Coding Agent Permissions: Safe File Access
An AI coding agent that can edit files and run commands is useful and, handled carelessly, risky. How we set coding agent…
Piper TTS Setup: Local Text-to-Speech on Any CPU
A Piper TTS setup guide: a lightweight engine that turns text into a WAV file in under a second, on a plain…
Marker: Convert PDF to Clean Markdown Locally
PDFs are built for printing, not machines. Marker converts PDF to Markdown with layout detection, keeping tables and equations intact, on your…
OpenCode with a local model: set up an offline AI coding agent
Point OpenCode at a local model and code with no internet and no API key. The setup, the config, and the trade-offs…
Best Local LLMs for Coding on a Mac in 2026: Benchmarked and Ranked
We benchmarked and ranked the best local LLMs for coding on a Mac in 2026, on real refactors, with speed, memory and…
How to Set Up a Local AI Coding Agent on a Mac
A step by step setup for a local AI coding agent on a Mac. No rate limits, no credits, no cloud. Which…
ComfyUI with local LLMs: a practical Mac workflow
Wire local LLMs into ComfyUI to write better prompts. The nodes, the model, the memory cost on a Mac, and the ComfyUI…
OpenClaw with a local model: a private AI assistant
Run OpenClaw with a local model and keep a persistent AI assistant on your own machine. Onboarding, memory, tools, and what it…
How to run Gemma 4 12B locally on a Mac with Ollama
How to run Gemma 4 12B locally on a Mac with Ollama: the pull command, the memory it needs, the context you…
Local LLM benchmarks on M4 Pro: Gemma, Qwen, Llama speeds
Local LLM benchmarks on an M4 Pro. Gemma, Qwen and Llama measured on tokens per second, memory used, and the point where…
Local AI coding agent setup with OpenCode and Ollama
Set up a local AI coding agent with OpenCode and Ollama. No API key, no subscription. The install, the model choice, and…
Set up local LLM tool calling in Hermes and OpenCode on a Mac
We set up local LLM tool calling in Hermes and OpenCode on a 48 GB Mac mini. Why small models drop tool…
Set up a brand voice across OpenCode, Hermes, and Pi
One brand voice spec, wired into three agents. How we point OpenCode, Hermes, and Pi at the same voice files through AGENTS.md…
How to build a private, always-on AI assistant on your Mac with Hermes Agent and LM Studio
How to build a private AI assistant on Mac with Hermes Agent and LM Studio, running on an M4 Pro. Voice notes…
OpenJarvis on a Mac: we retested Stanford’s local AI agent
We reinstalled OpenJarvis on a Mac, captured its telemetry with a local sink, and found the undocumented off switch. What it sends,…
Local AI agent for morning routine automation: setting up Hermes Agent
Learn how to set up Hermes Agent for morning routine automation. Use local AI to synthesize calendars, goals, and weather into a…
How to keep a background AI agent from failing silently
A background AI agent silent failure hides in plain sight. A heartbeat, a cron wrapper, and a watchdog make a dead scheduled…
Bonsai 27B 1-bit on a Mac: a 27B model in 3.8 GB
Most 27-billion-parameter models arrive as a download you plan an evening around. The Bonsai 27B 1-bit build from PrismML lands in 3.80…
Bonsai 27B vs Gemma 4 31B on a Mac: which local model to run
Two models sat loaded in the same copy of LM Studio this week, and one of them was a fifth the size…
MoE on a Mac: 4 to 5 times faster, and bigger in memory than the dense model it beats
A 26B MoE decodes 4 to 5 times faster than a dense model on a Mac and can still take more RAM…
Ollama MTP: the speculative decoding that is already on, and the DRAFT command nobody documented
Ollama MTP has been on by default since v0.31.1, roughly 90% faster on Gemma 4. What multi-token prediction does, and the DRAFT…
Bonsai 27B in a coding agent: a 1-bit model that calls tools cleanly and misses the line number
We put Bonsai 27B, a 1-bit model in 3.8 GB, behind the Pi coding agent. Tool calls came back clean on the…
Run an NVFP4 model in Ollama on a Mac: tags, commands, gotchas
How to run an Ollama NVFP4 model on a Mac: the tags that exist, the version you need, and four gotchas including…
ARC-AGI-3 local model test: what one move costs
We ran the MIT licensed ARC-AGI-3 toolkit on a 48 GB M4 Pro with a local model, measured what a single move…
LM Studio empty response: when reasoning eats the answer
A local model returned nothing four times in a row. What an LM Studio empty response means, why a bigger max_tokens will…
ARC-AGI-3 offline mode: run the games with no API key
ARC-AGI-3 offline mode runs the public games from disk with no key and no network. The four operation modes read from source,…
Why GameAction(1) fails in the ARC-AGI-3 toolkit
GameAction(1) raises ValueError in the ARC-AGI-3 toolkit though ACTION1.value is 1. Why the GameAction enum rejects its own value, and the lookups…
A random agent on all 25 ARC-AGI-3 games: 12 clears, no score
An ARC-AGI-3 random agent ran 60,000 actions on all 25 public games: twelve first levels cleared, two second levels, about two points…
Write your first ARC-AGI-3 agent in 40 lines of Python
A 40 line ARC-AGI-3 agent in Python that survives resets, converts action ids, handles clicks and scores locally. Every guard was paid…
Build your own ARC-AGI-3 game with arcengine in 13 lines
A working ARC-AGI-3 game in 13 lines of Python on arcengine: the class, the camera, two levels, step(), the on-disk layout the…
What the anonymous ARC-AGI-3 API key gets you
The ARC-AGI-3 API key you get without asking: what the anonymous key can do, what registering adds, and the 600 requests a…
ARC-AGI-3 recordings: what save_recording writes, and how big it gets
ARC-AGI-3 recordings are one argument to make(). What each JSONL line holds, why frames make the file forty times bigger, and how…
Score an ARC-AGI-3 run locally: the scorecard without the API
The ARC-AGI-3 scorecard is computed locally and offline by the package that plays the game. What get_scorecard returns, how it is weighted,…
Grid to text for a local model: four lines of numpy, measured
Grid to text for a local model, measured: raw hex costs 442.7s a move, a four line numpy colour summary 89.2s. The…
Debug a local model with a four call control ladder
Four calls, from a trivial reply to the real input, to debug a local model in minutes. What each rung proves, how…
LM Studio reasoning effort, temperature and schemas: what changes the thinking
LM Studio reasoning effort, temperature, JSON schemas and tool calls measured on one board: low effort thought most, a schema halved the…
How to set max_tokens for a reasoning model, from measurement
max_tokens for a reasoning model is a measurement, not a guess: run the largest input once at a huge cap, read the…
Enter ARC Prize 2026 with a local model: the Kaggle track, from a Mac
ARC Prize 2026 pays $700,000 for 100 percent; its first milestone went to local open weight models. The prizes, the open source…
ARC-AGI-3 on a Mac: what a 48 GB M4 Pro can and cannot do
ARC-AGI-3 on a Mac, measured on a 48 GB M4 Pro: the toolkit does 4,000 actions a second, a 31B reasons at…
A local model agent on one ARC-AGI-3 level: 40 moves, 230 minutes, nothing
A local model agent played 40 moves of one ARC-AGI-3 level in 230 minutes, 154,673 reasoning tokens, and cleared nothing. A human…
Image vs text for a local vision model: one board, two costs
Image vs text for a local vision model, measured: the same 64x64 board cost 4,179 prompt tokens as hex and 187 as…
A REPL agent in its smallest form: one model call writes the player
A REPL agent in its smallest form: one local model call wrote a 44 line policy that played 60,000 ARC-AGI-3 actions in…
Two agents on one LM Studio endpoint: what concurrent requests cost
Two identical LM Studio concurrent requests to a 31B on a 48 GB Mac: each ran at half speed and the combined…
Why your local model stops at exactly 8,192 tokens
Twelve of thirty six local model runs stopped at exactly 8,192 tokens with a 16,384 cap. The LM Studio context length default,…
Hermes Agent local models on a Mac: setup, file locations and the button that changes your default
Set up Hermes Agent local models on a Mac: install the llama.cpp runtime, where downloads go, which button changes your default, and…
Share Claude Code skills with OpenCode, Hermes Agent and Pi from one folder
Share Claude Code skills with OpenCode, Hermes Agent and Pi: where each agent looks, the one folder OpenCode already reads, and 106…
Kokoro TTS on a Mac: install, speed on an M4 Pro, and automatic article narration
Run Kokoro TTS on a Mac with no ffmpeg: install, a measured 7.1x real time on an M4 Pro, text cleaning, and…
Install and run MuJoCo on Mac: tested on an M4 Pro
MuJoCo on Mac, tested on an M4 Pro: pip install in 4.9 seconds, the fix for the mjpython viewer error and permission…