kolawong/fast-compaction-dsh 预览 preview

kolawong/fast-compaction-dsh

Plugin插件 Native原生 ⭐ 3 NOASSERTION Models & Routing模型与路由Sessions & Context会话与上下文

Verdict-based context compaction for DeepSeek Harness — replaces lossy LLM summaries with fast keep/truncate/drop decisions from jev-latest; everything kept stays verbatim. Port of tamaratran/fast-jev-compaction.

Project Overview项目介绍

fast-compaction-dsh is a native context compaction plugin built exclusively for DeepSeek Harness (DSH). It is a port of tamaratran/fast-jev-compaction, adapted specifically to DSH’s compaction capability seam. Instead of using lossy LLM summarization to compact old conversation context, it uses the jev-latest model from TypeSafe System One to make per-tool-call decisions to keep, truncate, or drop content, leaving all kept content completely verbatim. To install, users add an agent preset patch that disables the default compaction-basic engine, mount the new fast-compaction engine, update their default preset, and restart DSH for changes to take effect.

By default, the plugin pins the first message and the most recent 6 messages, so they are never modified during compaction. It pairs each tool call with its result by call ID, then sends the compacted region to Jev for scoring in batches to stay within token limits. It uses a default keep threshold of 0.5: if the result keep probability meets or exceeds the threshold, both call and result are kept verbatim; if only the call probability meets the threshold, the result is truncated to 300 characters; otherwise, both are dropped. This plugin is ideal for DSH users who want to avoid losing critical details like file paths or error messages during long conversational sessions.

Users must have a TypeSafe API key to use the plugin, which can be provided via the TYPESAFE_API_KEY environment variable, the plugin’s web settings UI, or preset configuration. The plugin ships with a web settings card that can be enabled by adding the package to the DSH web profile, so users can adjust parameters like the keep threshold or number of pinned messages directly from the DSH UI. It follows the MIT license, and if any issue occurs like a missing API key, network failure, or insufficient compaction reduction, it automatically falls back to DSH’s built-in compaction-basic summarizer. Full round-trip Jev scoring takes only ~700ms on average, so it adds very little latency to compaction.

这是一个专为DeepSeek Harness (DSH)开发的原生上下文压缩插件,是tamaratran/fast-jev-compaction针对DSH的移植版本,适配了DSH的压缩能力接口。它调用TypeSafe System One端点的jev-latest模型,对每一个非固定保留的工具调用和结果做快速评分,给出保留、截断、删除三种决策,所有保留内容都保持原文不变,替代了DSH原生基础压缩的有损总结模式。

插件工作时,会默认固定保留最早第一条消息和最新的6条不做修改,然后对需要压缩的区域按调用ID配对工具调用和结果,再分批次把状态发给Jev完成评分。它会根据默认0.5的保留阈值,决定是完整保留调用和结果、仅保留调用并截断结果开头还是完整删除整个调用和结果。这款插件适合需要保留上下文关键细节、避免总结式压缩丢失信息的DSH用户,尤其适合长时间多轮的开发会话。

用户需要先申请TypeSafe API密钥,然后通过修改DSH的代理预设配置挂载该插件,重启DSH后即可生效,同时插件还提供了网页端设置卡片,可以在DSH的网页界面调整参数。如果遇到API调用失败、压缩后仍达不到大小要求等问题,插件会自动回退到DSH原生的基础压缩器。整个Jev评分请求往返大约需要700毫秒,不会给压缩过程增加过多额外等待时间。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:kolawong/fast-compaction-dsh

把 kolawong/fast-compaction-dsh 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

fast-compaction-dsh

English | 中文

Verdict-based context compaction for DeepSeek Harness (DSH). Replaces the lossy compaction summary with fast per-call keep/truncate/drop decisions from jev-latest — everything kept stays verbatim, nothing is ever rewritten.

A DSH port of tamaratran/fast-jev-compaction (MIT), adapted to the DSH compaction capability seam.

How it works

What and why

Most context compaction asks an LLM to summarize old turns. A summary is lossy: a file path, an exact error, a constraint, or a command can disappear even when it matters later. This plugin never rewrites anything. When compaction triggers, every tool call and tool result in the compacted region is scored by jev-latest through the TypeSafe System One endpoint; stale calls are deleted, half-stale results are truncated to a bounded head, and everything else stays byte-for-byte. User and assistant text is never removed.

On any failure — a missing TYPESAFE_API_KEY, a Jev error, malformed answers, an unfittable history, or an insufficient reduction — it falls back to the shipped compaction-basic summarizer, exactly like the original Claude Code hook falls back to Claude Code's built-in summary.

How it works

  1. Every tool-call is paired with its tool-result by call id. Calls in the first message and the newest preserveRecentMessages (default 6) messages are pinned and never touched.
  2. The state sent to Jev is the whole compacted region, oldest first, with every tool result replaced by a short note (ok, 4213 chars (omitted)). Tool inputs and texts are included — nothing is summarized.
  3. The state is fitted into maxStateTokens (25k default) in stages: tool inputs truncated 1000 → 200 → 60 chars; long texts abridged to head + tail, oldest non-pinned first; old messages collapsed to a note; old calls reduced to one line each; old call-less messages left out; runs of call-only messages folded. If it still does not fit, the plugin falls back.
  4. For every non-pinned call Jev gets two noul questions: should the call stay (knowing it was made, with its input, still matters), and should the result stay verbatim (its contents are still needed and re-running the tool would not do).
  5. Questions are batched so state plus questions stays under maxRequestTokens (30k default); batches run concurrently and answers are merged.
  6. Decisions against keepThreshold (default 0.5): keepResult ≥ threshold → keep both verbatim; else keepCall ≥ threshold → keep the call, truncate the result to its first truncateHeadChars (default 300) characters plus a note; else → drop the call together with its result.
  7. The region is rebuilt as a verbatim transcript checkpoint (the DSH seam replaces the shadowed surface span with one durable user message), with role labels and the kept tool activity inline.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-locale-ru 下一个 Next dsh-kimi-subscription →