Local agent AI · DataKnifeAI

Your GPU.
Your agent.
Your rules. Ἐνόδιος — Hermes of the road

Enodios wires Hermes Agent to vLLM on your machine — uncensored models, full tool access, zero cloud inference. No refusals from a provider you don't control.

~2s
tool-call latency (vLLM)
64k
context for agent loops
$0
inference API fees

Complete control on your own metal

Cloud models come with alignment layers, usage policies, and refusals baked in. Enodios is the opposite: a local inference stack where you decide what runs, what tools the agent gets, and which requests cross the boundary of your machine.

Hermes Agent is a harness — shell, files, browser, memory. Enodios feeds it models with minimal safety guardrails so nothing stands between you and your workflow. What happens on your system is your responsibility. That's the point.
— the Enodios philosophy
🏠

Runs locally

Weights, KV cache, and inference stay on your GPU. No data leaves your box unless Hermes tools explicitly do it.

🔓

Uncensored by default

Default model is Nous Hermes 3 — tuned for agent work without corporate alignment blocking your prompts.

Built for agents

Native tool calling via vLLM's Hermes parser. ~3× faster than Ollama for the same model class on a 4090.

🎛️

You set the limits

Hermes permissions, sandboxing, and model choice are yours. Enodios doesn't phone home or enforce policy.

Hermes harness + vLLM engine

One OpenAI-compatible endpoint. Hermes handles orchestration; vLLM handles tokens. Binds 127.0.0.1 by default — use start --lan only when a remote Hermes agent needs access.

Operator
You
Prompts, goals, boundaries
Harness
Hermes Agent
Tools · memory · planning
API
:8000/v1
OpenAI-compatible
Inference
vLLM
AWQ · fp8 KV · hermes parser
Hardware
NVIDIA GPU
Your VRAM, your rules

Freedom-first models for Hermes Agent

Not every open model is suitable. Hermes needs native tool calling and enough context for long agent loops. These models prioritize minimal alignment — abliterated or Nous-tuned — over corporate safety layers.

NousResearch/Hermes-3-Llama-3.1-8B

BF16 weights — higher quality, heavier VRAM. Best on a clean 24GB+ GPU.

uncensored tools 16GB+ weights
quality tier

vatistasdim/Cipher-Abliterated

Abliterated 3.2B — safety layers stripped. Fastest tool calls, smallest footprint.

abliterated tools ~4GB
~1.2s warm latency

huihui_ai/qwen3.6-abliterated

Larger abliterated Qwen — strong reasoning, slower. Tool output can be inconsistent.

abliterated tools 24GB+
~14s tool latency

Skip for freedom-first goals

Aligned cloud-tuned models — nemotron-3-nano, qwen3.6 (stock), gemma — have strong agent skills but corporate safety refusals. Fine for compliance workloads; wrong fit when you want the model to follow your instructions without a policy layer in the middle.

Run enodios recommend to detect your GPU and get tuned ENODIOS_* exports. Swap models via ENODIOS_MODEL — any vLLM-compatible weights with Hermes tool support.

Distributed Hermes

One machine runs vLLM on the GPU; another runs Hermes with tools — Hermes controlling Hermes over your LAN.

GPU hostenodios start -b --lan
enodios urls
Controllerenodios configure --url http://<gpu-host>:8000/v1
hermes chat
You
Operator
Goals on controller
Controller
Hermes Agent
Tools · shell · files
LAN
:8000/v1
start --lan
GPU host
vLLM
Hermes 3 inference

No API auth. --lan exposes an unauthenticated OpenAI-compatible API — trusted local network only.

Orchestrator + sub-agents

One Hermes orchestrator plans work and delegates to many client Hermes agents — each client runs scoped sub-tasks with its own tools while inference flows through Enodios vLLM on your GPU hosts.

OrchestratorPlans · delegates · merges results
Client HermesOne per repo, VM, or sandbox
GPU host(s)enodios start -b --lan per inference box
You
Operator
High-level goal
Orchestrator
Hermes Agent
Plan · delegate
Clients
Hermes × N
Sub-agent tasks
Tools
Scoped
Per client · per repo
Orchestrator
Hermes
Planner inference
LAN
:8000/v1
Enodios
GPU host
vLLM
Shared or per-client

Each client machine: enodios configure --url http://<gpu-host>:8000/v1 then hermes chat. Full setup →

Quick start

  1. Install Enodios + vLLM
    curl -fsSL https://raw.githubusercontent.com/DataKnifeAI/enodios/main/install.sh | bash
    enodios install
  2. Detect GPU → get recommended settings
    enodios recommend
    enodios recommend --apply
    source ~/.local/share/enodios/recommended.env
  3. Start inference (background)
    enodios start -b
    enodios status
    enodios bench
  4. Install Hermes Agent
    curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
  5. Wire Hermes (setup wizard)
    hermes setup
    # → Full setup → Inference Provider → Custom endpoint (enter URL manually)
    # Base URL: http://127.0.0.1:8000/v1
    # API key: (empty)  model: hermes3:8b  context: 65536
    
    # Or provider only: hermes setup model
    
    hermes config show
    hermes chat
  6. Free the GPU (games / heavy tasks)
    enodios stop    # or: enodios pause — releases ~20GB VRAM
    # game, render, or other GPU work
    enodios start -b   # resume when done

Prefer automatic config? enodios configure writes the same endpoint to ~/.hermes/config.yaml. vLLM holds most of your VRAM while running — stop it before other GPU-heavy apps.

Connect Hermes via CLI wizard

Install Enodios and start vLLM first, then install Hermes and run hermes setupFull setupInference ProviderCustom endpoint (enter URL manually). Use hermes setup model or hermes model to change provider later — not /model inside chat (that only switches existing providers).

  1. How would you like to set up Hermes?Full setup (skip Quick Setup / Nous Portal)
  2. Wizard sections run in order. At Inference ProviderCustom endpoint (enter URL manually)
  3. Enter values below; press Enter through later sections or configure them later
PromptEnodios value
ProviderCustom endpoint (enter URL manually)
Base URLhttp://127.0.0.1:8000/v1
API keyLeave empty (no auth on loopback)
Model namehermes3:8b — served name, not the HuggingFace path
Context length65536 — Hermes agent minimum
Provider nameenodios (optional named provider)
enodios start -b          # vLLM must be running first
enodios status            # confirm hermes3:8b

hermes setup              # Full setup → Inference Provider → Custom endpoint
# or: hermes setup model

hermes config show
hermes chat

Remote GPU host: run enodios start -b --lan on the inference box, then hermes setup model on the controller with the lan: URL from enodios urls, or enodios configure --url http://<gpu-host>:8000/v1.

Firewall enodios start --lan detects UFW/firewalld and prompts to allow TCP 8000 — or enodios firewall --allow
Probe fails Wait for vLLM to finish loading — tail -f ~/.local/share/enodios/vllm.log
No tool calls Run enodios bench first; model must be hermes3:8b with context 65536
Switch in chat /model custom:enodios:hermes3:8b after wizard setup

Requirements

GPUNVIDIA 12GB+ (24GB for 64k default)
OSLinux x86_64
Drivernvidia-smi working
Disk~15GB free
RAM16GB min, 32GB rec.
Hermes AgentAfter Enodios — vLLM must be up for setup
DefaultValue
Modelsolidrust/Hermes-3-Llama-3.1-8B-AWQ
API namehermes3:8b
Bind127.0.0.1 (loopback; start --lan0.0.0.0)
Port8000
Context65536 (Hermes agent minimum)
KV cachefp8
Tool parserhermes

Commands

CommandDescription
enodios depsCheck / install OS GPU packages (curl, git, NVIDIA driver)
enodios installDeps check + uv + vLLM venv + CLI link
enodios updategit pull + upgrade vLLM + refresh CLI
enodios recommendGPU detect → model/settings for Hermes
enodios recommend --applyWrite recommended.env
enodios startForeground vLLM on loopback
enodios start -bBackground; log + PID file
enodios start --lanExpose vLLM on LAN; prompts firewall allow
enodios firewallCheck / allow TCP port for remote Hermes
enodios urlsPrint local + LAN API URLs
enodios stop / pauseStop vLLM — free GPU for games and other tasks
enodios doctorGPU / CUDA / health checks
enodios benchTool-call smoke test
enodios configureWire Hermes to local vLLM
enodios configure --url URLWire Hermes to remote vLLM
enodios statusURLs + /v1/models

Troubleshooting

Gaming / heavy GPU enodios stop before launching — default 64k uses ~20GB VRAM. Resume with enodios start -b.
VRAM full enodios stop first, close other GPU apps, or export ENODIOS_GPU_UTIL=0.65 — run enodios recommend.
Port busy export ENODIOS_PORT=8001 then enodios configure.
Remote Hermes GPU host: enodios start -b --lan (prompts firewall) + enodios urls; controller: configure --url http://<gpu-host>:8000/v1
Background start failed tail -f ~/.local/share/enodios/vllm.log
No nvcc Fine — PyTorch sampler fallback works. CUDA toolkit is optional speedup.
Docker CUDA errors Use native Enodios (host vLLM). Avoids CUDA_ERROR_UNKNOWN in containers.