dgx-spark-qwen38 / Guides / opencode with a local model on a DGX Spark
opencode with a local model on a DGX Spark
Run oc on the box. The installer writes opencode's provider config pointed at the proxy, an oc launcher that lifts opencode's hidden 32,000-token output cap, limits fitted to the lane's memory pool, reasoning-effort variants, and a chat template patched for agentic clients.
What does the installer set up for opencode?
- A ready-to-use provider config, pointed at the keepalive proxy on port 30001.
- An
oclauncher that lifts opencode's hidden 32,000-token output cap. - Limits fitted to the pool the lane boots to, by the installer and again at each Load in the cockpit.
- Reasoning-effort variants.
- A chat template patched for agentic clients.
oc # opencode on the lane the box serves
Why the proxy port and not the engine?
Agent clients connect to the keepalive proxy, not the engine. It sends the keepalives that stop client watchdogs from killing long prefills, aborts decodes when clients disappear, and refuses what cannot be served with a body a client can act on. The engine port speaks the same APIs without that protection, and it answers on the box only.
Does the model change with the lane?
Yes. The default model in opencode's config follows the lane the box serves.
Which opencode does it install?
One pinned version, the same on every box.
Can I use pi or oh-my-pi too?
Yes. The same generated config is the single source for pi and omp (oh-my-pi): ./pi-gen.py derives their ready configs.
Can I run it in the browser?
Yes. The cockpit's Agent view runs opencode web on the box, from a laptop or a phone.
Can I leave opencode out?
./install.sh --no-opencode leaves out the opencode integration: its config, the oc launcher and the default model that follows each switch. The choice sticks across updates, until --with-opencode or --recommended.
Install it on your Spark
One command, on stock DGX OS. The same command updates it later.
curl -fsSL https://raw.githubusercontent.com/hasso5703/dgx-spark-qwen38/main/get.sh | bashQuestions
Does opencode work with a local model on a DGX Spark?
Yes. It is the primary client of the project: the installer writes its provider config, and its default model follows the lane the box serves.
Why does the config point at port 30001 and not the engine?
Port 30001 is the keepalive proxy. It keeps long prefills alive for the client, aborts decodes when a client disappears and refuses what cannot be served with an answer the client can act on. The engine port answers on the box only.
Which opencode version does it install?
One pinned version, the same on every box.
Can I skip opencode?
Yes. ./install.sh --no-opencode leaves out the opencode integration: its config, the oc launcher and the default model that follows each switch. The choice sticks across updates, until --with-opencode or --recommended.
Is there opencode in the browser?
Yes. The cockpit's Agent view runs opencode web on the box, from a laptop or a phone.
- Sources
- README.md, opencode integration, docs/opencode.md, docs/clients.md
- Checked
- 2026-10-26, against dgx-spark-qwen38 v1.40.2
Related: Claude Code with a local model on a DGX Spark, All guides.