sieve
DeepSeek Harness plugins that filter tool output, prune stale context and disclose skills progressively, with Jev or Laya judging what goes.
Overview
sieve (dsh-sieve) is a set of context-engineering plugins for DeepSeek Harness that reduce redundant input tokens in coding agents. It targets three sources of bloat: long tool output where the next step needs only a part, stale context superseded by later reads, and large skill catalogs injected at session start. A judgment kernel on DSH's extension points turns each decision into structured yes/no and single-choice questions, asks a dedicated judge model, validates the answers and rewrites or keeps content by confidence threshold. Originals are archived and retrievable, and a timeout or failure always keeps the original.
The judge is Jev (hosted, via TypeSafe or OpenRouter key) or Laya (local on Apple Silicon); sieve deliberately never uses the session's own model, and with neither configured it changes nothing. The README reports a 36.28% aggregate request payload reduction in characters across 100 public agent trajectories in offline replay, with a median Jev judgment of about 0.3 s, and notes an earlier 21.2% live token reduction was measured with a now-removed judge path. A web panel shows estimated savings. Docs are in English and Chinese.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this part of the tool output still needed for the task?(inferred) | — |
| Yes / no | Is this older context still relevant?(inferred) | — |
| Choice | Which skills are relevant enough to disclose now?(inferred) | — |
How it works
- Deterministic rules handle what they can
- Remaining content becomes structured questions for Jev or Laya
- Kernel rewrites or keeps content by threshold; originals archived
- Web panel reports token and character reductions
Strengths
- 36% payload reduction in offline replay per the README
- Never spends the main model's tokens on judging
- Fails safe by keeping originals
Caveats
- Current Jev/Laya configuration not remeasured live
- Laya path requires Apple Silicon
- DeepSeek Harness only
Getting started
Install the dsh-sieve plugin in DeepSeek Harness and paste a TypeSafe or OpenRouter key on the Sieve sidebar page (or set TYPESAFE_API_KEY).At a glance
- Type
- Plugin
- Status
- beta
- Language
- TypeScript
- Runtime
- DeepSeek Harness plugin
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
DeepSeek Harness plugin that filters tool output, prunes old context and discloses skills progressively, with Jev or Laya as the judge of what can go; it never uses the session's own model for that. English and Chinese.
MrJev/awesome-jev
Frequently asked questions
What does the judge model decide?
Which tool output, older context and skill descriptions can be dropped or deferred.
Does it use the session model as judge?
No; only Jev or Laya, and without either it changes nothing.
How much does it save?
The README reports a 36.28% payload reduction in offline replay.
Related projects
Scores installed Claude Code skills against the current project with Jev and hides irrelevant ones via skillOverrides.
Agent skillbetaJavaScriptAgent skill that has Jev pick the few relevant lines from big logs before your coding agent reads them, with a reversible reduce and ledger.
ProjectbetaPython- winnow★ 110
Calibrated context sieve for Claude Code: Jev judges each block of large tool output and hides confident-no blocks behind recallable stubs.
Projectbeta Codex hook that compacts large command and tool outputs, using Jev to rank which chunks matter and keeping the full output retrievable.
ServicebetaPythonLocal proxy for Claude Code that uses Jev to remove stale tool results from the context once it reaches about 120K tokens, failing open.
ProjectbetaJavaScriptLocal MCP bridge letting Codex hand drafting to Gemini via a Google AI Pro quota, with Jev checking drafts against explicit criteria.
MCP serverbeta