它在 Web 设置页中提供与 Harness 原生插件一致的配置卡片,可使用百分比或绝对 Tokens 调整自动压缩阈值和近期内容保留量。摘要、消息重放、checkpoint 与会话持久化仍由官方 @deepseek-ai/dsh-compaction-basic 负责。
Visual percentage and token settings for official DeepSeek Harness compaction
安装
dsh plugin --profile web add github:preflower/deepseek-harness-compaction-uiGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
DeepSeek Harness 官方上下文压缩的可视化配置插件。
它在 Web 设置页中提供与 Harness 原生插件一致的配置卡片,可使用百分比或绝对 Tokens 调整自动压缩阈值和近期内容保留量。摘要、消息重放、checkpoint 与会话持久化仍由官方 @deepseek-ai/dsh-compaction-basic 负责。
功能
- 在 设置 → 插件 → 插件配置 中管理上下文压缩。
- 触发阈值支持百分比和绝对 Tokens。
- 近期内容保留量支持百分比和绝对 Tokens。
- 切换单位时自动换算等效值。
- 保存后热更新,不需要重新创建会话。
- 在输入框旁显示压缩阈值进度圆环。
- 支持按 provider/model 设置独立策略。
界面预览
插件配置

压缩阈值圆环
悬停圆环可查看当前上下文用量、自动压缩阈值和占用比例。达到阈值时圆环会变红;旁边的浅色圆环是 Harness 自带的上下文窗口占用率。

安装
发布到 npm 后,可安装到 DSH 的 Web profile:
npx @deepseek-ai/dsh plugin --profile web add deepseek-harness-compaction-ui
该命令只安装插件并退出,不会启动 DSH。
从本地源码安装:
npm install
npm run build
npx @deepseek-ai/dsh plugin --profile web add .
如果 DSH 已经运行,请在安装后重启现有服务。
使用
安装后打开:
设置 → 插件 → 插件配置 → 上下文压缩
| 设置 | Tokens 模式 | 百分比模式 |
|---|---|---|
| 触发阈值 | 达到固定 Token 数后压缩 | 按模型上下文窗口的比例触发 |
| 保留近期对话 | 固定保留最近的 Token 数 | 按模型上下文窗口的比例保留 |
百分比模式会同时显示按当前上下文窗口换算的近似 Token 数。保留量必须小于触发阈值,否则无法保存。
默认策略:
| 设置 | 默认值 |
|---|---|
| 自动压缩 | 开启 |
| 触发阈值 | 256,000 Tokens |
| 保留近期对话 | 64,000 Tokens |
| 上下文窗口 | 1,000,000 Tokens |
实现边界
本插件不是另一套压缩引擎。它只负责:
- 展示和保存可视化设置。
- 将绝对触发值换算为官方引擎使用的
thresholdRatio。 - 将百分比策略直接传给官方
thresholdRatio和retainRatio。 - 校验配置并在运行时热更新策略。
压缩范围选择、工具调用配对、摘要生成、消息替换、持久化事件、取消和上下文溢出恢复均由 DeepSeek Harness 官方组件处理。
高级配置
通常不需要手动编辑 YAML。需要为自定义模型设置独立窗口或策略时,可在 profile 的 cordis.patch.yml 中覆盖插件配置:
- id: compaction-absolute-tokens
config:
thresholdMode: ratio
thresholdRatio: 0.8
retainMode: ratio
retainRatio: 0.16
thresholdTokens: 256000
retainTokens: 64000
contextWindowTokens: 1000000
maxTokens: 8192
compactionRetries: 1
maxOverflowRetries: 1
auto: true
targets:
- provider: deepseek-official
model: deepseek-v4-flash
- provider: deepseek-official
model: deepseek-v4-pro
thresholdMode 和 retainMode 可分别设为 tokens 或 ratio。YAML 中的比例使用 0 到 1,例如 0.8 表示 80%。
绝对触发模式依赖 contextWindowTokens 完成换算。自定义模型应填写与其适配器实际容量一致的上下文窗口。
DSH 会整体替换同一插件条目的 config,手动覆盖时应重述需要保留的字段。内部 ID compaction-absolute-tokens 为兼容已有 profile 而保留。
注意事项
上下文压缩可以控制历史消息增长,但不能解决所有容量问题,例如:
- 单条消息或工具结果本身超过预算。
- System prompt 与工具 Schema 已接近上下文上限。
- 摘要模型持续失败或外部服务不可用。
- 多轮摘要导致的信息损耗。
关键任务状态应写入仓库文件或其他持久化存储,不应只存在于对话历史中。
开发
npm install
npm run check
npm run pack:check
项目当前基于 DeepSeek Harness 0.1.0-rc.6 API。
发布
项目使用 Changesets 管理版本和变更日志,并通过 .github/workflows/publish.yml 发布到 npm。
开发功能或修复时创建 changeset:
npm run changeset
选择 patch、minor 或 major,填写变更说明,并将生成的 .changeset/*.md 文件与代码一起提交。
合并到 main 后,GitHub Actions 会自动创建或更新 Release PR,其中包含版本号和 changelog。合并 Release PR 后,Actions 会自动:
- 构建并运行测试。
- 发布新版本到 npm。
- 创建 Git 标签。
- 创建 GitHub Release。
推荐在 npm 包设置中配置 Trusted Publisher:
| 项目 | 值 |
|---|---|
| Provider | GitHub Actions |
| Organization or user | preflower |
| Repository | deepseek-harness-compaction-ui |
| Workflow filename | publish.yml |
| Allowed action | npm publish |
配置完成后,工作流使用 OIDC 发布,无需保存长期 npm Token。首次发布时如果 npm 尚不能配置 Trusted Publisher,可在 GitHub 仓库的 Settings → Secrets and variables → Actions 中临时添加 NPM_TOKEN;首次发布成功并配置 Trusted Publisher 后即可删除该 Secret。
当前仓库包含初始 minor changeset。首次推送到 main 会创建 0.1.0 Release PR;只有合并该 PR 后才会正式发布。
License
原始 README: https://github.com/preflower/deepseek-harness-compaction-ui/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。