news 2026/8/26 15:48:03

告别手动敲 /compact:Deepseek Harness 一键压缩上下文插件 dsh-compact-button 实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
告别手动敲 /compact:Deepseek Harness 一键压缩上下文插件 dsh-compact-button 实战指南

摘要dsh-compact-button是一款纯客户端的 DSH Web 插件,在上下文计量面板中提供「压缩上下文」与「新建会话」两个按钮,将手动敲/compact命令简化为一次点击。插件与/compact完全同通道、零侵入,支持状态实时反馈、中英文切换与防连点锁定。本文介绍其核心功能、npm/源码两种安装方式、使用步骤、常见问题排查及已知限制,适配 DSH 0.1.1-rc.2,MIT 协议开源。

长对话把上下文窗口撑爆?每次都要手动输入/compact命令?本文带你上手 DSH 生态中的dsh-compact-button插件——在上下文计量面板里放两个按钮,一键压缩历史、一键新建会话,纯客户端零侵入。


一、背景:长会话的上下文焦虑

用过 DeepSeek Harness(DSH)做长任务的同学大概率都遇到过这个场景:

  • 对话越跑越长,token 占用一路飙升;
  • 上下文窗口快满了,得停下来手动敲/compact把早期历史压成摘要;
  • 敲完命令还得等结果,手忙脚乱;
  • 想新开一个会话继续,又得去侧边栏点半天。

dsh-compact-button就是为了解决这个痛点而生的——它在 DSH Web 的上下文计量面板里直接放了两个按钮:

按钮作用
🔘 压缩上下文点击即向当前会话提交/compact,把较早对话历史压缩成摘要
🆕 新建会话点击即在同一 workspace 中开启新会话并跳转过去

适配 DSH 版本:0.1.1-rc.2,MIT 协议开源。


二、核心功能一览

1. 一键压缩,与/compact完全同通道

按钮点击后调用的是session.command('/compact'),和你手敲命令走的是完全相同的通道。压缩结果照常以命令行形式出现在对话流里,没有任何特殊行为,也不会引入额外的副作用。

2. 状态实时反馈

按钮文案会随提交状态自动流转,4 秒后自动回到待命状态,面板保持清爽:

状态中文English含义
待命压缩上下文Compact context可点击
提交中压缩中…Compacting…正在向会话提交命令
已提交已提交压缩Compaction submitted命令已被接纳,结果见对话流
未匹配命令未匹配Command not matched当前 composer 没有可提交命令的会话
失败提交失败Submission failed提交命令时出错

3. 中英文实时切换

i18n 字典注册在compactButton命名空间下,跟随 DSH 全局语言设置实时切换,无需重启。

4. 一键新建会话

在压缩按钮右侧并排一个「新建会话」按钮,点击调用workspaces.startSession(),在当前会话所在的 workspace 中开启新会话并跳转。点击后约 1.5 秒内锁定,防止误连点。

5. 零侵入,纯客户端

  • Host 半边为空apply,无任何宿主行为;
  • 槽位不存在时按钮安静地不渲染,不影响平台其余部分;
  • 插件自带cordis.patch.yml,安装后自动追加挂载条目,无需手动编辑 profile。

三、安装教程

前置条件

  • 已装好 DSH,dsh web能正常运行;
  • Node.js ≥ 20;
  • pnpm ≥ 10。

方式一:从 npm 安装(推荐)

dsh plugin--profilewebadddsh-compact-button@latest

方式二:从源码安装(调试本地改动时使用)

# 1. 克隆并构建gitclone https://github.com/shyuan-hub/dsh-compact-button.gitcddsh-compact-buttonpnpminstall&&pnpmbuildpnpmpack# 生成 dsh-compact-button-0.2.0.tgz# 2. 通过 file: 通道安装dsh plugin--profilewebadd"file:<你的本地目录>/dsh-compact-button-0.2.0.tgz"

调试时也可以用link:通道,改完代码pnpm build+ 重启dsh web即可生效:

dsh plugin--profilewebadd"link:<克隆目录绝对路径>"

安装后必做

装完重启dsh web,再硬刷新浏览器(Cmd/Ctrl + Shift + R)即可生效。仅硬刷新浏览器不够,必须重启服务。

无需手动编辑 profile 的package.json:本包声明了dsh.bundle.patchdsh plugin add会自动把它追加进dsh.profile.bundles


四、按钮怎么用

输入框(composer)旁的上下文圆环,点击展开就是「上下文计量面板」,两个按钮并排放在里面:

  • 左侧「压缩上下文」:点击即提交/compact,文案随状态流转,4 秒后自动复位;
  • 右侧「新建会话」:点击即在当前 workspace 开新会话并跳转,1.5 秒防连点锁定。

压缩结果会以命令行形式正常出现在对话流中,和手敲命令的体验完全一致。


五、常见问题排查

现象原因与解决
面板里看不到按钮上下文计量面板必须声明conversation.context.actions子槽位。确认平台补丁已应用后硬刷新浏览器
点击后显示「命令未匹配」当前 composer 没有可提交命令的会话,切换到有活跃会话的页面再试
安装 / 改动后没生效必须重启dsh web(仅硬刷新不够),重启后再硬刷新页面

六、已知限制

  1. 依赖平台为上下文计量面板声明conversation.context.actions子槽位(需随附补丁),槽位缺失时按钮不渲染;
  2. 压缩按钮只负责提交/compact,压缩的接纳与执行语义由 Host 侧command-compact插件拥有;
  3. 状态提示 4 秒后自动复位,不提供压缩进度展示;
  4. 新建会话按钮沿用部署默认的 agent 预设与权限设置;若当前会话用的是非默认预设,新会话不
    会自动沿用(client 侧session.create不暴露预设/权限选择)。

七、总结

dsh-compact-button是一个小而美的 DSH Web 客户端插件,核心价值就一句话:/compact命令从"手动敲"变成"点一下"

  • 纯客户端、零侵入、Host 半边为空;
  • /compact完全同通道,无副作用;
  • 状态反馈 + i18n + 防连点,细节到位;

如果你经常在 DSH Web 上跑长任务,上下文窗口总是提心吊胆,这个插件值得装一下。npm 一行命令搞定,重启即生效。


项目地址:github.com/shyuan-hub/dsh-compact-button
npm 包:dsh-compact-button
License:MIT · Built for the DeepSeek Harness ecosystem

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 15:46:57

K歌语音指令智能语音识别,夏杰语音对接源码

简介实现语音K歌&#xff0c;语音搜索歌曲、歌手&#xff0c;原唱&#xff0c;伴唱&#xff0c;升调、降调&#xff0c;收藏&#xff0c;热门歌曲&#xff0c;歌曲排行等等语音控制指令。 参考demo&#xff0c;可以合入到自己的K歌软件里面。 自动对接夏杰语音&#xff0c;安装…

作者头像 李华
网站建设 2026/8/26 15:45:30

域名散落在多个注册商,怎样统一管理并避免漏续费

域名一多&#xff0c;最容易失控的是续费&#xff0c;解析往往还在正常工作。有的域名在老注册商账号里&#xff0c;有的跟着建站项目放在云平台&#xff0c;还有几枚是同事帮忙注册的。到期邮件发到了旧邮箱&#xff0c;付款卡也换过几次。平时看着都能用&#xff0c;真到续费…

作者头像 李华