Jev directory
CommunityJev Integrations & Adapters
Zhin TypeSafe AI Decision Provider
Optional TypeSafe AI Jev decision provider for the Zhin chat framework. Evaluates named Choice, Score and Noul questions through a plugin-managed client, returning labels, distributions and confidence without generating chat replies or granting tool permissions.
- Reading time
- 2 min
- Published by
- Community
- Added
- Oct 2026
Highlights
- Evaluates named Choice, Score and Noul questions; does not generate chat replies or grant tool permissions.
- Installed with pnpm add @zhin.js/service-typesafe; the API key is read from TYPESAFE_API_KEY in .env.
- The setup wizard runs Skill and Tool recommendations in shadow mode; agent selection, memory reranking and approval start off.
- SDK logging is disabled, and errors expose only a local code and, when available, an HTTP status.
Questions about this entry
Short answers drawn from the linked project or page.
Run pnpm add @zhin.js/service-typesafe, keep TYPESAFE_API_KEY in .env, then run zhin setup --decisions followed by pnpm install and zhin doctor. The wizard keeps your chat model, writes the key, installs the plugin manifest entry and starts Skill and Tool recommendations in shadow mode. Manual configuration declares the plugin and its instance settings in zhin.config.yml.
No. It is a decision provider that evaluates named Choice, Score and Noul questions. Jev's decisions are advisory, and Zhin's deterministic identity, permission and approval rules remain authoritative. Merely installing a provider does not authorize decisions or change existing routing; the agent configuration must explicitly bind the instance.
Choice preserves the selected label, its complete probability distribution and reported confidence. Score preserves the expected rubric index, rubric legend, distribution and confidence, with a two-level rubric scoring in [0, 1] and a five-level rubric in [0, 4]. Noul is the probability of true in [0, 1] and has no separate confidence field. Every result includes the actual model name and token usage.
Invalid configuration for an enabled instance stops plugin startup with a sanitized error instead of silently disabling the configured decision or approval provider. Resolve the environment reference or configuration error before restarting, or set enabled: false to explicitly disable the instance, which skips client creation and does not require a key.
Yes. TypeSafeDecisionProvider can be constructed directly for standalone consumers and tests, passing an apiKey and model and calling evaluate with a state and questions object. Do not create clients for each message, and call dispose() when finished. In normal Zhin operation, use the plugin-managed resource instead.
Non-finite numbers, cycles and unsupported entry types are rejected before dispatch, and responses are validated against the submitted question names, types, alternatives and score rubric, so missing answers and malformed distributions are rejected. Pin a model version before calibrating a production policy, since the jev-latest alias can change over time, and evaluate Chinese requests on representative scenarios.
Reactions & coverage
Posts, threads, and videos about this entry from around the web.
Facebook: Intake Router keeps diagnosis out of the answer space at the front desk.
FacebookClinicnotes
X: OpenRouter Decision Model Rankings
X: herdr + jev, an agent router
X: A group chat bot with decision room routing
From the Jev guides
Original write-ups on what this entry is for.
From the Jev AI model community
Posts from builders shipping with Jev right now.