Hermes Local turns a Windows PC into a private workstation for running, tuning, benchmarking and operating local GGUF models—without requiring Docker, WSL or a paid inference API.
Releases · Install · Explore the docs · View the roadmap · Contribute
Hermes Local is an independent Windows integration built on the official NousResearch Hermes Agent. It is not an official Nous Research release.
Important
Hermes Local is active pre-1.0 software. The current Windows release packages the control centre, but it is not yet a one-click full workstation installer. A provisioned repository checkout is still required. Setup now installs a verified prebuilt runtime by default; the guided installer remains tracked for v1.0.
| Release | Delivery | Repository |
|---|---|---|
| Current build: v0.18.62 Latest release: v0.18.1 Recent release: Hermes Local v0.18.1 — Cold-start reliability · 2026-07-28 |
Current milestone: v0.19 - Dependable Distribution and Control Plane Current focus: Complete dependable distribution, durable operations and shared update orchestration. Next: Project Centre and Product UX |
Issues: 26 open · 37 closed Overall completion: 59% Recent commit: def1f22 refactor: make the native Hermes Local client first-class |
Status is generated from GitHub issues, milestones, releases and commits.
Local AI is often presented as a model picker and a start button. The difficult part begins after launch: matching a model and runtime to the machine, managing RAM and VRAM, proving an optimisation helps, recovering from failures, and keeping the whole system understandable.
Hermes Local treats those operational problems as part of the product.
| Principle | What it means |
|---|---|
| Windows first | Native PowerShell lifecycle, an Electron control centre, Windows process ownership and paths that work on any drive. |
| Private by default | Managed services bind to loopback, model weights stay local and a paid inference API is not required. |
| Hardware aware | Profiles account for CPU, GPU, RAM, VRAM, pagefile, context and workload rather than only a model name. |
| Evidence led | Benchmarks, diagnostics and acceptance reports are used to validate performance, stability and recovery claims. |
| Recoverable | Setup, health, logs, backup, repair, update and rollback are designed as one workstation lifecycle. |
| Built to evolve | Runtime adapters, AutoTune, certification and secure remote access are planned behind explicit contracts rather than one-off flags. |
The long-term goal is to make capable private AI practical and interactive on consumer Windows hardware. Useful capability includes tool calling, structured output, reasoning, long context and stability—not only generation speed.
✅ available and validated · 🟡 available with known gaps · 🚧 active roadmap work · ⏳ planned
| Area | Current state | Status |
|---|---|---|
| Desktop and TUI | Packaged Electron control centre plus the integrated Hermes TUI | ✅ |
| Local inference | Managed llama.cpp CPU/CUDA serving through authenticated loopback endpoints | ✅ |
| Models | GGUF registration, verified downloads, selection, managed stack restart and a tracked Qwen3.6 vision/MTP starter manifest | ✅ |
| Profiles | Context, KV cache, threads, batching, offload, Flash Attention and prompt caching | ✅ |
| Lifecycle | Setup, start, stop, restart, repair, diagnostics and owned messaging-gateway management | ✅ |
| Benchmarks | Reproducible performance and memory runs with durable Task Centre progress, cancellation and generated evidence | ✅ |
| Task Centre | Durable task schema, persistence, recovery and UI cover lifecycle, updates, backup, diagnostics, benchmarks, security scans, restore and model downloads | ✅ |
| Updates | Transactional Hermes Agent and Desktop update/rollback paths use shared durable orchestration; the managed runtime adapter remains tracked in #45 | 🟡 |
| Projects | Stable project identity and path recovery are available; chat association is in review and the complete Project Centre remains tracked in #27 | 🚧 |
| Memory and data | Local user-owned state, backup and restore exist; the Memory Centre and scoped data model remain planned | 🚧 |
| Security | Loopback authentication, DPAPI-protected credentials, trust contracts and Trust Centre controls are implemented; current published binaries still predate the signing/provenance release gate | 🟡 |
| Remote access | Local messaging integrations are supported; paired and permission-scoped remote access is planned in #17 | ⏳ |
| Multi-backend inference | Runtime adapters, certification, routing and AutoTune are deliberately scheduled after the stable distribution work | ⏳ |
See the detailed free/local feature matrix →
The images were captured from the packaged v0.18.15 launcher. Session history
and credential-bearing surfaces were removed before publication.
Browse the complete screenshot catalog ->
The foundational Windows workstation is already in place. The remaining roadmap is release- and dependency-based. All current open and closed issues are represented on the Hermes Local Roadmap. Tracking parents use native sub-issues, and cross-programme prerequisites use native blocked-by relationships.
| Stage | Purpose and success criteria | GitHub milestones | Progress |
|---|---|---|---|
| ✅ Reliable Platform | Purpose: Close the remaining model-switch and lifecycle reliability gaps before expanding the control plane. Success: Cold starts, model changes, lifecycle transitions and recovery paths fail clearly and recover predictably. |
v0.18.x - Reliability Patch | 100% 10/10 issues |
| 🚧 Operational Control Plane | Purpose: Complete dependable distribution, durable operations and shared update orchestration. Success: Long-running work, updates, release evidence and lifecycle controls share authoritative state and recovery paths. |
v0.19 - Dependable Distribution and Control Plane | 90% 18/20 issues |
| 🚧 Project Centre and Product UX | Purpose: Introduce stable project identity and complete the main product-management surfaces. Success: Projects, chats, tasks, reports and product diagnostics remain correctly associated and recoverable. |
v0.20 - Project Centre and Product UX | 58% 7/12 issues |
| 🚧 Trust and Data Boundaries | Purpose: Add shared trust contracts, scoped data access and secure access controls. Success: Integrations, projects, memories, indexing and remote clients obey explicit permissions and isolation rules. |
v0.21 - Trust and Data Boundaries | 17% 1/6 issues |
| 🎯 Version 1.0 Stable | Purpose: Deliver a supported Windows distribution for users who should not need a native build toolchain. Success: Guided installation, verified runtime packages, release integrity and lifecycle recovery pass the stable release matrix. |
v1.0 - Stable | 0% 0/3 issues |
| 🚧 Post-v1.0 Inference Fabric | Purpose: Generalise the current llama.cpp integration into a typed multi-backend runtime platform. Success: Owned and external runtimes use common capability, identity, lifecycle and recovery contracts. |
Post-v1.0 - Inference Fabric Foundation | 20% 1/5 issues |
| ⏳ Post-v1.0 Optimisation and Observability | Purpose: Turn hardware inspection and telemetry into safe workload-specific tuning. Success: Memory planning, live metrics and resource policies improve useful performance without hiding trade-offs. |
Performance, AutoTune and Observability | 0% 0/3 issues |
| ⏳ Post-v1.0 Certification and Routing | Purpose: Certify complete model/runtime/profile identities and route only between validated configurations. Success: Tool use, long context, speculative decoding and fallback decisions are measurable and side-effect aware. |
Certification, Routing and Recovery | 0% 0/3 issues |
Progress is derived from issue counts on the linked milestones. The sequence is intentional; dates are added only when maintainers have a credible delivery window.
Open the GitHub Project · Browse roadmap issues · Read the planning model
flowchart TB
Operator([User or Operator])
Operator --> Launcher["Hermes Launcher<br/>desktop control surface"]
Operator --> Setup["Setup Pipeline<br/>PowerShell · Python sync · model verification"]
Operator --> Assurance["Updates and Assurance<br/>orchestration · safe activation · evidence"]
Launcher --> Lifecycle["Lifecycle API<br/>start · stop · shared module"]
Lifecycle --> Supervisor["Stack Supervisor<br/>ownership · health · recovery"]
Supervisor --> Job["Managed Job Runner<br/>process launch · shutdown"]
Job --> Runtime["llama.cpp Runtime<br/>managed inference backend"]
Job --> Agent["Hermes Agent<br/>managed agent process"]
Supervisor --> Gateway["Messaging Gateway<br/>authenticated local transport"]
Setup --> Config[("Runtime Configuration<br/>profiles · manifests · contracts")]
Config --> Runtime
Security[("Local Trust Boundary<br/>DPAPI token · trust contracts")]
Security --> Gateway
Assurance --> Delivery["Desktop Delivery<br/>tracked source · updater · Windows package"]
Delivery -.->|"integrates"| Lifecycle
Assurance -.->|"tests"| Supervisor
classDef user fill:#6e56cf,stroke:#a99af0,color:#ffffff,stroke-width:2px;
classDef control fill:#0969da,stroke:#54aeff,color:#ffffff,stroke-width:2px;
classDef engine fill:#1f883d,stroke:#56d364,color:#ffffff,stroke-width:2px;
classDef data fill:#8250df,stroke:#d2a8ff,color:#ffffff,stroke-width:2px;
classDef assurance fill:#9a6700,stroke:#f2cc60,color:#ffffff,stroke-width:2px;
class Operator user;
class Launcher,Lifecycle,Supervisor,Job control;
class Runtime,Agent,Gateway engine;
class Config,Security data;
class Setup,Assurance,Delivery assurance;
linkStyle default stroke:#8c959f,stroke-width:1.6px;
click Setup "https://github.com/xdcloudy/hermes-local/blob/main/Setup-Hermes-Local.ps1"
click Launcher "https://github.com/xdcloudy/hermes-local/blob/main/Build-Hermes-Launcher.ps1"
click Lifecycle "https://github.com/xdcloudy/hermes-local/blob/main/scripts/Common-Hermes.psm1"
click Supervisor "https://github.com/xdcloudy/hermes-local/blob/main/scripts/supervisor/Hermes-Supervisor.ps1"
click Job "https://github.com/xdcloudy/hermes-local/blob/main/scripts/supervisor/Hermes-Job.ps1"
click Config "https://github.com/xdcloudy/hermes-local/blob/main/config/profiles/profiles.json"
click Gateway "https://github.com/xdcloudy/hermes-local/blob/main/scripts/Hermes-Gateway.psm1"
click Security "https://github.com/xdcloudy/hermes-local/blob/main/config/schemas/trust-contracts.schema.json"
click Assurance "https://github.com/xdcloudy/hermes-local/blob/main/scripts/Hermes-UpdateOrchestrator.psm1"
click Delivery "https://github.com/xdcloudy/hermes-local/tree/main/apps/desktop"
The tracked apps/desktop tree is the Windows-native product client; it talks
to a pinned, separately reconstructed Hermes Agent harness in
source/hermes-agent. Hermes Agent remains the agent core. The current managed
inference backend is llama.cpp;
future adapters are planned behind typed capability and lifecycle contracts.
Explore the architecture and trust boundaries →
Hermes Local currently provisions a repository checkout and installs a verified prebuilt llama.cpp runtime by default. The release installer and portable executable contain the control centre only; they do not bundle the source checkout, runtime or model weights. An explicit developer mode retains the local source-build path.
- Windows 10 or Windows 11 x64
- PowerShell 7
- Git, Node.js and uv; setup can install missing official packages with
winget - At least 16 GiB free before model weights
- Optional NVIDIA GPU and current driver for CUDA acceleration
CMake, Visual Studio C++ Build Tools and a CUDA Toolkit are required only for
the explicit -LlamaRuntimeMode source developer path.
The tracked Qwen3.6 starter configuration requires roughly 24.4 GB for the main GGUF and vision projector. Allow at least 30 GB for those artifacts and more for build outputs, dependency caches, reports and logs.
Open a normal, non-elevated PowerShell 7 window:
git clone https://github.com/xdCloudy/Hermes-Local.git
Set-Location .\Hermes-Local
& '.\Setup-Hermes-Local.ps1' -NonInteractiveSetup reconstructs the pinned Hermes Agent integration, installs managed dependencies, selects and verifies a compatible prebuilt llama.cpp package, optionally downloads and verifies the starter model, writes provider configuration and runs bootstrap diagnostics. It is designed to be rerun safely.
The latest Windows release can provide the packaged control centre after the repository has been provisioned. Current release binaries are not Authenticode-signed; verify the published SHA-256 values before running them.
Installation options, CPU/CUDA selection and custom models →
# Start the selected model, Hermes services and any configured messaging gateway
& '.\Start-Hermes-Local.ps1' -NonInteractive
# Open the desktop control centre
& '.\dist\Hermes Launcher.exe'
# Verify or stop the workstation
& '.\Test-Hermes-Local.ps1' -NonInteractive
& '.\Stop-Hermes-Local.ps1' -NonInteractiveThe default model and dashboard endpoints are http://127.0.0.1:8011/v1 and
http://127.0.0.1:9119. Both are configurable and remain restricted to IPv4 or
IPv6 loopback.
Choose a profile for one start
& '.\Start-Hermes-Local.ps1' -Profile 'Coding' -NonInteractiveOmit -Profile to use the current launcher selection.
Maintenance command reference
| Action | Command |
|---|---|
| Restart | & '.\Restart-Hermes-Local.ps1' -NonInteractive |
| Repair | & '.\Repair-Hermes-Local.ps1' -NonInteractive |
| Backup | & '.\Backup-Hermes-Local.ps1' -Name manual -NonInteractive |
| Check updates | & '.\Update-Hermes-Local.ps1' -Mode Check -NonInteractive |
| Update Hermes Agent | & '.\Update-Hermes-Agent.ps1' -Mode Apply |
| Roll back Hermes Agent | & '.\Update-Hermes-Agent.ps1' -Mode Rollback |
| Security scan | & '.\Security-Scan-Hermes-Local.ps1' -NonInteractive |
| Diagnostics | & '.\Export-Hermes-Diagnostics.ps1' -NonInteractive |
| Full functional QA | & '.\scripts\qa\Invoke-FullFunctionalQA.ps1' -Scope Full |
| Start here | Build and operate | Evidence and governance |
|---|---|---|
| Documentation home | Installation | Acceptance results |
| User guide | Models and profiles | Security model |
| Architecture | Update and rollback | Roadmap views |
| Feature matrix | Troubleshooting | Development |
Contributions are welcome across Windows engineering, inference optimisation, benchmarking, UX, documentation and testing.
- Read the contributor guide and development setup.
- Choose a good first issue or a help-wanted task.
- Check the issue's parent, blocked-by relationships, milestone and Project fields before starting work.
- Preserve the Windows-native, local-first security model and include verification evidence with the pull request.
Development flow · Open a feature request · Report a bug
Is Hermes Local a fork of Hermes Agent?
Hermes Agent is the application core. Hermes Local is an independent Windows-first integration and product layer that maintains a focused patch series, launcher, supervisor, inference runtime and workstation lifecycle.
Do I need Docker, WSL, cloud APIs or an NVIDIA GPU?
No. Docker, WSL and paid APIs are not required. CPU inference is supported; NVIDIA CUDA acceleration is optional. The default verified prebuilt runtime path does not require a Windows native build toolchain.
Does the repository include model weights?
No. Model weights are never committed or bundled. The tracked starter manifest can download a verified model and vision projector, and compatible local GGUF files can be registered without copying them.
Where does my data live?
Substantial state stays beneath the Hermes Local root. Per-user launcher settings are Git-ignored, backups include local settings and data, and API credentials are protected for the current Windows user with DPAPI.
How mature is the project?
The current launcher has native packaging, lifecycle management, recovery, benchmarking, security controls and a large automated QA corpus. It remains pre-1.0: guided installation, stable Project Centre behaviour and several Desktop workflows are still under development. Known limitations are published in the acceptance results.
Hermes Local is licensed under the MIT License. Third-party components, models and generated notices retain their own terms; see LICENSES.md.
Documentation · Releases · Issues · Roadmap · Security · Contributing






