前言¶
DeepSeek Harness 在处理长文本时会用模型的上下文窗口做预算与溢出判断。不同渠道挂载同一模型时,真实窗口往往不同,而安装目录给出的值偏保守;也有场景希望反向调小窗口,让 DSH 更早压缩。本插件把「按模型改窗口」收敛成一个不依赖第三方插件的小面板,支持在界面中切换档位或直接输入数值。
插件介绍¶
dsh-context-presets 是一个模型推理类的 DSH 插件,由 xunyyds 维护。它的核心作用是让用户为每个模型单独设定上下文窗口,所有取值写入 llm-pi-ai 命名空间,由宿主校验与持久化,改动即时生效、无需重启。
需要注意的是,本插件只调整 DSH 侧的预算基准,不扩大服务商的真实上限;自定义值不会超过上游声明的窗口。
核心功能¶
状态面板与右键菜单¶
左键点击输入框下方的窗口芯片可弹出面板,显示会话生效值、当前设定、上游默认值、横向档位和自定义输入框。右键点击芯片会弹出与系统右键菜单同款的列表,换档一步到位。
档位选项¶
- 跟随上游:不写死数值,DSH 使用上游声明的窗口,上游变化时自动跟随。
- 自定义:在面板输入框直接填任意正整数,上限由上游声明决定。
窗口值统一以 K / M 显示;不由 llm-pi-ai 管理的路由只显示会话生效值,档位置灰。
设置弹窗与批量操作¶
设置弹窗按提供方/模型列出,标出已自定义与已调整档位的模型,可筛选只看已自定义。批量功能支持按提供方一次性应用或恢复,超出上游的模型自动跳过。
界面刷新¶
右键菜单与设置弹窗内置界面刷新,不关闭客户端即可重载界面。
安装与启用¶
插件兼容 DSH ≥ 0.2.0-rc.2 的 Web 客户端。
安装命令如下:
dsh plugin --profile web add dsh-context-presets
架构说明¶
插件采用模块化设计:
src/core:纯逻辑模块,负责档位、设置文档读取、写入计划、菜单条目。src/client:界面模块,包含窗口芯片、右键菜单、设置弹窗,通过核心槽位conversation.composer.dock与plugins.bundle.config挂载。src/host:宿主半侧,仅占位、不持有状态。build.mjs:将各模块内联成浏览器可执行的lib/client.js,lib/index.js是宿主入口。
适用场景¶
适合需要在多模型场景下精细控制上下文窗口预算的开发者或使用者,特别是:
- 同一模型在不同渠道挂载时窗口值不同,希望按渠道或模型调整预算。
- 需要更早压缩上下文,让 DSH 在达到真实上限前就开始处理。
- 希望在不重启客户端的情况下即时调整模型窗口设置。
注意事项¶
插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。本项目采用 MIT 许可证。
总结¶
dsh-context-presets 提供了一个直观的界面来为每个模型单独设定上下文窗口,支持档位切换、自定义输入、批量操作和实时更新。它通过 llm-pi-ai 命名空间与宿主协作,既保证了配置的持久化,又确保不会超出上游声明的窗口限制。
- 插件主页:https://www.skillhub.cn/plugins/xunyyds/dsh-context-presets
- GitHub:https://github.com/xunyyds/dsh-context-presets