169 pages · 10 sections

The Hermes Bible

A complete, searchable index of the Hermes Agent documentation. Jump to any topic, then read the full text on the official source. Press ⌘ K to search everything.

Getting Started

6 pages

Core Features

45 pages
Features OverviewHermes Agent includes a rich set of capabilities that extend far beyond basic chat. From persistent memory and file aware context to browser automation and voicTools & ToolsetsTools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform. Available ToolsSkills SystemSkills are on demand knowledge documents the agent can load when needed. They follow a progressive disclosure pattern to minimize token usage and are compatibleCuratorThe curator is a background maintenance pass for agent created skills . It tracks how often each skill is viewed, used, and patched, moves long unused skills thPersistent MemoryHermes Agent has bounded, curated memory that persists across sessions. This lets it remember your preferences, your projects, your environment, and things it hMemory ProvidersHermes Agent ships with 8 external memory provider plugins that give the agent persistent, cross session knowledge beyond the built in MEMORY.md and USER.md. OnContext FilesHermes Agent automatically discovers and loads context files that shape how it behaves. Some are project local and discovered from your working directory. is noContext ReferencesType followed by a reference to inject content directly into your message. Hermes expands the reference inline and appends the content under an section. SupportHow SOUL.md works nowHermes Agent's personality is fully customizable. is the primary identity — it's the first thing in the system prompt and defines who the agent is. — a durablePluginsHermes has a plugin system for adding custom tools, hooks, and integrations without modifying core code. If you want to create a custom tool for yourself, yourBuilt-in PluginsHermes ships a small set of plugins bundled with the repository. They live under and load automatically alongside user installed plugins in . They use the sameScheduled Tasks (Cron)Schedule tasks to run automatically with natural language or cron expressions. Hermes exposes cron management through a single tool with action style operationsSubagent DelegationThe tool spawns child AIAgent instances with isolated context, restricted toolsets, and their own terminal sessions. Each child gets a fresh conversation and woKanban (Multi-Agent Board)Kanban — Multi Agent Profile Collaboration Want a walkthrough? Read the Kanban tutorial — four user stories (solo dev, fleet farming, role pipeline with retry,Kanban tutorialKanban tutorial A walkthrough of the four use cases the Hermes Kanban system was designed for, with the dashboard open in a browser. If you haven't read the KanPersistent GoalsPersistent Goals ( ) gives Hermes a standing objective that survives across turns. After every turn a lightweight judge model checks whether the goal is satisfiCode ExecutionCode Execution (Programmatic Tool Calling) The tool lets the agent write Python scripts that call Hermes tools programmatically, collapsing multi step workflowsEvent HooksHermes has three hook systems that run custom code at key lifecycle points: System Registered via Runs in Use case Gateway hooks + in Gateway only Logging, alerBatch ProcessingBatch processing lets you run the Hermes agent across hundreds or thousands of prompts in parallel, generating structured trajectory data. This is primarily useVoice ModeHermes Agent supports full voice interaction across CLI and messaging platforms. Talk to the agent using your microphone, hear spoken replies, and have live voiBrowser AutomationBrowser Automation Hermes Agent includes a full browser automation toolset with multiple backend options: Browserbase cloud mode via Browserbase for managed cloVision & Image PasteVision & Image Paste Hermes Agent supports multimodal vision — you can paste images from your clipboard directly into the CLI and ask the agent to analyze, descImage GenerationImage Generation Hermes Agent generates images from text prompts via FAL.ai. Eleven models are supported out of the box, each with different speed, quality, andVoice & TTSHermes Agent supports both text to speech output and voice message transcription across all messaging platforms. TIP — Nous Subscribers If you have a paid NousMCP (Model Context Protocol)MCP lets Hermes Agent connect to external tool servers so the agent can use tools that live outside Hermes itself — GitHub, databases, file systems, browser staACP Editor IntegrationHermes Agent can run as an ACP server, letting ACP compatible editors talk to Hermes over stdio and render: chat messages tool activity file diffs terminal commAPI ServerThe API server exposes hermes agent as an OpenAI compatible HTTP endpoint. Any frontend that speaks the OpenAI format — Open WebUI, LobeChat, LibreChat, NextChaHoncho MemoryHoncho is an AI native memory backend that adds dialectic reasoning and deep user modeling on top of Hermes's built in memory system. Instead of simple key valuProvider RoutingProvider Routing When using OpenRouter as your LLM provider, Hermes Agent supports provider routing — fine grained control over which underlying AI providers haFallback ProvidersFallback Providers Hermes Agent has three layers of resilience that keep your sessions running when providers hit issues: 1. Credential pools — rotate across muCredential PoolsCredential Pools Credential pools let you register multiple API keys or OAuth tokens for the same provider. When one key hits a rate limit or billing quota, HerCodex App-Server RuntimeCodex App Server Runtime Hermes can optionally hand and turns to the Codex CLI app server instead of running its own tool loop. When enabled, terminal commands,Computer Use (macOS)Computer Use (macOS) Hermes Agent can drive your Mac's desktop — clicking, typing, scrolling, dragging — in the background . Your cursor doesn't move, keyboardDeliverable ModeDeliverable Mode When Hermes Agent runs inside a messaging gateway (Slack, Discord, Telegram, WhatsApp, Signal, etc.), it can deliver generated files directly iExtending the DashboardThe Hermes web dashboard ( ) is built to be reskinned and extended without forking the codebase. Three layers are exposed: 1. Themes — YAML files that repaint tKanban worker lanesKanban worker lanes A worker lane is a class of process that the kanban dispatcher can route tasks to. Each lane has an identity (the assignee string), a spawnLSP — Semantic DiagnosticsLanguage Server Protocol (LSP) Hermes runs full language servers — pyright, gopls, rust analyzer, typescript language server, clangd, and ~20 more — as backgrouSkins & ThemesSkins control the visual presentation of the Hermes CLI: banner colors, spinner faces and verbs, response box labels, branding text, and the tool activity prefiSpotifySpotify Hermes can control Spotify directly — playback, queue, search, playlists, saved tracks/albums, and listening history — using Spotify's official Web APISubscription ProxyThe subscription proxy is a local HTTP server that lets external apps — OpenViking, Karakeep, Open WebUI, anything that speaks OpenAI compatible chat completionNous Tool GatewayOne subscription. Every tool built in. The Tool Gateway is included with every paid Nous Portal subscription. It routes Hermes' tool calls — web search, image gTool SearchTool Search When you have many MCP servers or non core plugin tools attached to a session, their JSON schemas can consume a substantial fraction of the contextWeb DashboardThe web dashboard is a browser based UI for managing your Hermes Agent installation. Instead of editing YAML files or running CLI commands, you can configure seWeb Search & ExtractWeb Search & Extract Hermes Agent includes two model callable web tools backed by multiple providers: — search the web and return ranked results — fetch and extX (Twitter) SearchX (Twitter) Search The tool lets the agent search X (Twitter) posts, profiles, and threads directly. It's backed by xAI's built in tool on the Responses API at

Messaging Platforms

30 pages
Messaging GatewayChat with Hermes from Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin, BlueBubbTelegramTelegram Setup Hermes Agent integrates with Telegram as a full featured conversational bot. Once connected, you can chat with your agent from any device, send vDiscordDiscord Setup Hermes Agent integrates with Discord as a bot, letting you chat with your AI assistant through direct messages or server channels. The bot receiveSlackSlack Setup Connect Hermes Agent to Slack as a bot using Socket Mode. Socket Mode uses WebSockets instead of public HTTP endpoints, so your Hermes instance doesWhatsAppWhatsApp Setup Hermes connects to WhatsApp through a built in bridge based on Baileys . This works by emulating a WhatsApp Web session — not through the officiaSignalSignal Setup Hermes connects to Signal through the signal cli daemon running in HTTP mode. The adapter streams messages in real time via SSE (Server Sent EventsEmailEmail Setup Hermes can receive and reply to emails using standard IMAP and SMTP protocols. Send an email to the agent's address and it replies in thread — no spSMS (Twilio)SMS Setup (Twilio) Hermes connects to SMS through the Twilio API. People text your Twilio phone number and get AI responses back — same conversational experiencMatrixMatrix Setup Hermes Agent integrates with Matrix, the open, federated messaging protocol. Matrix lets you run your own homeserver or use a public one like matriMattermostMattermost Setup Hermes Agent integrates with Mattermost as a bot, letting you chat with your AI assistant through direct messages or team channels. MattermostHome Assistant IntegrationHome Assistant Integration Hermes Agent integrates with Home Assistant in two ways: 1. Gateway platform — subscribes to real time state changes via WebSocket anWebhooksReceive events from external services (GitHub, GitLab, JIRA, Stripe, etc.) and trigger Hermes agent runs automatically. The webhook adapter runs an HTTP serverBlueBubbles (iMessage)BlueBubbles (iMessage) Connect Hermes to Apple iMessage via BlueBubbles — a free, open source macOS server that bridges iMessage to any device. Prerequisites ADingTalkDingTalk Setup Hermes Agent integrates with DingTalk (钉钉) as a chatbot, letting you chat with your AI assistant through direct messages or group chats. The botFeishu / LarkFeishu / Lark Setup Hermes Agent integrates with Feishu and Lark as a full featured bot. Once connected, you can chat with the agent in direct messages or groupGoogle ChatGoogle Chat Setup Connect Hermes Agent to Google Chat as a bot. The integration uses Cloud Pub/Sub pull subscriptions for inbound events and the Chat REST API fLINELINE Setup Run Hermes Agent as a LINE bot via the official LINE Messaging API. The adapter lives as a bundled platform plugin under — no core edits, just enableMicrosoft Graph Webhook ListenerThe gateway platform is an inbound event listener. It's how Hermes receives change notifications from Microsoft Graph — "a Teams meeting ended," "a new messagentfyntfy ntfy is a simple HTTP based pub sub notification service. It works with the free public server at or any self hosted instance, and supports any client thatOpen WebUIOpen WebUI Integration Open WebUI (126k★) is the most popular self hosted chat interface for AI. With Hermes Agent's built in API server, you can use Open WebUIPhoton iMessagePhoton iMessage Connect Hermes to iMessage through [Photon][photon], a managed service that handles the Apple line allocation and abuse prevention layer so youQQ BotQQ Bot Connect Hermes to QQ via the Official QQ Bot API (v2) — supporting private (C2C), group @ mentions, guild, and direct messages with voice transcription.SimpleX ChatSimpleX Chat SimpleX Chat is a private, decentralised messaging platform where users own their contacts and groups. Unlike other platforms, SimpleX assigns no pTeams MeetingsMicrosoft Teams Meetings Use the Teams meeting pipeline when you want Hermes to ingest Microsoft Graph meeting events, fetch transcripts first, fall back to recMicrosoft TeamsMicrosoft Teams Setup Connect Hermes Agent to Microsoft Teams as a bot. Unlike Slack's Socket Mode, Teams delivers messages by calling a public HTTPS webhook ,WeCom Callback (Self-Built App)WeCom Callback (Self Built App) Connect Hermes to WeCom (Enterprise WeChat) as a self built enterprise application using the callback/webhook model. INFO — WeCoWeCom (Enterprise WeChat)Connect Hermes to WeCom (企业微信), Tencent's enterprise messaging platform. The adapter uses WeCom's AI Bot WebSocket gateway for real time bidirectional communicaWeixin (WeChat)Connect Hermes to WeChat (微信), Tencent's personal messaging platform. The adapter uses Tencent's iLink Bot API for personal WeChat accounts — this is distinct fWhatsApp Business (Cloud API)WhatsApp Business Cloud API Setup Hermes can connect to WhatsApp through Meta's official WhatsApp Business Cloud API. This is the production grade path: no NodeYuanbaoConnect Hermes to Yuanbao, Tencent's enterprise messaging platform. The adapter uses a WebSocket gateway for real time message delivery and supports both direct

Secrets

2 pages

Skills

1 pages

Using Hermes

15 pages
CLI InterfaceHermes Agent's CLI is a full terminal user interface (TUI) — not a web UI. It features multiline editing, slash command autocomplete, conversation history, inteTUIThe TUI is the modern front end for Hermes — a terminal UI backed by the same Python runtime as the Classic CLI. Same agent, same sessions, same slash commands;ConfigurationAll settings are stored in the directory for easy access. TIP — Easiest path to a working Run — one OAuth gets you a model provider and all four Tool Gateway toConfiguring ModelsConfiguring Models Hermes uses two kinds of model slots: Main model — what the agent thinks with. Every user message, every tool call loop, every streamed respoSessionsHermes Agent automatically saves every conversation as a session. Sessions enable conversation resume, cross session search, and full conversation history managProfiles: Running Multiple AgentsProfiles: Running Multiple Agents Run multiple independent Hermes agents on the same machine — each with its own config, API keys, memory, sessions, skills, andGit WorktreesHermes Agent is often used on large, long‑lived repositories. When you want to: Run multiple agents in parallel on the same project, or Keep experimental refactDockerHermes Agent — Docker There are two distinct ways Docker intersects with Hermes Agent: 1. Running Hermes IN Docker — the agent itself runs inside a container (tSecurityHermes Agent is designed with a defense in depth security model. This page covers every security boundary — from command approval to container isolation to userCheckpoints and /rollbackCheckpoints and Hermes Agent can automatically snapshot your project before destructive operations and restore it with a single command. Checkpoints are opt inDesktop AppThe Hermes desktop app is a native app built around the same agent you get from the CLI and the gateway — same config, same API keys, same sessions, same skillsRunning Many Gateways at OnceRunning Many Gateways at Once Operate multiple profiles — each with its own bot tokens, sessions, and memory — as managed services on a single machine. This pagProfile Distributions: Share a Whole AgentProfile Distributions: Share a Whole Agent A profile distribution packages a complete Hermes agent — personality, skills, cron jobs, MCP connections, config — aWindows (Native) GuideHermes runs natively on Windows 10 and Windows 11 — no WSL, no Cygwin, no Docker. This page is the deep dive: what works natively, what's WSL only, what the insWindows (WSL2) GuideHermes Agent now supports both native Windows and WSL2. This page covers the WSL2 path; for the native PowerShell install see the dedicated Windows (Native) Gui

Integrations

3 pages

Guides & Tutorials

30 pages
Tips & Best PracticesA quick wins collection of practical tips that make you immediately more effective with Hermes Agent. Each section targets a different aspect — scan the headersRun Local LLMs on MacThis guide walks you through running a local LLM server on macOS with an OpenAI compatible API. You get full privacy, zero API costs, and surprisingly good perfTutorial: Daily Briefing BotTutorial: Build a Daily Briefing Bot In this tutorial, you'll build a personal briefing bot that wakes up every morning, researches topics you care about, summaTutorial: Team Telegram AssistantSet Up a Team Telegram Assistant This tutorial walks you through setting up a Telegram bot powered by Hermes Agent that multiple team members can use. By the enUsing Hermes as a Python LibraryHermes isn't just a CLI tool. You can import directly and use it programmatically in your own Python scripts, web applications, or automation pipelines. This guUse MCP with HermesThis guide shows how to actually use MCP with Hermes Agent in day to day workflows. If the feature page explains what MCP is, this guide is about how to get valUse Voice Mode with HermesThis guide is the practical companion to the Voice Mode feature reference. If the feature page explains what voice mode can do, this guide shows how to actuallyUse SOUL.md with Hermesis the primary identity for your Hermes instance. It's the first thing in the system prompt — it defines who the agent is, how it speaks, and what it avoids. IfBuild a Hermes PluginThis guide walks through building a complete Hermes plugin from scratch. By the end you'll have a working plugin with multiple tools, lifecycle hooks, shipped dAutomate Anything with CronThe daily briefing bot tutorial covers the basics. This guide goes further — five real world automation patterns you can adapt for your own workflows. For the fWorking with SkillsSkills are on demand knowledge documents that teach Hermes how to handle specific tasks — from generating ASCII art to managing GitHub PRs. This guide walks youDelegation & Parallel WorkHermes can spawn isolated child agents to work on tasks in parallel. Each subagent gets its own conversation, terminal session, and toolset. Only the final summTutorial: GitHub PR Review AgentTutorial: Build a GitHub PR Review Agent The problem: Your team opens PRs faster than you can review them. PRs sit for days waiting for eyeballs. Junior devs meAutomation BlueprintsCopy paste blueprints for common automation patterns. Each blueprint uses Hermes's built in cron scheduler for time based triggers and webhook platform for evenAWS BedrockHermes Agent supports Amazon Bedrock as a native provider using the Converse API — not the OpenAI compatible endpoint. This gives you full access to the BedrockMicrosoft FoundryHermes Agent's provider supports Microsoft Foundry (formerly Azure AI Foundry) and Azure OpenAI. A single Foundry resource can host models with two different wiScript-Only Cron Jobs (No LLM)Script Only Cron Jobs Sometimes you already know exactly what message you want to send. You don't need an agent to reason about it — you just need a script to rCron TroubleshootingWhen a cron job isn't behaving as expected, work through these checks in order. Most issues fall into one of four categories: timing, delivery, permissions, orGoogle GeminiHermes Agent supports Google Gemini as a native provider using the Google AI Studio / Gemini API — not the OpenAI compatible endpoint. This lets Hermes translatRun Hermes Locally with Ollama — Zero API CostThe Problem Cloud LLM APIs charge per token. A heavy coding session can cost $5–20. For personal projects, learning, or privacy sensitive work, that adds up — aRegister a Microsoft Graph ApplicationThe Teams meeting pipeline reads meeting transcripts, recordings, and related artifacts from Microsoft Graph using app only (daemon) authentication — no user siMigrate from OpenClawimports your OpenClaw (or legacy Clawdbot/Moldbot) setup into Hermes. This guide covers exactly what gets migrated, the config key mappings, and what to verifyMiniMax OAuthHermes Agent supports MiniMax through a browser based OAuth login flow, using the same credentials as the MiniMax portal. No API key or credit card is requiredOAuth over SSH / Remote HostsSome Hermes providers — xAI Grok OAuth , Spotify , and remote MCP servers (Linear, Sentry, Atlassian, Asana, Figma, …) — use a loopback redirect OAuth flow. TheOperate the Teams Meeting PipelineUse this guide after you have already enabled the feature from Teams Meetings. This page covers: operator CLI flows routine subscription maintenance failure triPipe Script Output to Messaging Platformsis a small, scriptable CLI that pushes a message to any messaging platform Hermes is already configured for. Think of it as a cross platform for notifications —Run Hermes Agent with Nous PortalThis guide walks you through running Hermes Agent on a Nous Portal subscription end to end — from signing up to verifying that every tool routes correctly. If yRun Nemotron 3 Ultra free in Hermes AgentNous Research has been inducted into the Nemotron Coalition of leading AI labs working with NVIDIA to advance open frontier foundation models. In honor of this,Automated GitHub PR Comments with WebhooksThis guide walks you through connecting Hermes Agent to GitHub so it automatically fetches a pull request's diff, analyzes the code changes, and posts a commentxAI Grok OAuth (SuperGrok / X Premium+)Hermes Agent supports xAI Grok through a browser based OAuth login flow against accounts.x.ai, using either a SuperGrok subscription (grok.com) or an X Premium+

Developer Guide

26 pages
ContributingThank you for contributing to Hermes Agent! This guide covers setting up your dev environment, understanding the codebase, and getting your PR merged. ContributArchitectureThis page is the top level map of Hermes Agent internals. Use it to orient yourself in the codebase, then dive into subsystem specific docs for implementation dAgent Loop InternalsThe core orchestration engine is 's class — a large file that handles everything from prompt assembly to tool dispatch to provider failover. Core ResponsibilitiPrompt AssemblyHermes deliberately separates: cached system prompt state ephemeral API call time additions This is one of the most important design choices in the project becaContext Compression and CachingContext Compression and Caching Hermes Agent uses a dual compression system and Anthropic prompt caching to manage context window usage efficiently across longGateway InternalsThe messaging gateway is the long running process that connects Hermes to 20+ external messaging platforms through a unified architecture. Key Files File PurposSession StorageSession Storage Hermes Agent uses a SQLite database ( ) to persist session metadata, full message history, and model configuration across CLI and gateway sessioProvider Runtime ResolutionHermes has a shared provider runtime resolver used across: CLI gateway cron jobs ACP auxiliary model calls Primary implementation: — credential resolution, — prAdding ToolsBefore writing a tool, ask yourself: should this be a skill instead? WARNING — Built in Core Tools Only This page is for adding a built in Hermes tool to the reAdding ProvidersHermes can already talk to any OpenAI compatible endpoint through the custom provider path. Do not add a built in provider unless you want first class UX for thAdding a Platform AdapterAdding a Platform Adapter This guide covers adding a new messaging platform to the Hermes gateway. A platform adapter connects Hermes to an external messaging sCreating SkillsSkills are the preferred way to add new capabilities to Hermes Agent. They're easier to create than tools, require no code changes to the agent, and can be sharExtending the CLIHermes exposes protected extension hooks on so wrapper CLIs can add widgets, keybindings, and layout customizations without overriding the 1000+ line method. ThACP InternalsThe ACP adapter wraps Hermes' synchronous in an async JSON RPC stdio server. Key implementation files: Boot flow The Zed ACP Registry path launches the same adaBrowser CDP SupervisorThe CDP supervisor closes two long standing gaps in Hermes' browser tooling: 1. Native JS dialogs ( / / / ) block the page's JS thread. Without supervision, theContext Engine PluginsBuilding a Context Engine Plugin Context engine plugins replace the built in with an alternative strategy for managing conversation context. For example, a LossCron InternalsThe cron subsystem provides scheduled task execution — from simple one shot delays to recurring cron expression jobs with skill injection and cross platform delImage Generation Provider PluginsBuilding an Image Generation Provider Plugin Image gen provider plugins register a backend that services every tool call — DALL·E, gpt image, Grok, Flux, ImagenMemory Provider PluginsBuilding a Memory Provider Plugin Memory provider plugins give Hermes Agent persistent, cross session knowledge beyond the built in MEMORY.md and USER.md. ThisModel Provider PluginsBuilding a Model Provider Plugin Model provider plugins declare an inference backend — an OpenAI compatible endpoint, an Anthropic Messages server, a Codex stylPlugin LLM Accessis the supported way for a plugin to make an LLM call. Chat completion, structured extraction, sync, async, with or without images — same surface, same trust gaProgrammatic IntegrationHermes ships three protocols for driving the agent from external programs — IDE plugins, custom UIs, CI pipelines, embedded sub agents. Pick the one that matcheTools RuntimeHermes tools are self registering functions grouped into toolsets and executed through a central registry/dispatch system. Primary files: Tool registration modeTrajectory FormatTrajectory Format Hermes Agent saves conversation trajectories in ShareGPT compatible JSONL format for use as training data, debugging artifacts, and reinforcemVideo Generation Provider PluginsBuilding a Video Generation Provider Plugin Video gen provider plugins register a backend that services every tool call. Built in providers (xAI, FAL) ship as pWeb Search Provider PluginsBuilding a Web Search Provider Plugin Web search provider plugins register a backend that services , , and (optionally) deep crawl tool calls. Built in provider

Reference

11 pages
CLI Commands ReferenceThis page covers the terminal commands you run from your shell. For in chat slash commands, see Slash Commands Reference. Global entrypoint Global options OptioSlash Commands ReferenceHermes has two slash command surfaces, both driven by a central in : Interactive CLI slash commands — dispatched by , with autocomplete from the registry MessagProfile Commands ReferenceProfile Commands Reference This page covers all commands related to Hermes profiles. For general CLI commands, see CLI Commands Reference. Top level command forEnvironment VariablesEnvironment Variables Reference All variables go in . You can also set them with . LLM Providers Variable Description OpenRouter API key (recommended for flexibBuilt-in Tools ReferenceThis page documents Hermes' built in tools, grouped by toolset. Availability varies by platform, credentials, and enabled toolsets. Quick counts (current registToolsets ReferenceToolsets are named bundles of tools that control what the agent can do. They're the primary mechanism for configuring tool availability per platform, per sessioMCP Config ReferenceThis page is the compact reference companion to the main MCP docs. For conceptual guidance, see: MCP (Model Context Protocol) Use MCP with Hermes Root config shModel CatalogModel Catalog Hermes fetches curated model lists for OpenRouter and Nous Portal from a JSON manifest hosted alongside the docs site. This lets maintainers updatBundled Skills CatalogHermes ships with a large built in skill library copied into on install. Each skill below links to a dedicated page with its full definition, setup, and usage.Optional Skills CatalogOptional skills ship with hermes agent under but are not active by default . Install them explicitly: For example: Each skill below links to a dedicated page wiFAQ & TroubleshootingQuick answers and fixes for the most common questions and issues. Frequently Asked Questions What LLM providers work with Hermes? Hermes Agent works with any Op