# Jev with Hermes Agent

> Hermes Jev means Jev reviews flagged Hermes shell commands as APPROVE, DENY, or ESCALATE, so Hermes can quit faking a classifier.

Smart approvals, skill routing, and MCP without asking Hermes to fake a classifier.

## Answer

Hermes Jev means the hermes-jev-approvals plugin: Jev is the approval reviewer for flagged Hermes shell commands and returns APPROVE, DENY, or ESCALATE. That pairing is how Hermes can quit faking a classifier. Hermes smart mode already sends those commands to an auxiliary reviewer that must answer in that shape. A chat model burns tokens on reasoning you discard. Jev returns the shape natively, often alongside policy and safety nouls in one parallel call. keeltrace/hermes-jev is a separate async supervision project, not this approval path.

## Jev in Hermes: quick setup

Jev in Hermes is the anpicasso/hermes-jev-approvals plugin. It replaces only the auxiliary approval reviewer when approvals.mode is smart. It cannot chat, it refuses every other task, and it registers no hooks. 1. Install the plugin: hermes plugins install anpicasso/hermes-jev-approvals/plugin 2. Add the TypeSafe credential: hermes auth add typesafe-jev 3. Turn on smart approvals: hermes config set approvals.mode smart 4. Point the reviewer at Jev: hermes config set auxiliary.approval.provider typesafe-jev 5. Set the model: hermes config set auxiliary.approval.model jev-latest 6. Restart the gateway: systemctl --user restart hermes-gateway Plugins are profile-scoped. Repeat the install for each HERMES_HOME. These six commands are the install block in the plugin README.

```bash
hermes plugins install anpicasso/hermes-jev-approvals/plugin
hermes auth add typesafe-jev
hermes config set approvals.mode smart
hermes config set auxiliary.approval.provider typesafe-jev
hermes config set auxiliary.approval.model jev-latest
systemctl --user restart hermes-gateway
```

## What Hermes is

Hermes Agent is Nous Research's self-improving agent: terminal UI, gateway to Telegram/Discord/Slack, subagents, cron, and a plugin ecosystem. It is model-agnostic (Nous Portal, OpenRouter, local endpoints). The Hermes Agent docs are linked under Primary sources.

## Why pair Hermes with Jev

Hermes separates primary reasoning from auxiliary tasks such as smart command approval. Those aux tasks are discrete decisions with fixed option sets, ideal for System One. Community plugins register Jev as the approval provider or inject skill hints before the main model call, without forking Hermes core.

## Smart command approvals (hermes-jev-approvals)

The anpicasso/hermes-jev-approvals plugin replaces only the auxiliary approval reviewer when approvals.mode is smart. It refuses chat tasks, registers no hooks, and asks six parallel typed questions per flagged command: verdict Choice, policy Noul, blast radius Score, and safety nouls. Deterministic code maps answers to APPROVE, DENY, or ESCALATE.

```bash
hermes plugins install anpicasso/hermes-jev-approvals/plugin
hermes auth add typesafe-jev
hermes config set approvals.mode smart
hermes config set auxiliary.approval.provider typesafe-jev
hermes config set auxiliary.approval.model jev-latest
systemctl --user restart hermes-gateway
```

## Operator policy text

Set approvals.smart_policy with trusted clauses about routine git, cache cleanup, and what still needs human review. The plugin treats that text as a trusted channel; Jev scores policy_allows as a Noul against it.

```yaml
approvals:
  mode: smart
  smart_policy: >-
    Killing browser processes and deleting cache directories are routine.
    Force-pushing, production databases, and shared infrastructure require review.
```

## Skill routing before the model call

DECRUX9812/typesafe-skill-router is a Hermes plugin that asks Jev which single skill (if any) matches the user message, then appends a short skill_relevance block to the user message. It is opt-in, stdlib-only, and fail-open on errors. Enable with hermes typesafe-skill-router on after install.

## MCP on Hermes

Hermes documents MCP integration for extending tool access (see the user guide feature page linked from the main README). You can attach community Jev MCP servers (for example blakestone-x/jev-mcp or itsmostafa/typesafe-mcp) the same way you attach other MCP servers, so Hermes tools can call typed classify/score/check endpoints alongside native skills.

## Environment keys

Create a TypeSafe API key in the console linked under Primary sources. You can also route through Vercel AI Gateway or OpenRouter where the integration documents it. Export TYPESAFE_API_KEY for Hermes gateway and plugin processes. Some MCP clients accept AI_GATEWAY_API_KEY for gateway-hosted Jev. Follow that integration README. Never commit keys into repos or paste them into chat logs.

```bash
export TYPESAFE_API_KEY="tsk_..."
# Optional pin:
export TYPESAFE_MODEL="jev-latest"
```

## Open models beside hosted Jev

Smart approvals use hosted Jev today. When you evaluate self-hosted System One compatible servers for other gates, our dated comparison pages track migration notes and public benchmarks. Start from the ranked hub when you want the full list.

- [Jev alternatives compared](https://jev.aitools.fyi/alternatives)
- [Liquid d1 vs Jev](https://jev.aitools.fyi/alternatives/liquid-d1)
- [Kev vs Jev](https://jev.aitools.fyi/alternatives/kev)

## Pitfalls

Without smart_policy, benchmarks on the approvals plugin showed routine kills and git pushes escalated or denied. For OpenRouter, use the plugin README pattern: model ~typesafe/jev-latest with base_url. Do not put api_key under auxiliary.approval or Hermes bypasses the plugin. Plugins are profile-scoped. Repeat the install for each HERMES_HOME. Malformed Jev answers escalate to the user by design.

## In the directory

- [All agent guides](https://jev.aitools.fyi/guides/jev-with-ai-agents)
- [System One primer](https://jev.aitools.fyi/learn/system-one)
- [Jev alternatives compared](https://jev.aitools.fyi/alternatives)
- [Liquid d1 vs Jev](https://jev.aitools.fyi/alternatives/liquid-d1)
- [Kev vs Jev](https://jev.aitools.fyi/alternatives/kev)
- [Cloudflare clef vs Jev](https://jev.aitools.fyi/alternatives/cloudflare-clef)
- [Agent tooling](https://jev.aitools.fyi/categories/agent-tooling)
- [hermes-jev-approvals](https://jev.aitools.fyi/tools/anpicasso-hermes-jev-approvals)
- [typesafe-skill-router](https://jev.aitools.fyi/tools/decrux9812-typesafe-skill-router)
- [hermes-jev](https://jev.aitools.fyi/tools/keeltrace-hermes-jev)
- [jev-mcp (blakestone-x)](https://jev.aitools.fyi/tools/blakestone-x-jev-mcp)
- [typesafe-mcp](https://jev.aitools.fyi/tools/itsmostafa-typesafe-mcp)

## FAQ

### What is a Jev Hermes agent?

A Jev Hermes agent is Hermes Agent with Jev as the smart approval reviewer through hermes-jev-approvals. Hermes still runs the session. Jev only returns APPROVE, DENY, or ESCALATE for flagged shell commands.

### What does Hermes agent Jev mean?

Hermes agent Jev is the same pairing: Hermes Agent plus the Jev approval plugin. It is not keeltrace/hermes-jev, which adds async supervision. Install anpicasso/hermes-jev-approvals, set approvals.mode to smart, and point auxiliary.approval at typesafe-jev.

### How do I use Jev with Hermes?

Install hermes-jev-approvals, run hermes auth add typesafe-jev, set approvals.mode to smart, set auxiliary.approval.provider to typesafe-jev and auxiliary.approval.model to jev-latest, then restart the Hermes gateway.

### What is Hermes Jev in search results?

It usually means hermes-jev-approvals: Jev as the smart approval auxiliary. A separate community project, keeltrace/hermes-jev, adds async supervision and context routing; read its README before conflating the two.

### Can the Jev approval plugin chat?

No. The anpicasso provider serves auxiliary.approval only and refuses other auxiliary tasks.

### Does skill routing load every skill into context?

No. typesafe-skill-router injects at most one skill hint line when Jev finds a fit; otherwise it injects nothing.

### OpenRouter vs direct TypeSafe for approvals?

The approvals README documents both. Direct TypeSafe uses provider typesafe-jev and model jev-latest. OpenRouter uses model ~typesafe/jev-latest with OpenRouter alpha base_url and hermes auth add openrouter.

### Where are measured latency numbers?

The directory listing for anpicasso-hermes-jev-approvals summarizes PoC benchmarks (latency and prompt counts vs auxiliary chat). Always read the linked GitHub README for methodology.

## Sources

Directory copy checked 2026-11-03. Primary sources:

- [Hermes Agent docs](https://hermes-agent.nousresearch.com/docs/?ref=jev.aitools.fyi)
- [hermes-jev-approvals README](https://github.com/anpicasso/hermes-jev-approvals?ref=jev.aitools.fyi)
- [typesafe-skill-router README](https://github.com/DECRUX9812/typesafe-skill-router?ref=jev.aitools.fyi)
- [Hermes MCP feature doc](https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp?ref=jev.aitools.fyi)
- [TypeSafe console](https://console.typesafe.ai/?ref=jev.aitools.fyi)

Canonical: https://jev.aitools.fyi/guides/jev-with-ai-agents/hermes
Markdown: https://jev.aitools.fyi/guides/jev-with-ai-agents/hermes.md
