Architecture Overview

Edited by Lawrence Beckwith on July 22, 2026 at 11:47 PM UTC

System Goals

  • Local-first inference and control — no external API dependency for core operation
  • Deterministic execution pathways for critical actions (HID injection, file writes)
  • Service composition with explicit trust boundaries
  • Operator authority at all layers — OtherU acts, humans approve or override

Major Planes

1) Perception

Captures relevant state from the environment:

  • JetKVM HDMI capture — real-time desktop screenshots via hardware bridge
  • Vision resize pipeline — raw capture letterboxed to model input resolution
  • Optical flow cursor tracking — Lucas-Kanade tracker, confidence-scored position
  • Memory retrieval — Hindsight (semantic + keyword + entity-graph recall) across Hermes Agent

2) Reasoning

A single inference engine handles all reasoning tiers. The model is selected by prompt complexity and tool requirements:

Tier Purpose When used
FAST Greetings, acks Short, low-complexity prompts
DEFAULT Conversation + memory retrieval General queries
REASONING Deep analysis Complex multi-step reasoning
COMPLEX Tool execution loop Any action requiring tool calls

Routing path:

User Message (Telegram)
    │
    ▼
Hermes Agent
    │  ┌── custom provider: http://127.0.0.1:8000/v1
    │  │   model: deepseek-v4-flash (ds4-server)
    │  │   backend: ROCm 7.2.4 on AMD Radeon 8060S
    │  ▼
ds4-Server (Podman container, port 8000)
    │
    ├── FAST → single-turn response
    ├── DEFAULT → streaming chat completion
    ├── REASONING → high-temperature chain-of-thought
    └── COMPLEX → tool-calling agent loop with Hermes tool dispatch

The inference server runs as a Podman container with ROCm GPU passthrough (/dev/kfd, /dev/dri). KV-cache is disk-persisted (/srv/kvcache, 2 TB budget) for fast session resume across restarts.

3) Action

Hermes Agent executes constrained operations through typed tools:

  • Desktop/HID actions — JetKVM (WebRTC capture + USB HID) driven by Hermes computer-use tools
  • Coordinate translation — vision model coordinates inverse-transformed to real screen coordinates before HID injection
  • Code execution — sandboxed shell commands
  • File operations — workspace read/write
  • Messaging — post to Telegram topics, send alerts, create summaries
  • Web & research — web search, page extraction
  • Delegation — spawn sub-agents for parallel work

4) Memory

Hermes Agent provides three memory systems:

Hindsight (Long-Term Fact Storage)

Hindsight is the durable memory layer. It stores structured facts extracted from conversations and retrieves them on future turns via three parallel mechanisms:

  • Semantic search — embedding-based similarity across all stored entries
  • Keyword matching — full-text search over entity names and descriptions
  • Entity graph traversal — follows relationships between entities (people, projects, systems) to surface connected facts

Three query modes:

Tool Purpose
hindsight_recall(query) Search across all stored memories — returns ranked results
hindsight_reflect(query) Synthesize a reasoned answer from all relevant memories
hindsight_retain(content, context, tags) Store a new fact with automatic entity extraction and indexing

Hindsight recall is on-demand: the agent calls hindsight_recall or hindsight_reflect when it needs long-term context (automatic per-turn injection is disabled to keep the inference server's KV cache stable). Writing remains automatic — auto_retain captures durable facts from conversations, and the retain tool is also called proactively when the agent learns a durable fact about the user, their environment, or a project.

Configuration:

Setting Value Description
provider hindsight Active memory backend
memory_enabled true Memory system enabled
memory_char_limit 8000 Max characters for memory entries
user_char_limit 3000 Max characters for user profile
nudge_interval 10 Prompt to save memory every 10 turns
flush_min_turns 6 Minimum turns before memory flush

Session Search (Conversation History)

FTS5-indexed archive of every past conversation session across all Hermes profiles. Accessed via session_search:

Mode Description
session_search(query) Discovery — FTS5 search across all sessions, returns top matches with context windows
session_search(session_id, around_message_id) Scroll — read ±N messages around a specific message in a session
session_search(session_id) Read — dump the full session (first 20 + last 10 messages)
session_search() Browse — list recent sessions chronologically

Session search is not automatically injected — it is called on demand when the user references past work.

Skills (Procedural Memory)

Reusable markdown files stored in ~/.hermes/skills/ that encode workflows for recurring task types. Each skill has a YAML frontmatter block (trigger conditions, description, category) and a markdown body with numbered steps, commands, and pitfalls. Skills are loaded explicitly via skill_view(name) and listed via skills_list().

Reliability Model

  • ds4-server runs as a Podman container with restart on failure
  • KV-cache on disk survives container restarts
  • Hermes Agent handles channel disconnection and retry
  • Cascade routing — if primary model is unavailable, Hermes falls through the configured model chain

Inference Stack

The reference deployment runs a single model via ds4-server on AMD ROCm:

Component Detail
Model DeepSeek-V4-Flash (abliterated, imatrix-quantized GGUF)
Runtime ds4-server in Podman container (kyuz0/strix-halo-ds4-toolbox:rocm-7.2.4)
Port 8000 (OpenAI-compatible API)
Context 393,216 tokens
GPU AMD Radeon 8060S iGPU (gfx1151, RDNA 3.5) via ROCm 7.2.4
Decode \~14–16 t/s measured (long-context sustained)
KV cache Disk-backed (/srv/kvcache, 2 TB budget)

OS & Storage

Component Detail
OS Fedora 44 Server Edition
Storage \~7.2 TB across two NVMe SSDs (one for system, one for models)

Container Stack

Container Port Purpose
ds4-server 8000 Single-model inference (DeepSeek-V4-Flash, ROCm backend)

The old multi-container OtherU Core stack (coordinator, orchestrator, responder, reasoner, coder, Fara, hardware-bridge, LightRAG, Redis, GSD) has been retired in favour of this simpler architecture. All agent roles are now handled by Hermes Agent's tool dispatch against the single ds4-server model.