🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

自动上下文压缩 JohnathonYe/auto-compact

DeepSeek Harness
JohnathonYe35 天前有提交已提供中文文档扫描:含敏感能力

会话级自动上下文压缩插件DeepSeek Harness / DSH

36.4/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JohnathonYe/auto-compact
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 35 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-auto-compact(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 08:26:03

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    lib/index.js:49
    thresholds = readThresholds(readFileSync(storeFile, 'utf8'))
  • 写入本地文件
    lib/index.js:58
    mkdirSync(dirname(storeFile), { recursive: true })
  • 写入本地文件
    lib/index.js:60
    writeFileSync(tmp, JSON.stringify({ thresholds }, null, 2) + '\n', { mode: 0o600 })
  • 写入本地文件
    lib/index.js:61
    renameSync(tmp, storeFile)
  • 发起网络请求
    lib/client.js:43
    const response = await fetch('/dsh-auto-compact/api/thresholds.get', { method: 'POST', headers: { 'content-type': 'application/json' }, body: '{}' });
  • 发起网络请求
    lib/client.js:60
    await fetch('/dsh-auto-compact/api/thresholds.set', {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-token-meter@deepseek-ai/dsh-session-projection@deepseek-ai/dsh-host-webserver@deepseek-ai/cordis-plugin-timer@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-api-remotes
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

README

由 DeepSeek 最新模型翻译生成
dsh-auto-compact 中文 · English 会话级自动上下文压缩插件(DeepSeek Harness / DSH) 自动压缩阈值面板 在输入区右侧显示一个阈值圆环:当前会话上下文用量实时显示,拖动滑杆设置该会话的压缩阈值(1%–90%,默认 50%)。每当用量超过阈值,插件自动触发上下文压缩(compact)——回合中每走一步之前检查一次,回合结束时再检查一次——压缩摘要注入上下文后会话自然继续,全程无需手动干预,也不发送任何「继续」消息。 特性 - 🔴 会话级阈值:每个会话独立设置,互不影响(按 sessionId 持久化) - 📊 实时用量:与自带 ContextMeter 同源(useProjection("contextPressure")),面板打开即实时刷新,无需轮询 - 🎚️ 1%–90% 细腻调节:步进 1%,适合精细控制(未设置时默认 50%) - 🤖 全自动:回合中每步前 + 回合结束自动检测 → 超阈值自动 compact → 摘要注入后自然继续 - 🛡️ 零崩溃风险:所有检查都在 agent/pre-step(waterfall 中间件)与 agent/turn-stopping(串行事件)里做,全程 try/catch,绝不抛出
展开完整文档(README 剩余 1 节)
dsh-auto-compact

中文 · English

会话级自动上下文压缩插件(DeepSeek Harness / DSH)

自动压缩阈值面板

在输入区右侧显示一个阈值圆环:当前会话上下文用量实时显示,拖动滑杆设置该会话的压缩阈值(1%–90%,默认 50%)。每当用量超过阈值,插件自动触发上下文压缩(compact)——回合中每走一步之前检查一次,回合结束时再检查一次——压缩摘要注入上下文后会话自然继续,全程无需手动干预,也不发送任何「继续」消息。

特性

- 🔴 会话级阈值:每个会话独立设置,互不影响(按 sessionId 持久化)
- 📊 实时用量:与自带 ContextMeter 同源(useProjection("contextPressure")),面板打开即实时刷新,无需轮询
- 🎚️ 1%–90% 细腻调节:步进 1%,适合精细控制(未设置时默认 50%)
- 🤖 全自动:回合中每步前 + 回合结束自动检测 → 超阈值自动 compact → 摘要注入后自然继续
- 🛡️ 零崩溃风险:所有检查都在 agent/pre-step(waterfall 中间件)与 agent/turn-stopping(串行事件)里做,全程 try/catch,绝不抛出
- 💾 持久化:阈值存于插件自己的 JSON 文件($DSH_HOME/dsh-auto-compact.json,默认 ~/.dsh/dsh-auto-compact.json),重启不丢
- 🧊 与内置安全网并存:DSH 自带的 compaction-basic(默认 80% 压力阈值)保留为兜底,互不干扰

安装

前置:已装好 DSH(dsh web 能正常运行),Node.js ≥ 20、pnpm ≥ 10。

从旧版 auto-compact 升级:旧包名是 auto-compact,新包名是 dsh-auto-compact。请先卸载旧包再装新版,避免双挂载(两个 Host 半、两个圆环):
npx -y --package @deepseek-ai/dsh dsh plugin --profile web remove auto-compact

一键安装(推荐,复制粘贴即可)

macOS / Linux(Windows 装 Git Bash 或 WSL 也可):

curl -fsSL https://raw.githubusercontent.com/JohnathonYe/auto-compact/main/scripts/install.sh | bash

脚本自动完成全部步骤:安装 npm 依赖 → 注册官方挂载(dsh.profile.bundles)→ 清理旧版残留的挂载行。你只需要:

1. 跑上面这一条命令
2. 重启 DSH(装完后脚本会提示命令;也可以加上 --restart 让它自动重启:curl ... | bash -s --restart)
3. 强刷浏览器(macOS Cmd+Shift+R / Windows·Linux Ctrl+Shift+R),输入区右侧出现阈值圆环 ✅

脚本内部已自动处理:dsh 命令通常不在全局 PATH(DSH 一般经 npx 安装,直接敲 dsh 会报 command not found),脚本会自动改用 npx 调用,无需用户手动处理。

或者用

npx -y --package @deepseek-ai/dsh dsh plugin --profile web add dsh-auto-compact

装完同样需要重启 DSH + 强刷浏览器。

从本地 checkout 安装(npm 未发布时)

dsh-auto-compact 目前尚未发布到 npm,上面的 dsh plugin --profile web add dsh-auto-compact 需要可用的 npm 源。若你只想跑本地代码,直接把 checkout 链接进 profile:

git clone https://github.com/JohnathonYe/auto-compact.git
cd auto-compact
npx -y --package @deepseek-ai/dsh dsh plugin --profile web add "$PWD"

pnpm 会以 link: 方式把 profile 指向这份 checkout(改完代码重启 DSH 即生效,无需重装);包内声明的 dsh.bundle.patch 仍会被 CLI 协调进 dsh.profile.bundles。

更新 / 卸载

- 更新:重跑一键安装命令(或手动命令),装完重启 DSH + 强刷浏览器
- 卸载:npx -y --package @deepseek-ai/dsh dsh plugin --profile web remove dsh-auto-compact,卸载后重启生效;若曾手动在 cordis.patch.yml 写过挂载行,一并删除,避免双挂载(两个 Host 半、两个圆环)

使用

1. 点击输入区右侧的圆环,打开面板
2. 面板显示当前会话的实时上下文用量(百分比)
3. 拖动滑杆设置阈值(1%–90%,会话级独立;未拖动过的新会话默认 50%,仅当前会话生效,不影响其他会话)
4. 之后每当用量超过阈值(回合中某一步之前,或回合结束时),插件自动执行 compact 并继续

工作原理

- Host 半(lib/index.js):监听 agent/pre-step(回合中每步之前,waterfall 中间件)与 agent/turn-stopping(回合结束,串行事件)两个事件,读取当前会话阈值与用量(tokenMeter.measure() / contextPressure 投影),超阈值时调用 agentPresets.serviceFor(agent, 'compaction').compactIfNeeded(agent, 'context-overflow', signal) 执行压缩 —— 走 context-overflow 分支,绕过引擎自身的 0.8 阈值检查,完全由滑杆决定。
- Client 半(lib/client.js):在 conversation.input.right 槽注册圆环 UI;阈值经自定义 webServer 路由 /dsh-auto-compact/api(host 侧读写上面的 JSON 阈值存储)读写;用量来自 useProjection("contextPressure") 实时投影。

依赖

- 需要 DSH 的 compaction-basic(@deepseek-ai/dsh-compaction-basic)处于启用状态 —— 默认预设(standard / code / cordis)均已内置,minimal 预设除外
- 所有 peer 依赖随 DSH 自带,无需额外安装

兼容性闸门(发版前必跑)

pnpm run check:compat # 针对当前安装的 dsh
node scripts/check-compat.mjs --runtime 0.2.0 --runtime 0.2.5

脚本调用的是 DSH 自带的那个评估器(@deepseek-ai/dsh-app-boot 的 evaluatePluginCompatibility),所以这里的判定与 DSH 加载插件时的判定完全一致——不是另写一套 semver 规则。

peer 上界刻意写成“下一个 minor 的预发布地板”:

=0.1.0-rc.6 <0.3.0-0 # 收下整个 0.2.x(含 0.2.0 正式版),挡掉 0.3.0-rc.1

DSH 升到新 minor(例如 0.3)时:把上界改成 <0.4.0-0,用新运行时跑一遍上面的检查,再发版。
上界的 -0 不能省——写成 <0.4.0 反而会把最危险的 0.4.0-rc.1 放进来。
不想改包时应急:dsh plugin allow-version 给“插件@精确版本”开豁免。

许可证

MIT
预览分享卡片长什么样 ↓JohnathonYe/auto-compact
分享 · DeepSeek Harness Hub
JohnathonYe/auto-compact

会话级自动上下文压缩插件DeepSeek Harness / DSH

这是你的仓库?认领条目

回到顶部