hermes-desktop-router-policy

Enforces model routing policy and tool-call assertions for Hermes Desktop agent sessions.

1|Updated Aug 27, 2025
One-click install
npx skills add https://github.com/IgorGanapolsky/Random-Timer --skill hermes-desktop-router-policy-igorganapolsky
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hermes-desktop-router-policy
Source: https://github.com/IgorGanapolsky/Random-Timer/tree/main/.claude/skills/hermes-desktop-router-policy
Command: npx skills add https://github.com/IgorGanapolsky/Random-Timer --skill hermes-desktop-router-policy-igorganapolsky

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve? Hermes Desktop sessions can silently route tool turns to unsuitable models (Copilot ACP, local 3B models, or OpenRouter as primary) and produce fake tool-call theater instead of real terminal or browser calls, wasting tokens and breaking agent reliability. ## Core Features & Use Cases - Pin-vs-route enforcement: Pins hermes-main via the LiteLLM gateway for Desktop tool turns and blocks copilot-acp, hermes-local/qwen2.5:3b, and OpenRouter-as-primary, allowing only nous-deepseekglm-5.3gpt-4o fallbacks. - Ori-style tool eval without an LLM judge: Asserts transcripts called terminal or browser directly and fails on meta tool_call without a name, nested tool_search, or babysitting prose like fake pip install output. - Local usage analytics: Parses LiteLLM traffic JSONL at ~/.hermes/litellm-logs/traffic.jsonl instead of calling the paid OpenRouter Analytics API. - Use Case: Before letting a Hermes Desktop agent run a tool turn, run the policy script with your provider, model, and intent; proceed only when the JSON output reports route.allow is true. ## Quick Start Run the router policy script with provider custom:litellm-gateway, model hermes-main, and intent tool, then proceed only if the JSON output allows the route.

Frequently Asked Questions about hermes-desktop-router-policy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce model routing for Hermes Desktop tool turns?

Run the hermes_desktop_router_policy.py script with your provider, model, and intent flags, for example provider custom:litellm-gateway with model hermes-main and intent tool. Proceed only when the returned JSON has route.allow set to true.

Which models are blocked as primary for Hermes Desktop tool calls?

The policy blocks copilot-acp, hermes-local (qwen2.5:3b), and OpenRouter-as-primary for tool turns. The router may only fall back through nous-deepseek, glm-5.3, then gpt-4o, with hermes-main pinned via the LiteLLM gateway.

How do I detect fake tool calls in an agent transcript?

Pass the expected tools and assistant text to the policy script, which asserts the transcript called terminal or browser directly. It fails on meta tool_call entries without a name, nested tool_search, or babysitting prose like fake pip install output.

Can I get per-model usage analytics without OpenRouter Analytics API?

Yes, the script parses your local LiteLLM traffic log at ~/.hermes/litellm-logs/traffic.jsonl to report usage by model. This avoids the billed OpenRouter Analytics API and keeps everything within a zero-cost local workflow.

Does this policy require Ori login or any paid service?

No, the policy deliberately avoids ori login, Ori installation, and the OpenRouter Analytics API because they are per-token billed. It only borrows the evaluation assertions and runs everything locally through the script and LiteLLM logs.