Alle reden über Jev — das ändert sich dadurch wirklich in Hermes

Wenn du in der letzten Woche Hacker News oder irgendeinen AI-Newsletter aufgemacht hast, hast du das Wort „Jev“ ein paar Dutzend Mal gesehen. Es ist ein Modell, das keine Prosa schreibt — es liefert Entscheidungen samt Confidence-Scores —, und die Reaktionen pendeln zwischen „das ist eine neue Form von LLM“ und „das ist ein Klassifikator mit gutem Marketing“. Deine eigentliche Frage ist enger als beide Lager: ändert das irgendetwas für den Agenten, den ich ohnehin schon laufen habe?
Für Hermes-Nutzer ist die Antwort ja, und zwar früher als erwartet. Der Plugin-Katalog enthält bereits elf Jev-Einträge, die meisten davon in der letzten Woche gemergt.
Was Jev tatsächlich ist
Jev kommt von TypeSafe AI, die die Kategorie als „System One models“ beschreiben; Simon Willisons Artikel verwendet den schlichteren Begriff Decision Models, und das ist der bessere. Die Mechanik ist schnell erklärt:
- Du schickst Text oder einen kleinen strukturierten state — einen String, eine Liste von Strings oder Name/Value-Paare, die ein Ticket, einen Kunden, einen Diff beschreiben.
- Du stellst eine typisierte Frage: ein Ja/Nein, eine Bewertung oder eine Auswahl zwischen Optionen, die du vorgibst.
- Zurück kommen Zahlen. Eine Auswahlfrage liefert eine Wahrscheinlichkeitsverteilung über deine Optionen plus einen Confidence-Score, keinen Satz.
Das ist der ganze Trick, und genau deshalb ist das Design für Agentenarbeit interessant. Ein Agent braucht ständig kleine, langweilige Urteile — ist dieser Befehl destruktiv, welcher meiner vierzig Skills passt zu diesem Turn, braucht dieser Diff ein zweites Paar Augen —, und er bezahlt derzeit für jedes einzelne einen vollen Textmodell-Call, samt Reasoning-Tokens, die du am Ende wegwirfst.
Ein Decision Model antwortet in einem günstigen Call und kann nicht in einen geschwätzigen Absatz abschweifen. Willisons eigene Formulierung lohnt sich zu behalten: Das Modell ist so billig, dass Hunderte experimenteller Prompts nur ein paar Cent kosten, was die Schleife aus „ausprobieren und messen“ praktikabel macht. Derselbe Artikel benennt auch die aktuellen Grenzen aus TypeSafes eigenen Modell-Notizen — Zahlen, Daten und adversariale Inhalte sind Schwachstellen —, das ehrliche Bild lautet also: „enge Frage, schnelle Antwort, alles Numerische nachprüfen“.
Elf Einträge, und sie entscheiden Unterschiedliches
Hier wird es praktisch. Durchsuche den Katalog, und du findest Jev über den ganzen Turn-Lifecycle verteilt statt in einem einzigen „Jev-Plugin“:
| Katalog-Eintrag | Wer ihn pflegt | Was er entscheidet | Wo er einhakt |
|---|---|---|---|
jev |
ourines | Expliziter Entscheidungs-Sidekick. Gibt dir ein jev_evaluate-Tool; nur beratend, kein automatisches Tool-Gating. |
Tool |
jev-judge |
DoGMaTiiC | Fragen zu Destruktivität / Exfiltration / Impact bei Terminal-, write_file- und patch-Aufrufen — standardmäßig Shadow-Mode, Enforce eskaliert. |
pre_tool_call |
jev-skill-router |
DoGMaTiiC | Benennt den einen Skill aus deinem Live-Roster, der zu diesem Turn passt, noch vor dem Modell-Call. | pre_llm_call |
jev-effort-router |
AlphaPerseii3000 | Wahl von Modell und Reasoning-Effort pro Turn, schreibt den ausgehenden Request selbst um. Nur Ollama:Cloud. | llm_request-Middleware |
jev-typesafe |
Anders Jensen-Waud | Atomare Ja/Nein-Checks, Routing, Rubric-Scoring und gemischte typisierte Fragen als vier Tools. | Tools |
jev-curator |
anpicasso | Beziehungen zwischen kompletten Skill-Paketen, erzeugt fail-closed Konsolidierungspläne. | on_skill_lifecycle, pre_tool_call |
jev-approvals |
anpicasso | Jev ausschließlich als Smart-Approval-Reviewer — es lehnt jede andere Aufgabe ab und fällt fail-closed auf ESCALATE zurück. | Approval-Pfad |
jev-model-router, jev-mcp-router, jev-memory-selector, jev-agent-router |
Pinutss | Routing zu einem Modell, einem MCP-Server, einem Memory-Backend oder einem Agenten — jeweils als Skill plus stdio-MCP-Server, gestartet mit uv run. |
MCP |
nerve |
keeltrace | Eine Aufsichtsschicht: Context-Governance, Token-Budget-Trajektorien, Kanban-Aufsicht, remote SSH-Worker, mit provider-neutralen Jev-/Laya-/OpenJev-Backends. | Neun Hooks |
nerve verdient eine eigene Anmerkung: Es war als Hermes-Jev gelistet und wurde letzte Woche mit v0.2.2 in Nerve umbenannt; wenn du dich an einen Jev-Eintrag mit einem anderen Namen erinnerst, ist das dasselbe Projekt.
Ein Plugin installieren
hermes plugins search jev
hermes plugins install jev-judge
Zwei Details machen das sicherer als ein rohes git clone:
- Ein Katalogname wird auf einen gepinnten 40-Zeichen-Commit-SHA des Repositorys dieses Eintrags aufgelöst, und der Installer zeichnet diese Herkunft in seiner
.install-metadata.jsonauf. Ein gepinntes Plugin bewegt sich nicht unter dir weg; es zu bewegen erfordert explizit--force --ref <sha>, was zugleich der Weg ist, ein Update nach deinem eigenen Zeitplan zu prüfen. hermes plugins searchgleicht Eintragsnamen, Beschreibungen und deklarierte Tools ab, du kannst also sehen, was ein Plugin behauptet, bevor es auf der Platte liegt. Der Katalog wird im Repo kuratiert und mit einem Sechs-Stunden-Cache vom Live-Repository aktualisiert, mit Rückfall auf die In-Tree-Kopie, wenn du offline bist.
Zwei Regeln, bevor du eines davon installierst
Im Katalog zu stehen heißt nicht geprüft zu sein. Die Aufnahme in den Katalog prüft den Eintrag — seine Metadaten, Offenlegungen und deklarierten Fähigkeiten —, nicht den Code des Plugins. Behandle eine Katalog-Installation als „jemand hat das Manifest sorgfältig gelesen“, nicht als „das ist sicher“.
Lies die Disclosure-Zeile, denn diese Dinger schicken deine Daten irgendwohin. Jeder Eintrag führt eine explizite Aussage dazu, was die Maschine verlässt, und die unterscheiden sich stark:
jev-judgesendet Tool-Namen und redigierte Argumente jedes bewerteten Aufrufs — bis zu 600 Zeichen pro Argument, höchstens 12 Argumente — an TypeSafe oder an dein konfiguriertes Gateway, mit deinem Key. Im Shadow-Mode loggt es nur.jev-skill-routersendet deine Nachricht (bis zu 4.000 Zeichen) plus Skill-Namen und kurzeSKILL.md-Ausschnitte aus deinem lokalen Roster.jev-effort-routersendet die aktuelle Nachricht und bis zu vier vorherige Turns an die Decisions API von OpenRouter, abgerechnet über deinen OpenRouter-Key, und zwar bei jedem gerouteten Turn.nervenutzt standardmäßig ein gehostetes Jev-Backend und sendet den Prompt jedes Turns (bis zu 12.000 Zeichen) plus redigierte Tool- und Ergebnis-Previews; Laya und OpenJev lassen sich als lokale oder selbst gehostete Backends konfigurieren.
Das Fehlerverhalten ist genauso wichtig. jev-judge scheitert auf jedem Fehlerpfad offen — ein Jev-Ausfall blockiert nie deine Tools. jev-approvals scheitert geschlossen und eskaliert an einen Menschen, statt einen Befehl zuzulassen, den es nicht bewerten konnte. Beides ist vernünftig; die falsche Wahl für dein Bedrohungsmodell nicht.
Womit du anfangen solltest
Fang mit jev-judge im standardmäßigen Shadow-Mode an. Es loggt eine JSONL-Zeile pro Entscheidung, ohne irgendetwas zu blockieren; eine Woche normaler Arbeit liefert dir also echte Daten dazu, wie oft es eskaliert hätte — und du kannst das Log lesen, bevor du ihm irgendeine Befugnis gibst.
Dann widerstehe der Versuchung, Router zu stapeln. jev-skill-router, jev-effort-router, jev-model-router und jev-agent-router wollen alle für denselben Turn entscheiden, „was als Nächstes passiert“; drei davon zu installieren heißt drei Modelle, die über einen Request abstimmen, und eine Rechnung, die du nicht zuordnen kannst. Wähl die eine Routing-Entscheidung, die dich tatsächlich Geld kostet.
Wo das heute steht
Alle elf Einträge sind Community-Tier-Plugins, die eine Mindest-Hermes-Version deklarieren — von 0.19 bis 0.21.4 für jev-effort-router —, und sie landen nach dem Tag v0.21.4 auf main; der Katalog ist also ihr Distributionskanal und nicht ein Release.
Jev ist noch kein First-Class-Provider, und die offenen Requests zeigen, dass viele es so wollen: Issue #113008 bittet um eine typisierte probabilistische Decision-Provider-Runtime für begrenzte Agentenentscheidungen, Issue #113837 bittet um Jev-Unterstützung in Hermes, und ein Pull Request, der TypeSafe Jev in die Model-Provider-Liste aufnimmt, ist noch offen. Bis eines davon landet, ist der Plugin-Katalog der Weg, auf dem Jev in deinen Agenten kommt — was angesichts der gepinnten Commits und der ausgewiesenen Disclosures kein schlechter Ort ist, um mit dem Experimentieren zu beginnen.
Wenn dir der Hook-Lifecycle in dieser Tabelle neu ist: Unser Plugin-Katalog-Guide behandelt, wie Einträge aufgenommen und installiert werden, und der MCP-Katalog-Sicherheits-Guide ist die begleitende Lektüre dazu, wann man einem Drittanbieter-Server vertrauen kann. Zu den zwei Schrauben, an denen diese Plugins am häufigsten drehen, siehe den Reasoning-Effort-Guide und den Unattended-Approvals-Guide.