dsh-context-selector:在 DSH 里按条勾选要发给模型的上下文

前言

在 DeepSeek Harness(DSH)里连续多轮对话时,默认往往会把整段历史一并交给模型。会话变长后,Token 占用上升,旧轮里的工具输出和无关回复也会拖累后续推理。单靠「新开一个会话」可以清零,但会丢掉仍想保留的片段。

社区插件 dsh-context-selector(维护者 airfloats,分类:客户端)面向同一痛点:让你按轮次、按消息类型决定哪些内容进入下一轮请求,并配合系统提示词切换、用量透视和文档/划词右键提问。下文按「是什么 → 能做什么 → 怎么装 → 怎么用」说明,事实以 GitHub 仓库 README 与发布包为准。

这是什么

dsh-context-selector 是 DSH 的自定义上下文选择与管理插件。一句话定位:在输入框上方和状态栏提供图形界面(及可选的 /ctx 命令),对历史对话、系统提示词、工具定义等做细粒度勾选,而不是整包发送或只能整会话重置。

仓库:https://github.com/airfloats/dsh-context-selector
目录页:https://www.skillhub.cn/plugins/airfloats/dsh-context-selector
当前资料中的发布版本:2.9.3(dsh-context-selector-2.9.3.tgz)。开源协议:MIT。

DSH 生态强调「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系。安装插件后,其逻辑在当前 DSH 进程与页面环境中运行,启用前建议自行浏览源码与许可证。

核心功能

选择性携带历史对话

支持胶囊与列表两种视图。可按轮次一键勾选或取消;鼠标悬停某轮时,右侧预览卡片可单独控制是否携带「我说的」「过程工具」「AI 回复」。

快捷操作包括:全选、近 1/3/5 轮、去旧工具、全不带、从本轮起截断,以及 仅本轮有效(阅后即焚)。

系统提示词

无需新建会话即可在当前对话中切换系统提示词预设,或对自定义系统提示词追加 / 完全替换;在提示词面板中还可按段落勾选需要携带的内容,下一轮生效。

上下文用量透视

点击底部状态栏的上下文百分比环,可查看系统提示词、工具定义与对话消息的 Token 占用明细;支持按分类筛选(全部按序、压缩/系统注入、我说的、AI 回复/推理、工具结果),并逐条勾选或展开详情。

文档与划词「询问 AI」

在文件树、文档预览区或选中任意文本时右键,可将引用填入输入框,与上下文选择器配合提问。

安装与启用

推荐通过 DSH 内置插件管理上传发布包(资料未提供 dsh plugin add github:... 一类命令,以下以 README 为准)。

方式一:插件管理器(推荐)

  1. 打开 DeepSeek Harness 设置 → Plugins(插件)。
  2. 上传并选择发布包 dsh-context-selector-2.9.3.tgz。
  3. 启用插件后刷新页面。

方式二:手动安装到 Profile

  1. 将仓库内容解压到本地 vendor 目录:
    - Windows:%USERPROFILE%\.dsh\profiles\web\vendor\dsh-context-selector
    - macOS / Linux:~/.dsh/profiles/web/vendor/dsh-context-selector

  2. 在 ~/.dsh/profiles/web/cordis.patch.yml 中增加:

- insert:
    - id: context-selector
      name: 'dsh-context-selector'
      config: {}
  1. 重启 DeepSeek Harness。

package.json 中 config 为空对象;资料未列出额外配置字段,一般无需改配置即可使用。

典型用法

图形界面

  1. 在输入框上方打开 「上下文选择」 面板,在胶囊/列表视图间切换,按需勾选轮次或悬停细项。
  2. 需要减 Token 时,可试 去旧工具 或 近 3 轮 等快捷项;若只希望下一轮带上当前选择、之后恢复,可开 仅本轮有效(阅后即焚)。
  3. 点击底部状态栏百分比环,在透视面板里按类别筛消息、关掉不必再发的工具结果。
  4. 在侧边栏文件或预览区、或划选文本后右键,用「询问 AI」把引用送进输入框。

斜杠命令 /ctx(可选)

在聊天框输入下列命令可快速操作(与 GUI 互补):

命令 说明
/ctx 或 /ctx list 查看各轮携带状态与 Token 统计
/ctx all / /ctx none 全选所有历史轮次 / 清空所有历史轮次
/ctx last <N> 仅携带最近 N 轮(例:/ctx last 3)
/ctx from <M> 从第 M 轮起截断,更早历史不发送
/ctx toggle <N> 切换第 N 轮是否携带
/ctx tools [N] 去掉早期轮次工具输出,仅保留最近 N 轮工具结果
/ctx once [on\|off] 开/关下一轮「仅本轮有效」

示例:长调试会话里先 /ctx tools 2 去掉久远工具块,再 /ctx last 5 只留近五轮文字上下文,然后继续提问。

适用场景与注意

适合谁:经常在 DSH 里做多轮 Agent / 工具调用、又不想频繁开新会话的开发者;需要对比「少带上下文 vs 多带上下文」对回答质量影响时,也适合用逐条开关做试验。

注意:

  • 插件为 Web 客户端注入(dsh.client.platform: web,immediately: true),用法以浏览器版 DSH 为准。
  • 勾选状态影响的是下一次发往模型的上下文拼装;阅后即焚仅对下一轮生效,避免误开导致后续轮次缺上下文。
  • 星标、下载量等目录统计以 SkillHub 页面为准;启用前建议在 GitHub 查看 LICENSE 与 lib/ 实现是否符合你的安全策略。

结尾

dsh-context-selector 把「整段历史全送」拆成可管理的粒度:轮次、消息角色、工具结果与系统提示词都可单独决定,并配有 Token 透视与 /ctx 快捷键。若你正在 DSH 里堆长会话,不妨从上传 dsh-context-selector-2.9.3.tgz 启用插件试一轮「近 3 轮 + 去旧工具」。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜