← All articles

#opencode

11 articles

All articles tagged "opencode" : self-hosted AI fixes, setups, and architecture notes.

goose vs aider vs Pi vs opencode on a Local Qwen: 192 Runs and Time to a Correct Result

goose vs aider vs Pi vs opencode on a Local Qwen: 192 Runs and Time to a Correct Result

I benchmarked goose, aider, Pi and opencode across 192 runs on a local Qwen3.6-35B. Aider passed 39 of 48 tasks at 3.0 minutes per correct result, while goose achieved 38 of 48 correct results at 1.6 minutes per correct result.

Read article →
My self-hosted coding-agent fleet failed task after task, on every model. The models were not the problem: seven plumbing bugs were, from a 200-character task cut to 430k tokens pushed into a 262k window. Here is each bug with its evidence and fix, plus a pytest-judged bake-off of aider, goose and opencode on a local Qwen and free NVIDIA NIM models.
strategyagentsbenchmarkingdgx-spark

aider vs goose vs opencode, Measured: The Seven Fleet Bugs I First Blamed on the Models

My self-hosted coding-agent fleet failed task after task, on every model. The models were not the problem: seven plumbing bugs were, from a 200-character task cut to 430k tokens pushed into a 262k window. Here is each bug with its evidence and fix, plus a pytest-judged bake-off of aider, goose and opencode on a local Qwen and free NVIDIA NIM models.

From five manual sessions to twenty-seven autonomous lanes. How a self-hosted podcast engine evolved into a multi-model fleet with auto-failover, dynamic routing, and a coordinator that doesn't need me to push the button. An experiment beyond sovereignty.
dgx-sparkagentsdevopspodcast

27 Agents, One GPU: How the Fleet Automated Its Own Coordination

From five manual sessions to twenty-seven autonomous lanes. How a self-hosted podcast engine evolved into a multi-model fleet with auto-failover, dynamic routing, and a coordinator that doesn't need me to push the button. An experiment beyond sovereignty.

I ran five opencode sessions in parallel, manually dispatching work, chasing stale trees, and learning how to coordinate AI agents without turning them into a firehose. The honest log of build day one.
dgx-sparkagentsdevopspodcast

One Human, Five Sessions: Building a Podcast Engine with Manual Coordination

I ran five opencode sessions in parallel, manually dispatching work, chasing stale trees, and learning how to coordinate AI agents without turning them into a firehose. The honest log of build day one.

I asked Qwen3.6 to redesign a stats component on sovgrid.org. It did, with real unique readers from NSM, git-based edit history, collapsable layout, and a dozen bug fixes along the way. The cost was eighteen commits, eight debugging iterations, and a growing sense that I was stress-testing my local LLM at the edge of its useful range for a feature whose value to me as operator was genuinely questionable.
qwendevopsengineering-honesty

The ArticleZapStats Redesign: Real Readers, Git History, and the Cost of Asking a Local LLM to Care

I asked Qwen3.6 to redesign a stats component on sovgrid.org. It did, with real unique readers from NSM, git-based edit history, collapsable layout, and a dozen bug fixes along the way. The cost was eighteen commits, eight debugging iterations, and a growing sense that I was stress-testing my local LLM at the edge of its useful range for a feature whose value to me as operator was genuinely questionable.

Qwen3.6-35B built a working SvelteKit 5 + D3.js app from a single prompt. The build passes. The features ship. But the architecture is improvised, the code is duplicated, and it took eight debugging iterations to get here. Here's what the gap between 'works' and 'good' actually costs.
strategyqwenbenchmarking

I Let Qwen3.6 Build a Full-Stack App. It Worked. I Wasn't Satisfied.

Qwen3.6-35B built a working SvelteKit 5 + D3.js app from a single prompt. The build passes. The features ship. But the architecture is improvised, the code is duplicated, and it took eight debugging iterations to get here. Here's what the gap between 'works' and 'good' actually costs.

Three local, self-hostable coding-agent CLIs that drive your own vLLM models instead of a cloud API: opencode, goose, and vibe. I run opencode as primary and goose as backup on a DGX Spark, and I retired vibe. Here is the decision, with the licences, the maintenance reality, and the one config gotcha each, so you can choose for your own box.
strategyagentsdgx-spark

goose vs vibe vs opencode: Picking a Local Coding CLI for a Sovereign vLLM Stack (2026)

Three local, self-hostable coding-agent CLIs that drive your own vLLM models instead of a cloud API: opencode, goose, and vibe. I run opencode as primary and goose as backup on a DGX Spark, and I retired vibe. Here is the decision, with the licences, the maintenance reality, and the one config gotcha each, so you can choose for your own box.

I built a small, dependency-free harness that answers one question with numbers instead of vibes: does this enhancement make my agent measurably better, on my models, on my tasks? Here is the method, what I found, and why deterministic gates are the whole point.
strategyagentsbenchmarking

Agent-bench: stop trusting install counts, start measuring your agent's tools

I built a small, dependency-free harness that answers one question with numbers instead of vibes: does this enhancement make my agent measurably better, on my models, on my tasks? Here is the method, what I found, and why deterministic gates are the whole point.

Four assistants still on the table in 2026 plus one I uninstalled. Claude Code wins on raw capability, Aider wins on git discipline, opencode is now the local primary against Qwen 3.6, OpenClaw stays as the Mistral specialty. Vibe is in the postmortem column.
comparisonopenclaw

Coding Assistants on a Sovereign Stack: Claude Code, opencode, Aider, OpenClaw (and why Vibe got retired)

Four assistants still on the table in 2026 plus one I uninstalled. Claude Code wins on raw capability, Aider wins on git discipline, opencode is now the local primary against Qwen 3.6, OpenClaw stays as the Mistral specialty. Vibe is in the postmortem column.

Two days of reverse-proxy work, a full Caddy stack with Let's Encrypt TLS and basic-auth in front of opencode web, all working. Then I realized I am not the right user for it. The actual mobile answer was already on my phone, and OpenWebUI quietly took over the other half of the use case.
strategyagentsdevops

I Built a Web UI for Mobile Coding. Termux Won Anyway.

Two days of reverse-proxy work, a full Caddy stack with Let's Encrypt TLS and basic-auth in front of opencode web, all working. Then I realized I am not the right user for it. The actual mobile answer was already on my phone, and OpenWebUI quietly took over the other half of the use case.

Replace cloud AI coding assistants with opencode, a provider-agnostic Node CLI plus Electron desktop app. Points at any OpenAI-compatible endpoint, ships in three frontends. Includes the 2026-05-13 correction on the auto-title-generator Mistral BadRequest gotcha and the JSON-config-only setup syntax.
setupqwenagentsmistral

opencode Setup: Self-Hosted AI Coding Assistant on ARM64

Replace cloud AI coding assistants with opencode, a provider-agnostic Node CLI plus Electron desktop app. Points at any OpenAI-compatible endpoint, ships in three frontends. Includes the 2026-05-13 correction on the auto-title-generator Mistral BadRequest gotcha and the JSON-config-only setup syntax.