Build DGX Spark Local Agents: Zero Token Cost [2026]
Run always-on agents on DGX Spark GB10 with NemoClaw and 2-4 node clustering for 400B models at zero token cost.
Elena Rostova
Principal Distributed Systems Architect
- DGX Spark 128GB unified with NemoClaw gives zero-token agents
- 2 nodes 256GB for 400B, 4 nodes 512GB with 200G RoCE
- 2x serves Flash 60 tok/s 1M context locally
Build DGX Spark Local Agents: Zero Token Cost [2026]
NVIDIA DGX Spark is a GB10 Grace Blackwell desktop with 20-core Arm, 128GB LPDDR5x unified at 273GB/s, 1 PFLOP FP4, 4TB NVMe, and ConnectX-7 200G RoCE in 1.2kg at 240W. June 2026 OOBE installs NemoClaw sandboxed agent in minutes with Qwen3.6-35B via Ollama and zero per-token fees.
- Own the runtime: sensitive context stays on-device with direct tool control.
- Scale with Sync: 2 nodes give 256GB for 400B models, 4 give 512GB.
- Serve fast locally: DeepSeek Flash 0731 hits 60 tok/s on 2x with 1M context.
Why local agents win now
Cloud fleets charge per token and exfiltrate context by default. Spark keeps Hermes, OpenClaw, and NemoClaw assistants always-on at wall power with phone monitoring while heavy compute stays local and cloud only for scale. NemoClaw adds guardrails for behavior, data, and model routing.
June OOBE skips OTA by default for faster first agent, then playbook opens NemoClaw express install. Pair discipline with Deep Agents token-efficient playbook to hold 70k budgets even on-device.
Unbox -> OOBE -> NemoClaw yes/Y -> Ollama Qwen3.6-35B -> agent live
|
v
1x Spark (128GB) -> 2x Sync RoCE (256GB, 400B) -> 4x ring (512GB, MoE)
|
v
vLLM TP=2 + NCCL 2.30u1 + guardrails + phone monitor
Front API with ToolHive fleet gateway when hybrid cloud tools are needed.
Benchmark table: local throughput vs memory
From NVIDIA Aug 27 blog and Sep 8 forums, DeepSeek DSpark builds.
| Setup | Memory | Model served | Prefill / Decode | Context |
|---|---|---|---|---|
| 1x Spark tuned | 128GB | Flash 0731 full 256 experts | 800+ / 35 tok/s | 200K-1M |
| 1x Spark C1 | 128GB | Flash 0731 | 1058 / 52 tg/s | 1M |
| 2x Spark TP=2 RoCE | 256GB | Flash DSpark + Vision Exp | 60-67 tok/s | 1M |
| 4x Spark TP=4 RDMA MTP | 512GB | Flash vLLM jasl fork | 49-54 tok/s | 1M |
| Cloud Flash API | n/a | Flash 0731 | 90 tok/s burst | 1M |
Local trades peak burst for zero marginal cost and privacy. Two nodes are the sweet spot for 400B MoE and concurrent agents.
Step 1: Unbox to first agent in minutes
Excluding model download, OOBE to NemoClaw is guided CLI plus desktop flow.
# file: install.sh
# 1 accept licenses, 2 express install
sudo nemoclaw install --express
# auto pulls Ollama + Qwen3.6-35B
ollama list | grep qwen3.6-35b
nemoclaw status
nemoclaw launch --sandbox strict
# file: cli.sh
nemoclaw agents list
nemoclaw logs --follow agent-main
nemoclaw approve --id req_123
Monitor from phone while agent works in background. Review outputs and step in for prod writes, mirroring Opus automation workflow approval gates.
Step 2: Cluster two to four Sparks with Sync
Single 128GB fits 35B dense and quantized MoE shards. For 400B and multi-agent concurrency, cluster via assistant.
# file: cluster.sh
# Sync Settings -> Cluster Assistant, no switch for 3, switch for 4
# netplan RoCE + SSH trust + bandwidth check automated
nvidia-sync cluster init --nodes spark-1,spark-2 --topology p2p
nvidia-sync cluster verify --bandwidth 200G
nccl-topo --ring spark-1,spark-2,spark-3
# file: netplan-roce.yaml
network:
ethernets:
enx-roce0:
addresses: [10.10.0.11/24]
mtu: 9000
NCCL 2.30u1 supports three-node ring. Use switch for four-node full mesh. Verify 200G per link before serving or tail latency spikes.
Step 3: Serve DeepSeek Flash with vLLM TP
Community DSpark recipes stabilize Vision Exp TP=2 with RoCE and K=5 long-agent tuning for CodeWhale repos.
# file: serve.sh
# 2x Spark recipe Sep 8: TP=2 RoCE Vision Exp
ENABLE_VLLM_GB10_PATCH=1 ./start-vllm.sh --model deepseek-ai/DeepSeek-V4-Flash --tp 2 --max-model-len 1000000 --quantization modelopt_gb10_hybrid
curl http://spark-1:8000/v1/models | head
# file: local_router.py
MODELS = {"fast": "qwen3.6-35b", "coder": "deepseek-v4-flash", "vision": "deepseek-v4-flash-vision-exp"}
# route screenshots to vision-exp, code to flash, chat to qwen
# fall back to cloud Flash $0.14 when local queue > 30s
For Codex-native cloud fallback see DeepSeek Codex playbook. Keep local default for privacy, cloud for burst.
Production reality check and failure modes
Four local traps hurt. First, unified memory pressure OOMs large MoE: July driver improves feedback, but cap concurrent instances and enable prefix caching with chunked prefill 16384. Second, RoCE misconfig halves throughput: verify MTU 9000 and SSH trust before serving. Third, FP8 versus NVFP4 mismatch slows 15 tok/s to 14 at 4-way: standardize on NVFP4 with vLLM 0.23 recipe and MTP 2 speculative tokens. Fourth, unsandboxed OpenClaw tools exfiltrate: enforce NemoClaw strict sandbox and Hermes least privilege.
Add guardrails: 20GB KV cache cap, max 5 sequences per Spark, 800 prefill target, and nightly eval of tool precision. Measure cost per task at zero marginal versus $0.89 cloud baseline to justify hardware.
When local beats cloud
Use Spark cluster for always-on personal agents, sovereign codebases, and high-concurrency experiments without meter anxiety. Use cloud Flash or Qwen Max for 2.4T frontier peaks beyond 512GB. Most teams run local default with cloud burst behind one router.
Step 4: Hybrid router and cost payback model
Keep local default with cloud burst behind latency queue. Route screenshots to Vision Exp TP=2 locally, code to Flash DSpark, chat to Qwen 35B, overflow to cloud Flash when queue exceeds thirty seconds.
# file: hybrid.py
QUEUE_LIMIT = 30
def route(task: str, queue_s: float):
if queue_s > QUEUE_LIMIT:
return 'cloud-flash-0731'
if task.startswith('vision:'):
return 'local-vision-exp-tp2'
if task.startswith('code:'):
return 'local-flash-dspark'
return 'local-qwen35b'
# file: payback.sh
# 2x Spark capex vs $0.89 Opus task and $0.08 Flash task
python -c "tasks=2000; save=(0.89-0.0)*tasks; print(f'monthly save ${save:.0f} at 2000 tasks')"
# high-volume always-on pays back hardware in 4-7 months, burst stays cloud
Roll out in one weekend. Friday unbox and OOBE with NemoClaw express. Saturday cluster second node with RoCE verify and serve Flash DSpark. Sunday enable Vision Exp TP=2, phone monitor, and hybrid fallback. Monday run CodeWhale repo eval with K=5 long-agent tuning and publish tokens per task. Version vLLM patch, quantization, and netplan together so rebuilds are deterministic for audits.
Track prefill 800 plus and decode 35 plus on single node as health baseline; alert when CodeWhale long-agent p95 exceeds twice baseline for three runs. Keep FP8 weights plus FP8 KV with 20GB allocation, prefix caching on, chunked prefill 16384, and MTP two speculative tokens as golden config. Document Ollama Qwen path for chat fallback when vLLM cluster restarts for upgrades.
Schedule monthly game day with power loss, RoCE flap, and cloud outage to prove local continuity and hybrid failover before procurement renewals.
Pin DGX OS June 2026, NCCL 2.30u1 ring topology, and GB10 hybrid patch version for reproducible clusters.
Log every approval with agent id and tool scope so phone reviews remain auditable for security questionnaires.
Retain CodeWhale eval traces for quarterly comparison against cloud frontier upgrades.
Publish tokens per task dashboard weekly to prove zero-marginal economics to finance leadership.
Keep Hermes and OpenClaw assistants on separate memory scopes to prevent cross-agent data leakage.
Tag rollback netplan and vLLM configs for instant recovery during cluster experiments.
By Elena Rostova, Principal Distributed Systems Architect at Daily AI World.
Last tested & verified: September 2026 with DGX OS June 2026, NemoClaw latest, vLLM GB10 patch and 2x Spark RoCE.
Enjoyed this breakdown? Get our morning dispatch in your inbox.
Curated breakdowns of frontier model architectures and compute markets delivered every weekday. Zero fluff.
Elena Rostova
Principal Distributed Systems Architect
Elena Rostova leads coverage on high-concurrency multi-agent frameworks, LangGraph orchestration, event-driven pipelines, and self-healing systems.
Pace the Frontier: Slow AI to Secure Agents [2026]
Next Story →Qwen 3.8 27B on Cerebras: 1,500 tok/s Agents [2026]
Related Intelligence Analysis
The Step-by-Step Guide to Automating Meeting Tasks with Whisper
You're spending 45 minutes after every client meeting typing up notes and manually assigning tasks in Jira. This guide shows you how to wire OpenAI Whisper and Claude to automatically convert meeting recordings into assi...
Lovable AI UI-to-Code Pipeline: 2026 Tutorial
Lovable AI UI-to-code automation pipeline uses Lovable AI on Lovable Cloud to convert visual UI designs and natural language specs into production-grade web applications. UI/UX designers and frontend developers bridging...
Claude Code's New Browser: 5 Workflows That Save Hours Daily
Claude Code's built-in browser is a sandboxed tabbed browser inside the Claude Code desktop app (Week 28, July 2026) accessible via Cmd+Shift+B (macOS) or Ctrl+Shift+B (Windows). It lets Claude open websites, read docume...