🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

工作窗口统一器 AIMFllyYS/dsh-operating-context

DeepSeek Harness
AIMFllyYS76 天前有提交已提供中文文档扫描:无法判定

把各模型上下文窗口统一限制到实际可用范围

28/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AIMFllyYS/dsh-operating-context
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · chat
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · AIMFllyYS
  • · dsh-operating-context
  • · tarball)
扫描于 2026/11/3(1 天前)

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-schema-form@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-web-react
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 限定模型上下文窗口
  • 限制实际可用范围

DeepSeek Harness 设置页:给每个已配置模型限定可用上下文窗口,卡在它真正能装下的范围内。

README

由 DeepSeek 最新模型翻译生成
dsh-operating-context DeepSeek Harness 的设置页 工作窗口。它把每个已配置的模型服务限制到同一个工作上下文窗口——适配器、用量环和官方自动整理读的都是同一个 contextWindow——并且不会要求模型装下超过它能力的内容。 它不会再挂一套压缩引擎、不会包装 resolveModel,也不会用 bundle patch 去改适配器配置(那种 patch 会整行替换,密钥和接入点会被清掉)。全部通过用户层的 settings.mutate 写入。 GitHub 话题:dsh-plugin 和 dsh。 兼容性基线:已按 DeepSeek Harness 0.1.0-rc.5 (47f943859bef60e4160492346772ded9b24f765a,2026-08-14)核对。Harness 的插件接口目前仍处于候选发布阶段,升级到更新版本时应重新构建并测试本包。 安装 这是一个 DeepSeek Harness 组合包。它不能单独运行;除非你自己把 dsh 放进 PATH,否则系统里没有这个命令。官方入口是 npx @deepseek-ai/dsh。
展开完整文档(README 剩余 1 节)
dsh-operating-context

DeepSeek Harness 的设置页 工作窗口。它把每个已配置的模型服务限制到同一个工作上下文窗口——适配器、用量环和官方自动整理读的都是同一个 contextWindow——并且不会要求模型装下超过它能力的内容。

它不会再挂一套压缩引擎、不会包装 resolveModel,也不会用 bundle patch 去改适配器配置(那种 patch 会整行替换,密钥和接入点会被清掉)。全部通过用户层的 settings.mutate 写入。

GitHub 话题:dsh-plugin 和 dsh。

兼容性基线:已按 DeepSeek Harness 0.1.0-rc.5 (47f943859bef60e4160492346772ded9b24f765a,2026-08-14)核对。Harness 的插件接口目前仍处于候选发布阶段,升级到更新版本时应重新构建并测试本包。

安装

这是一个 DeepSeek Harness 组合包。它不能单独运行;除非你自己把 dsh 放进 PATH,否则系统里没有这个命令。官方入口是 npx @deepseek-ai/dsh。

第一次使用需要:

1. Node.js ^22.19.0 或 >=24
2. PATH 上有 pnpm(corepack enable 即可;dsh plugin 会转发给 pnpm)
3. 然后执行下面的命令。第一次 npx @deepseek-ai/dsh web 也会创建 web profile。

npx @deepseek-ai/dsh plugin --profile web add github:AIMFllyYS/dsh-operating-context#v0.1.0

上面的正式标签是推荐安装目标。仓库已经提交经过审查的预构建 lib/ 产物,安装时不会执行本包代码,也不需要修改 allowBuilds。如果想体验尚未发布的最新源码,可以去掉 #v0.1.0;若要固定某个开发快照,则钉死它的 commit:

npx @deepseek-ai/dsh plugin --profile web add github:AIMFllyYS/dsh-operating-context#

如果是从 DeepSeek Harness 源码 checkout 运行,把上面的 npx @deepseek-ai/dsh 换成 pnpm dsh:

pnpm dsh plugin --profile web add github:AIMFllyYS/dsh-operating-context#v0.1.0

从本插件的 checkout 安装:

pnpm install
pnpm bundle
npx @deepseek-ai/dsh plugin --profile web add .

确认该层已经挂上,再启动 Web UI:

npx @deepseek-ai/dsh --profile web --dump-config # 应出现 "# == dsh-operating-context" 层
npx @deepseek-ai/dsh web # 仍是 3080 端口

安装后打开 设置 → 工作窗口(在「模型」和「插件」之间)。那一页就是这个插件:

设置 → 工作窗口

选一个大小并应用。模型、用量环和官方自动整理会通过设置事件跟着变。退出再重新进入本设置页时,页面会从各路由共同保存的 defaultContextWindow 恢复上次选择;下方仍会如实显示被模型原生上限压低的结果,这些差异不会再让已保存的选择消失。

一次应用可能跨越多个设置命名空间,而 Harness 的写入以单个命名空间为单位,并不是跨命名空间事务。如果前面的批次已经成功、后面的批次失败,页面会明确显示实际完成的批次数,并重新读取权威设置状态;不会把部分写入说成已经回滚,也不会继续展示写入前的旧快照。

卸载:

npx @deepseek-ai/dsh plugin --profile web remove dsh-operating-context

已经写入的值会留在 ~/.dsh/settings.yaml;卸插件不会自动还原。当所选窗口达到目录模型已知的原生上限时,本插件会清掉该模型的容量覆盖,让原生值重新生效。上限未知的路由和显式 models 列表不能这样还原。

如果权威目录已经不存在某个模型,但配置里还留着它的 modelOverrides 条目,适配器会拒绝这个旧条目,并可能导致整条路由不可用。页面会在应用前明确显示将清理多少个这类条目;目录上限未知时绝不会执行这项清理。

安装故障排查

如果旧版本通过 Git 安装时出现 frozen lockfile、autoInstallPeers 或 allowBuilds 报错,不要通过修改使用者 profile 的 pnpm 策略来强行编译那个旧版本。Git 包管理器会把 build、prepare、prepack、preinstall、install 和 postinstall 中任意一个脚本视为“需要在安装前构建”的信号。当前版本已经包含编译好的 lib/,并且没有定义这些 Git 构建触发脚本。

安装前可以在 checkout 中检查:

node -e "const p=require('./package.json'); for (const s of ['build','prepare','prepack','preinstall','install','postinstall']) if (p.scripts?.[s]) process.exit(1)"
test -f lib/index.js && test -f lib/client.js && test -f lib/client.js.map

PowerShell 使用:

$p = Get-Content -Raw package.json | ConvertFrom-Json
foreach ($name in 'build','prepare','prepack','preinstall','install','postinstall') {
if ($p.scripts.$name) { throw "$name must not be present in a Git-distributed package" }
}
Get-Item lib/index.js, lib/client.js, lib/client.js.map

本包的本地 pnpm-workspace.yaml 用于避免单独开发时自动安装可选的 Harness peer;项目开发仍以 pnpm 为准。

它写什么

容量拼写与「模型」页一致:256K = 256000,不是 262144。

写入位置随 profile 的形态而定,因为适配器解析容量的顺序是 entry.contextWindow ?? catalog.contextWindow ?? defaultContextWindow:

| 路由形态 | 写入内容 |
| 目录路由且没有 models 列表 | modelOverrides..contextWindow,外加 defaultContextWindow |
| 任何带 models 列表的路由 | 每一个 models[].contextWindow,外加 defaultContextWindow |
| 手写声明路由 | 只写 defaultContextWindow |

这就是为什么只写 defaultContextWindow 对目录路由没有效果:目录自带的值优先级更高。

上限

模型不会被写成超过它能装下的窗口。上限来自多提供方适配器的内置目录,通过 llm.discoverModels 读取;对目录路由这条调用走本地数据,不发网络、不用凭据。手写声明路由,以及没有注册 discovery 的 llm-deepseek,上限未知,页面会照实说明,而不是猜一个数。

所选窗口已经处在或低于某模型上限时,不写覆盖,并清掉以前写过的覆盖——目录值本来就是对的。这让应用幂等,也让选更大的窗口能恢复原生容量。

供应商兼容性

算法没有供应商名称白名单。OpenCode、Kimi Coding、Anthropic 以及其他 llm-pi-ai 内置目录路由都遵循同一套 Harness 目录契约,统一使用本地目录上限和 defaultContextWindow/modelOverrides 规划;以后 Harness 增加遵循相同契约的目录供应商时,不需要在插件里再写名称分支。

手工声明或私有网关不会在打开本页时被自动探测,因为 discovery 可能访问用户端点并要求凭据。如果路由有显式 models 列表,插件只更新每行的 contextWindow,并保留端点、协议、凭据引用、模型名称、输出上限和未知元数据;没有列表时只写 defaultContextWindow。这类路由的原生上限保持“未知”,界面不会猜测。

完全独立的新 Harness adapter 只有在它公开的设置路由也遵循上述容量结构时才兼容。当前 Harness 目录没有为任意未来 schema 提供通用的容量能力标志,因此插件不能承诺对不公开 defaultContextWindow、models 或目录 discovery 的 adapter 进行模型级限幅。

开发

pnpm install
pnpm typecheck
pnpm test
pnpm bundle
npm pack --dry-run

src/index.ts 是 Host 侧的 loader stub;行为都在客户端 bundle 里。api.ts、capacity.ts、ceiling.ts、plan.ts 是纯逻辑并承担测试;只有 store.ts 和组件会碰到平台模块。

lib/ 是需要提交的分发产物。修改 src/ 后必须重新构建,并在同一个 commit 中包含 lib/index.js、lib/client.js 和 lib/client.js.map。使用者不应再承担任何安装期构建。

发布或推送候选版本前,应执行上述检查。如果改动过构建工具,再连续构建两次,并确认第二次构建后 git status 仍然干净。CSS Modules 的导出映射会主动排序,因此相同源码应生成字节完全一致的客户端产物。
预览分享卡片长什么样 ↓AIMFllyYS/dsh-operating-context
分享 · DeepSeek Harness Hub
AIMFllyYS/dsh-operating-context

把各模型上下文窗口统一限制到实际可用范围

这是你的仓库?认领条目

回到顶部