Skip to content

sieve

DeepSeek Harness plugins that filter tool output, prune stale context and disclose skills progressively, with Jev or Laya judging what goes.

PluginbetaMIT

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

TypeQuestionAnswers
Yes / noIs this part of the tool output still needed for the task?(inferred)—
Yes / noIs this older context still relevant?(inferred)—
ChoiceWhich skills are relevant enough to disclose now?(inferred)—

How it works

  1. Deterministic rules handle what they can
  2. Remaining content becomes structured questions for Jev or Laya
  3. Kernel rewrites or keeps content by threshold; originals archived
  4. 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 skillbetaJavaScript
  • Agent 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.

    ServicebetaPython
  • Local proxy for Claude Code that uses Jev to remove stale tool results from the context once it reaches about 120K tokens, failing open.

    ProjectbetaJavaScript
  • Local MCP bridge letting Codex hand drafting to Gemini via a Google AI Pro quota, with Jev checking drafts against explicit criteria.

    MCP serverbeta