NVIDIA
Explore
Models
Blueprints
GPUs
Docs
⌘KCtrl+K
View All Playbooks
View All Playbooks

onboarding

  • Set Up Local Network Access
  • Open WebUI with Ollama

data science

  • Single-cell RNA Sequencing
  • Portfolio Optimization
  • CUDA-X Data Science
  • Text to Knowledge Graph
  • Optimized JAX

tools

  • DGX Dashboard
  • Comfy UI
  • RAG Application in AI Workbench
  • Set up Tailscale on Your Spark
  • VS Code
  • Connect Three DGX Spark in a Ring Topology
  • Connect Multiple DGX Spark through a Switch

fine tuning

  • FLUX.1 Dreambooth LoRA Fine-tuning
  • LLaMA Factory
  • Fine-tune with NeMo
  • Fine-tune with Pytorch
  • Unsloth on DGX Spark

use case

  • NemoClaw with Nemotron 3 Super and Telegram on DGX Spark
  • Run Hermes Agent with Local Models
  • cuTile Kernels
  • CLI Coding Agent
  • Live VLM WebUI
  • Install and Use Isaac Sim and Isaac Lab
  • Vibe Coding in VS Code
  • Build and Deploy a Multi-Agent Chatbot
  • Connect Two Sparks
  • NCCL for Two Sparks
  • Build a Video Search and Summarization (VSS) Agent
  • Spark & Reachy Photo Booth
  • Secure Long Running AI Agents with OpenShell on DGX Spark
  • OpenClaw 🦞

inference

  • Speculative Decoding
  • Run models with llama.cpp on DGX Spark
  • Nemotron-3-Nano with llama.cpp
  • SGLang for Inference
  • TRT LLM for Inference
  • NVFP4 Quantization
  • Multi-modal Inference
  • NIM on Spark
  • LM Studio on DGX Spark
  • vLLM for Inference

Run Hermes Agent with Local Models

30 MIN

Install and run the Hermes self-improving AI agent on DGX Spark.

AI AgentLLMNous Research
View on GitHub
OverviewOverviewInstructionsInstructionsTroubleshootingTroubleshooting
SymptomCauseFix
hermes: command not found after installShell profile not reloaded in the current sessionRun source ~/.bashrc (or source ~/.zshrc) and retry. Open a new terminal if the issue persists.
source ~/.bashrc works in an interactive terminal, but hermes is still missing from a scripted SSH commandMany Ubuntu .bashrc files return early for non-interactive shells before the installer-added PATH lines runIn automation, run export PATH="$HOME/.local/bin:$PATH" before hermes, or call ~/.local/bin/hermes directly.
sudo: hermes: command not found during gateway install, uninstall, or printed sudo hermes … stepssudo resets PATH and does not see the user-level hermes shimRun which hermes as your normal user, then invoke that path with sudo, e.g. sudo "$(which hermes)" uninstall or sudo /full/path/from/which/hermes gateway ….
Installer prints "Setup wizard skipped (no terminal available)"The installer was launched from a non-interactive shell, CI job, or SSH command without a usable TTYEither re-run hermes setup in an interactive terminal, or configure Ollama directly: hermes config set model.provider custom, hermes config set model.base_url http://localhost:11434/v1, and hermes config set model.default qwen3.6:27b.
Installer cannot install ripgrep / ffmpeg, or prints Non-interactive mode and no terminal availableOptional helper install needs sudo, but the current shell cannot prompt for a passwordInstall manually in an interactive terminal with sudo apt install -y ripgrep ffmpeg. Hermes still runs without them, but file search is slower and TTS voice-message support is limited.
Browser tools show system dependency not met, or Playwright Chromium install failsPlaywright needs Linux shared libraries installed through sudo, and the installer could not obtain sudo accessCore chat and Telegram can still work. To enable browser tools, run cd ~/.hermes/hermes-agent && npx playwright install --with-deps chromium in an interactive terminal and enter your sudo password.
You want the gateway to start at boot, but hermes gateway install creates a user serviceCurrent Hermes installs a user service by default unless --system is suppliedUse sudo "$(which hermes)" gateway install --system --run-as-user "$USER" (or replace $(which hermes) with ~/.local/bin/hermes if needed).
hermes uninstall --yes says it requires an interactive terminal, or still prompts for uninstall optionsThe uninstaller protects data deletion and expects a real TTY for confirmationRun it directly in your terminal, or allocate a TTY over SSH (ssh -t <spark> 'hermes uninstall'). For a full wipe, select Full uninstall and type yes when prompted.
Telegram bot never answers; gateway logs show timeouts or TLS errors to api.telegram.orgOutbound HTTPS to Telegram is blocked on the current network (common on locked-down corporate LANs)From the Spark, run curl -sS --connect-timeout 10 -o /dev/null -w "HTTP %{http_code}\n" https://api.telegram.org/ (see Instructions). If this hangs or fails, move the Spark to a network that allows Telegram or ask IT to allow HTTPS to api.telegram.org. The rest of the playbook can succeed locally while the bot stays silent.
Installer asks about OpenClaw import / migrationAnother agent framework was previously installedFor this playbook, answer n. OpenClaw migration is out of scope here and can leave gateway or Telegram state confusing. If you already migrated by mistake, use Start over from scratch below.
Choosing Telegram during install immediately shows “setup complete” without token / user ID promptsStale or partial Hermes gateway config; installer short-circuitAfter source ~/.bashrc, run hermes gateway setup, select Telegram, and complete token and allowed-user steps. Install or restart the systemd service using the printed commands (with sudo "$(which hermes)" if needed).
/start shows “Unknown command” (or similar) in TelegramBot does not define a custom /start handlerSend a normal text message such as hello after /start. Hermes responds to conversational text, not necessarily slash commands.
~/.hermes still exists after uninstallUninstaller preserves data unless you explicitly remove itThis is expected in some flows. Remove manually only if you want a full wipe: rm -rf ~/.hermes (see Start over from scratch).
Hermes installer can't list any models at the model-selection promptOllama is not running or has no models pulledSanity-check Ollama in another terminal: list installed models with ollama list, hit the API with curl http://localhost:11434/api/tags, and confirm a model can actually serve requests by running ollama run <model-name> (e.g. ollama run qwen3.6:27b) and sending a test prompt. If the list is empty or the API is unreachable, start Ollama and pull a model with ollama pull <model-name>, then re-run the Hermes installer.
Connection refused to http://localhost:11434/v1 from HermesOllama service not running on the default portStart the Ollama service and confirm it is listening on 11434. On systemd hosts: systemctl status ollama and systemctl start ollama.
Pasting the Telegram bot token shows nothing on the screenExpected — the installer hides token characters as a security measurePaste the token, then press Enter. The installer should respond with Telegram token saved.
Telegram bot does not reply when you send helloGateway service not running, your account is not in the allowed user IDs list, or outbound HTTPS to Telegram is blocked(1) Confirm Telegram HTTPS from the Spark (Instructions — network check). (2) List Hermes units with systemctl list-units --type=service --all, locate the gateway unit by name, then sudo systemctl status <hermes-gateway-unit> and sudo journalctl -u <hermes-gateway-unit> -e --no-pager -n 80. (3) If logs show reachability to Telegram but messages are ignored, verify your numeric user ID is in the allowed list via hermes gateway setup or the Hermes messaging gateway docs.
Out-of-memory or very slow inferenceSelected Ollama model is too large for available GPU memory, or other GPU workloads are competingCheck usage with nvidia-smi, free GPU memory by closing other workloads, or pull a smaller model with ollama pull <smaller-model> and switch to it via hermes model.
hermes update fails or the gateway does not restartGateway service still bound to the previous version, or insufficient permissions on a system-service installRe-run sudo "$(which hermes)" update if the gateway was installed as a System service and plain hermes update cannot restart it. If the service is stuck, restart it manually: sudo systemctl restart <hermes-gateway-unit>.
Cannot resume a previous sessionThe <sessionId> value is missing or wrongUse hermes --resume <sessionId> with the exact ID Hermes printed when you /exit that chat. If the ID is lost, start a new session with hermes (omit --resume).

NOTE

DGX Spark uses a Unified Memory Architecture (UMA), which enables dynamic memory sharing between the GPU and CPU. With many applications still updating to take advantage of UMA, you may encounter memory issues even when within the memory capacity of DGX Spark. If that happens, manually flush the buffer cache with:

sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'

For latest known issues, please review the DGX Spark User Guide.

Resources

  • Hermes Agent Documentation
  • Hermes Agent — Security
  • Hermes Agent GitHub Repository
  • Nous Research
  • DGX Spark Documentation
  • DGX Spark Forum
Terms of Use
Privacy Policy
Your Privacy Choices
Contact

Copyright © 2026 NVIDIA Corporation