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 setup → Full setup → Inference Provider → Custom 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 Provider → Custom 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 --lan → 0.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.