Skip to content

openclaw-jev-compaction

OpenClaw context engine that asks Jev which tool calls and results are still needed and drops the rest verbatim, never summarising.

ProjectbetaMIT

Overview

openclaw-jev-compaction is a context engine for OpenClaw that keeps long sessions inside the context window without lossy summaries. It asks TypeSafe's Jev, looking at the whole conversation, which tool calls and results a session still needs, then drops or truncates spent ones such as used directory listings, passing test runs or files read before being rewritten. User and assistant text is never rewritten, so file paths, exact errors and constraints survive.

A single Jev request scores dozens of calls in about a second; the README's example log shows a 71% reduction from about 48K to 14K tokens. It takes OpenClaw's exclusive context-engine slot, compacts at a configurable percentage of context, and can be reverted to the legacy engine. It was built by the Hilo team, inspired by the fast-jev-compaction Claude Code plugin.

What the decision model decides

TypeQuestionAnswers
ChoiceShould this tool call or result be kept, truncated or dropped?(inferred)keep · truncate · drop

How it works

  1. When context reaches compactAtPercent, send the conversation to Jev.
  2. Jev scores each tool call and result.
  3. Drop or truncate spent ones; keep pinned and protected items.
  4. Continue with verbatim remaining text.

Strengths

  • No summarisation; original text preserved.
  • Large token reductions in one request.
  • Easy to revert to the built-in engine.

Caveats

  • Requires a TypeSafe key.
  • Dropped tool output is not recoverable from context.

Getting started

openclaw plugins install openclaw-jev-compaction --accept-capabilities, set TYPESAFE_API_KEY, then restart the Gateway.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
OpenClaw plugin
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Verbatim context compaction for OpenClaw: a context engine powered by TypeSafe's Jev. Drops stale tool calls and results, never summarizes.

    logicrw/awesome-jev-projects

Frequently asked questions

Does it summarise conversation history?

No, it only removes or truncates tool calls and results Jev deems spent.

How fast is it?

A single Jev request scores dozens of calls in about a second.

How do I undo it?

Set contextEngine to legacy or remove it.

Related projects

  • 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
  • Claude Code /fc command where Jev picks which old tool outputs to keep whole; the rest are trimmed and saved to files.

    ProjectbetaTypeScript
  • Local compaction proxy for Claude Code and Codex that compacts more often with local rules and keeps full history searchable.

    ProxybetaGo
  • Claude Code (and Codex) plugin that trims long Bash output chunk by chunk with Jev before it reaches the model, without summarising.

    PluginbetaTypeScript