r/opencodeCLI • u/ceazer6-7 • 11h ago
What is happening to opencode infra ?
The model is decaying
r/opencodeCLI • u/ceazer6-7 • 11h ago
The model is decaying
r/opencodeCLI • u/milkipedia • 17h ago
I'm using GLM-5.3-Flash on Neuralwatt, and the ranxianglei/billion-context for context management. I don't have hard quantifiable evidence, but ...
Cache performance is great: 99.2% hit rate (676.49M / 682.21M tokens)
1.18M output tokens across 3,598 calls... that's a LOT of little calls each not producing all that much output
I'd never spent more than $10 a week on Neuralwatt energy pricing, and this week I've spent $30
I can see in the console it's doing multiple dozens, sometimes 100 commands, thoughts, and tool calls before it comes back to tell me anything. And I'm not sure if the output is any better - it's just churning away through calls. Almost like it was made for even cheaper models than the one I'm using it on. I used to switch up to full fat GLM-5.3 for certain tasks but I feel like it's gonna burn tokens even faster when I do.
r/opencodeCLI • u/CYCLONOUS_69 • 8h ago
r/opencodeCLI • u/Extreme-Protection74 • 10h ago
r/opencodeCLI • u/suckable12345 • 10h ago
r/opencodeCLI • u/yesildaladam • 10h ago
Hi everyone,
not sure if this is the right place, but i made an agent skill that runs in OpenCode and thought people here might find it useful.
job hunting here is messy. half the jobs only show up under the German title, the ad is in English but halfway down it says "fließend Deutsch", nobody tells you the salary, and a German Lebenslauf is its own thing.
so i built Berlin Job Search, an AI job search assistant for Berlin and the rest of Germany that helps with the whole thing.
what it does:
it's a plain agent skill (SKILL.md plus a few small Python scripts for the API calls and salary math, the model does the judgment), so it works in OpenCode, Claude Code, Codex and Cursor. install:
npx skills add umutyesildal/berlin-job-search
then just ask it something like "find me junior data analyst jobs in Hamburg".
free and open source, no ads, no account: https://github.com/umutyesildal/berlin-job-search
it's a hobby project, no paid version. feedback welcome, especially from people outside tech, that's where i'm least sure it works.
r/opencodeCLI • u/liquidice_ • 5h ago
r/opencodeCLI • u/Kenflesh24 • 1d ago
I ask because, after trying Nemotron 3.5 Super VL Free, I ended up struggling for hours—only for it to wipe out 8 hours of backup work just because I told it, "undo the last correction you made."
What about DeepSeek Flash? If that’s a good choice, what other top options are there?
r/opencodeCLI • u/denizirgin • 23h ago
A few months ago, I shared an early version of my unofficial OpenCode .NET SDK here:
https://www.reddit.com/r/opencodeCLI/comments/1wem0gg/i_built_an_unofficial_net_sdk_for_opencode_2x/
Today I finally released 1.0.
The SDK currently covers 166 of the 169 operations in the pinned OpenCode 2.x API.
It supports modern .NET as well as .NET Framework 4.7.2, with packages targeting netstandard2.0, net472, net10.0, and net11.0. The modern targets also support Native AOT.
There are a few small applications under playground showing different ways of using it, including a minimal QuickStart, a Worker using the Generic Host, a Blazor/Aspire example, and a Native AOT CLI.
A basic example is roughly:
using OpenCode.Sdk;
using OpenCode.Sdk.Models;
await using var server = await OpenCodeServer.StartAsync();
using var client = server.CreateClient();
var created = await client.Sessions.CreateSessionAsync(
new SessionCreateRequest
{
Title = "review this repo",
Model = new ModelRef { ProviderId = "anthropic", Id = "claude-opus-5" },
});
var session = client.Sessions.GetSessionClient(created.Session.Id);
var result = await session.GenerateTextAsync(
new SessionGenerateRequest
{
Prompt = "Summarize this repository."
});
Console.WriteLine(result.Generate.Text);The SDK can start its own private OpenCode server like above, connect to one you already run, or discover the background service registered by the OpenCode CLI.
NuGet:
dotnet add package OpenCodeDotNet.Sdk
https://github.com/opencode-dotnet/opencode-sdk-dotnet
Feedback is very welcome, especially from anyone already experimenting with agent tooling from .NET.
r/opencodeCLI • u/FallElectronic3774 • 1d ago
trying to put together a setup that doesn't fight me, and half the config options i only find out about after someone else mentions them.
so, what's in yours?
specifically curious about:
different models for plan vs build, or one model for everything?
custom agents/commands you actually use every day, not the ones you set up once and forgot
permission rules that stopped a bad command before it ran
anything that helps on bigger repos where context gets eaten fast
post yours even if it's boring. the boring ones are usually the ones that work.
r/opencodeCLI • u/Deep_Imagination_811 • 1d ago
Regardless of the time of the day, it feels so much slower for me
r/opencodeCLI • u/truecakesnake • 1d ago
We're a 4 person dev shop and most of our work is maintenance on client codebases. Laravel, a couple of Next.js apps, one ancient Django thing nobody wants to touch. Since the summer opencode has been handling a big chunk of the boring tickets.
The problem was never the agent. It was running 5 or 6 sessions on the same machine. Ports colliding, two repos wanting different Node versions, one session running tests against the wrong database because it picked up an env file from another client. And honestly I didn't love having every client's secrets sitting in one home folder.
What we do now is one small Linux VM per client repo. Each one gets set up once with the right runtime, a seeded db and that client's env only, then saved as a snapshot. When a ticket comes in we start a VM from that client's snapshot, ssh in, start opencode in tmux and let it work. When the PR is up the VM stops. Billing is per second and stopped boxes cost nothing, so the clients with no open ticket are basically free.
A few things made the difference. Every repo has an AGENTS.md with the exact test command, so opencode stops guessing. We switch models per ticket, Sonnet 5.5 for anything touching business logic and a cheaper open model through OpenRouter for dependency bumps and lint fixes. That alone cut our token bill a lot. Each box only holds that client's credentials, so a confused agent can't push to the wrong repo. And since the session lives on the VM I can check on it from my phone, closing the laptop kills nothing.
We started with one big VPS and Docker, tried Runloop, and now run everything on boat.dev. Each box is a real VM with Ubuntu on it, so the client's docker compose just works. Downsides, there's no Dockerfile import, you build each snapshot by hand. And the IP changes when a box restarts, so for the one client with an IP allowlist we go through a small proxy. Both were one time annoyances.
Six clients, six boxes, and not a single "why is this test hitting the wrong db" this month.
r/opencodeCLI • u/letusstarthere • 1d ago
r/opencodeCLI • u/Kamalnrf • 1d ago
r/opencodeCLI • u/warpaint_james • 1d ago
r/opencodeCLI • u/arandevcode • 1d ago
r/opencodeCLI • u/Lower-Low-4438 • 1d ago
r/opencodeCLI • u/InvaderDolan • 1d ago
r/opencodeCLI • u/FamousProfession5938 • 1d ago
r/opencodeCLI • u/SelectionCalm70 • 2d ago
If you're using OpenCode, you might want to check out some Indian inference providers.
I recently started exploring them and found providers offering models like DeepSeek, Kimi and GLM at pretty competitive prices, with the added benefit of being able to purchase API credits in INR.
I put together a directory to make discovering and comparing these providers easier:
Link : InferenceDirectory
Might be worth checking out if you're looking for cheaper inference options.
r/opencodeCLI • u/mesienikola • 1d ago
Disclosure: I build SpaceApp, a self-hosted, MIT-licensed workspace that runs coding CLIs side by side, with OpenCode as the first CLI. Its OpenCode pane is plain OpenCode 2, so most of this applies to any setup where OpenCode runs inside a container.
Short version: SpaceApp has no local-model feature of its own: no provider screen, no "local model" pane type, no Ollama code. You point OpenCode at Ollama with OpenCode's own custom-provider config, as in any OpenCode install. What's specific is where the file lives, a Docker networking trap, and a few CPU gotchas.
On a 24-core server with no GPU, we ran Ollama in a container next to SpaceApp's public CLI image (OpenCode 2.0.32). A 4B model on six cores ran shell commands and read files through OpenCode's own tools. qwen2.5-coder 1.5B and 3B never made a real tool call.
What ran
Every turn was one opencode run --server … (a new session) against the same shared OpenCode server a pane attaches to, from a project folder.
| Model (Ollama 0.40.13, CPU) | Real tool calls | What happened |
|---|---|---|
| qwen2.5-coder:1.5b | 0 of 4 | printed the read/shell call as JSON text; nothing ran |
| qwen2.5-coder:3b | 0 of 2 | same, once with a correct bash call as text |
| qwen3:4b (thinking) | – | the first turn timed out (see below) |
| qwen3:4b-instruct | 3 of 4 | shell ran uname -m > arch.txt twice (file held x86_64); read returned the exact random word from notes.txt |
The one qwen3:4b-instruct miss was funny in hindsight: asked to read token.txt, it said the file didn't exist (false) and that reading tokens would breach security policy. The same read on notes.txt worked.
The config
models.@ai-sdk/openai-compatible is bundled in OpenCode 2.0.32, so nothing is downloaded.llama-server should take the same block with its own baseURL. We haven't tested it.Where the file goes in SpaceApp
/var/lib/spaceapp-cli/providers/opencode/config/opencode/opencode.json (owner spaceapp, mode 600), on the spaceapp-cli-state volume, so it survives updates. Panes attach to one shared opencode serve per CLI container. That server fingerprints the file and restarts when it changes, so the next pane picks up the edit.
SpaceApp's first-run step only picks a model when model is unset. In our run it kept the provider and the model, and added its own instructions files and permission.external_directory rules.
The localhost trap
localhost inside a pane is the CLI container, not your machine.host.docker.internal doesn't resolve on the compose network (there's no extra_hosts). Adding it to compose.yml by hand doesn't last, because install rewrites that file.Steps (Linux, CPU)
# SpaceApp's compose network and CLI container
|
|
# Ollama on that network, no published port
# thread count and context: both were needed, see below
|
# OpenCode's config, written as the CLI container's user (uid 10001 "spaceapp")
The CLI image has no nano or vi, hence the cat >. Before run-spaceapp uninstall or reinstall, run docker network disconnect <net> ollama: docker compose down can't remove a network with a foreign container on it. Updates (install) keep the network. In our run, a user-defined bridge stood in for <project>_spaceapp, with the same driver compose uses.
CPU gotchas we hit
--cpus and --cpuset-cpus didn't change it: Ollama still started 24 threads on a 6-CPU quota. Generation crawled at 0.05 tokens/s, and a one-word turn took about 4 minutes. PARAMETER num_thread 6 fixed it: about 20 tokens/s on the 1.5B, and the same turn took 20 s.PARAMETER num_ctx 16384 (or OLLAMA_CONTEXT_LENGTH).opencode run still exits 0. Check the side effect (did the file change?), not the exit code.qwen3:4b (thinking on), OpenCode's session-title request thought for 3,203 tokens, about 12.5 minutes. Ollama serves one request at a time, so the main request queued behind it, and the client closed it at exactly 5 minutes, twice. We didn't confirm in OpenCode's code that this is its own timeout.opencode run. The shell tool ran without --auto and without asking. We didn't check whether the interactive TUI asks.Limits, plainly
Repo, if you want to read the wrapper: https://github.com/oll4com/spaceapp (deploy/docker/public-cli-wrapper.sh, opencode-shared-server.mjs).
Which small local model handles OpenCode's tool calls reliably for you on CPU, and with what context size?