dsh-input-limit:在 Web 对话页直接设置当前模型的输入上限

前言

在 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。

就地修改

  1. 点击 pill,弹出 popover。
  2. 输入精确 token 数(可写 131072 或 131,072),输入过程中会 live 显示约等于的 ≈ 128K。
  3. 选择 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):

  • dsh CLI(在 0.1.5-rc.2 上测试;需带 Web UI 插件系统的构建)。
  • pnpm(插件安装流程会用到)。
  • 已配置可写 settings 的 provider(pi-ai 或 deepseek-official)。
  • Web 界面使用 web profile;安装后重启 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 标明在 dsh 0.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 试用。

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

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

Xiaoye