前言¶
在 DeepSeek Harness(dsh)里,每个模型都有上下文窗口(输入上限)。这个值会影响界面上的上下文压力显示,以及自动压缩(auto-compaction)何时触发。若适配器默认的窗口比模型实际能力更大——例如 pi-ai 默认 262144(显示为 256K),而某路由实际只有 128K——按默认配置运行,压力条和压缩策略会与真实可用空间不一致。
通常可以在 Settings 里改 provider 下各模型的 contextWindow。对话进行中若要临时核对或改当前模型的上限,需要离开 composer 去设置页查找,步骤偏长。下面介绍的社区插件 dsh-input-limit 把「当前模型的有效输入上限」放到 Web 对话输入栏,与模型选择器同一行,可就地查看和修改。
这是什么¶
dsh-input-limit 是面向 DeepSeek Harness 的社区插件,维护者为 viyu-tech。它在 composer 工具行(模型选择器旁)增加一个小 chip,展示当前模型的输入上限,并支持点击后输入精确 token 数保存,或恢复为 provider 默认值。
插件仅运行在浏览器端(browser-only):不增加自定义 host 逻辑,安装并加载插件后重启 dsh web 即可;写入设置走的是与 Settings 页面相同的 typed RPC,下一次请求即生效。
核心功能¶
状态展示¶
- 在消息输入栏右侧以 pill 形式显示,例如
输入上限 128K(英文界面为Input limit 128K)。 - 若值为 provider 默认继承,会带
· 默认标记。 - 鼠标悬停可看到精确 token 数。
容量数字采用模型规格常用的二进制刻度:1K = 1024,1M = 1024²。例如 131072 显示为 128K,pi-ai 默认 262144 显示为 256K。
就地修改¶
- 点击 pill,弹出 popover。
- 输入精确 token 数(可写
131072或131,072),输入过程中会 live 显示约等于的≈ 128K。 - 选择 Save 保存,或 Reset to default 恢复默认。
保存后,插件将按模型的 contextWindow 覆盖写入对应 provider 设置命名空间(如 llm-pi-ai、llm-deepseek),并保留 settings 里 models 数组的其余字段。变更会驱动上下文压力显示与 auto-compaction;若设置文档在写入时被其他编辑器更新,插件会先重新读取 settings,并在 settings/conflict 时自动重试一次,避免静默覆盖。
适用范围¶
- 适用于所有可配置的 provider(pi-ai 路由、直连 DeepSeek 适配器等)。
- 当前模型或 provider 不可配置时,chip 会自动隐藏。
安装与启用¶
环境要求(来自项目 README):
dshCLI(在0.1.5-rc.2上测试;需带 Web UI 插件系统的构建)。- pnpm(插件安装流程会用到)。
- 已配置可写 settings 的 provider(pi-ai 或 deepseek-official)。
- Web 界面使用
webprofile;安装后重启dsh web即可。
从 Web UI 安装(推荐)¶
包发布到 npm 后:侧栏 Plugins → Add plugin,输入 dsh-input-limit,选择 registry(默认 npm,内置回退 npmmirror),再 Install → Enable now。
从 npm 安装¶
dsh plugin --profile web add dsh-input-limit
dsh web
从 GitHub 安装¶
将 <you> 替换为实际 GitHub 用户名或组织名(本仓库为 viyu-tech):
dsh plugin --profile web add github:<you>/dsh-input-limit
dsh web
从 Git 安装时,pnpm 默认会阻止依赖的 build scripts;本仓库已附带预构建的 lib/,被阻止的 prepare 一般不影响使用。若希望在安装时本地重建,可按 pnpm 提示在 profile 的 pnpm-workspace.yaml 中配置 allowBuilds 后重新执行安装。
从本地目录或 tarball 安装¶
# 在包含插件包的目录的父路径下执行
dsh plugin --profile web add ./dsh-input-limit
dsh web # 重启(或重新打开 http://127.0.0.1:3080)
卸载¶
dsh plugin --profile web remove dsh-input-limit
当前 npm 包版本为 0.1.1,许可证 MIT。
典型用法¶
安装并启用后,打开 dsh web 的对话页,在模型选择器旁查看当前「输入上限」pill。
核对默认值:若显示 输入上限 256K · 默认,表示当前模型沿用 provider 配置中的默认 contextWindow;悬停查看具体 token 数是否与你的路由文档一致。
按真实窗口修正:若某模型实际只有 128K,而界面默认偏大,点击 pill,输入 131072(或带千位分隔的 131,072),确认 live 提示约为 128K 后点 Save。之后同一模型在 settings 中会保留该覆盖;上下文压力与压缩行为会按新上限计算。
恢复默认:在 popover 中选择 Reset to default,删除该模型的覆盖,重新继承 provider 默认。
切换会话中的当前模型时,chip 会随 modelSelection 与 settings 更新而刷新。
适用场景与注意¶
适合谁
- 经常使用 pi-ai 多路由或 DeepSeek 官方适配器,且不同模型上下文窗口差异较大的开发者。
- 需要在对话过程中快速对齐「显示的上限 / 压缩阈值」与模型真实能力,而不想反复打开 Settings 的用户。
兼容性
- README 标明在
dsh0.1.5-rc.2 上测试。客户端插件在inject中声明了所依赖的 dotted services(如remote.settings、remote.session);若所用dsh构建重命名或移除了这些接口,插件加载会明确失败,而不是静默异常。
安全与信任
- 插件以当前
dsh进程及其 Web 会话的权限运行,修改的是本机 provider settings,与在 Settings 页手动改contextWindow等价。 - 安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;社区插件目录站点与 DeepSeek / 幻方无官方从属关系,选型与启用由使用者自行判断。
结尾¶
dsh-input-limit 把「当前模型的输入上限」从设置页搬到 composer 一行:可见、可改、可恢复默认,并与 DSH 的上下文压力与 auto-compaction 共用同一套 settings 写入路径。若你已在用可配置的 pi-ai 或 DeepSeek provider,可按上文命令装入 web profile 试用。