DSH-Jev-Thinking
DeepSeek Harness plugin that asks Jev how much reasoning each prompt needs and sets reasoningEffort from the model's own levels.
Overview
dsh-jev-thinking asks Jev one Choice question for every message you send: how much internal reasoning does this work require? It writes the answer into the request's reasoningEffort. The options are exactly the levels the current model route offers (such as off, low and high), so Jev cannot pick an unsupported level and the plugin never adjusts it afterwards.
It costs one question per prompt regardless of how many tool calls follow, and each subagent counts as its own prompt. To judge short replies correctly, it also sends the assistant turn being answered, so approving a multi-step plan with a one-word reply is not treated as trivial. The key is stored in the Harness credential store and re-read per request, so rotation needs no restart.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | How much internal reasoning does the work in this message require? | — |
How it works
- User sends a message
- Plugin reads the route's supported reasoning levels
- Jev chooses a level given the message and preceding assistant turn
- Request is sent with that reasoningEffort
Strengths
- Only valid levels can be chosen
- One call per prompt
- Context-aware for short follow-ups
Caveats
- Requires a TypeSafe key
- Effort choice quality not benchmarked in the README
Getting started
dsh plugin --profile web add dsh-jev-thinking, then configure TYPESAFE_API_KEY on the Plugins page.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- DeepSeek Harness plugin
- Has code
- yes
Use cases and integrations
How curated lists describe it
Ask TypeSafe's Jev how deep a prompt needs to think. Apply that level to the model request.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
How much reasoning effort each prompt needs, from the model's supported levels.
How are short replies handled?
The previous assistant turn is included so context carries over.
How many calls per turn?
One per prompt, regardless of tool calls.
Related projects
DeepSeek Harness plugin where Jev picks each message's reasoning level from the model's ladder, inheriting depth for follow-ups.
PluginbetaTypeScriptLocal-first routing engine for long-running agent tasks that uses a Jev decider to pick a model group per turn.
PluginproductionRust, TypeScriptOpen-source AI gateway for 100+ LLMs that can use Jev to classify requests for complexity routing and to compact tool results.
ProxyproductionPythonOpen-source workspace for running and reviewing AI coding agents across devices, with an optional Jev-based automatic model router.
ProjectproductionTypeScript- jev-router★ 593
Per-turn model routing for Claude Code and Codex: wraps the real CLI and lets Jev send simple turns to fast models and hard ones to strong.
ProxybetaJavaScript - jev-codex-router★ 274
Per-call router for Codex where Jev picks the model and thinking effort for every model call, including tool continuations.
ProjectbetaPython