🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

zpis666/dsh-context-budget

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
未验证

在 DSH Web 的 设置 → 模型 页面,为每个 pi-ai 提供方路由加一组「上下文窗口 / 压缩阈值 /…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/9 · 已提供中文文档

在 DSH 模型设置页为每个 pi-ai 路由配置上下文窗口、压缩阈值与保留预算,并在输入框右下角按厂商提供思考强度选择器。 · Per-route context window, compaction threshold, and vendor-aware thinking-effort controls for DSH models.

综合分
28.7
GitHub 分
28.7
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zpis666/dsh-context-budget
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 16 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-settings@deepseek-ai/schemastery
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-context-budget

在 DSH Web 的 设置 → 模型 页面,为每个 pi-ai 提供方路由加一组「上下文窗口 / 压缩阈值 / 保留预算」输入框。填一次,窗口和压缩时机就按你写的绝对 token 数生效,不需要重启。

它解决什么

接入第三方网关时,路由常常是手工声明的(自己写 api + baseURL + models)。这类路由的模型 id 往往匹配不到 pi-ai 内置目录——例如 my-gateway 下的 grok-4.6 与目录里的 x-ai/grok-4.6 并不是同一条路由——于是适配器的容量解析走到最后一级回退 defaultContextWindow,也就是 262144。而压缩后端只接受一个比例 thresholdRatio,无法直接表达「到 600k 就压缩」。

本插件把这两件事变成两个输入框:

| 字段 | 写入位置 | 效果 |
|---|---|---|
| 上下文窗口 | llm-pi-ai 设置的 providers..defaultContextWindow | 该路由下未被自身条目和内置目录描述的模型,容量立即变为你填的值 |
| 压缩阈值 | profile 的 cordis.patch.yml 中 compaction-basic 的 modelPolicies[].thresholdRatio | 后端计算 floor(上下文窗口 × 比例),即你要的绝对阈值 |
| 保留预算(可选) | 同上,modelPolicies[].retainTokens | 压缩时逐字保留的近期上下文;留空沿用后端默认 16% 比例 |
| 思考强度 | llm-pi-ai 设置的 providers..models[].reasoningEfforts | 输入框右下角的选择器按厂商识别等级,选中的等级随请求发给模型 |

压缩阈值按 阈值 / 窗口 换算成比例写入,所以之后你再改窗口,阈值比例会按新窗口重新换算——改窗口后请重新点一次「应用」,让比例跟着更新。

思考强度(输入框右下角)

手工声明的路由没有目录条目,适配器因此把它的模型当作非推理模型——模型选择器里只会显示「当前模型未提供推理等级」。本插件把强度调节放在输入框右下角,紧挨模型选择器,不占用配置卡片:

- 读取当前会话的模型,先看目录里该模型是否已经声明过等级,有就直接用;
- 没有声明时,按模型 id 识别厂商,取该厂商的等级档案;
- 选择某个等级时,若该模型尚未声明,插件先把档案写进 models[i].reasoningEfforts,再切换会话强度——否则适配器会因「模型不支持该等级」拒绝这次选择。

内置厂商档案,按模型 id 匹配、第一个命中的生效:

| 厂商 | 匹配 | 等级 |
|---|---|---|
| xAI | grok | off low high max |
| OpenAI | gpt / chatgpt / o1…o9 | minimal low medium high |
| Anthropic | claude | low medium high |
| DeepSeek | deepseek | off high |
| Google | gemini / gemma | minimal low medium high |
| Qwen | qwen | off low medium high |
| Z.ai | glm / z-ai | off high |
| Moonshot | kimi / moonshot | off high |
| MiniMax | minimax | off low medium high |

发出去的 wire 值就是等级名本身(openai-completions 发 reasoning_effort,openai-responses 发 reasoning.effort)。网关用别的拼写时,改 settings.yaml 里对应模型 reasoningEfforts 的右侧值即可,选择器里显示的名字不受影响。

选中的等级会被持久记录在会话日志的 request/header 中,并随请求发给模型。

为什么不用替换压缩引擎

compaction-basic 的阈值公式是 thresholdTokens = floor(contextWindow × thresholdRatio),而 contextWindow 在每一次 agent/pre-step 都会通过 llm.resolveModelInfo() 重新解析。因此只写比例就够了:官方引擎的持久事务、回放复用与溢出恢复全部保留,本插件只提供它本来就接受的两个数字。

安装

dsh plugin --profile web add dsh-context-budget

重启一次 dsh web,然后打开 设置 → 模型,展开任意 pi-ai 提供方的编辑卡片,「上下文预算」区就在卡片内。

写入成功后 profile 的 patch 监视器(patchReload: live)会在约 1 秒内重新组合,无需再次重启。

字段校验

写入前会在宿主端校验,不合法直接拒绝并给出原因:

- 上下文窗口、压缩阈值必须是正整数;
- 压缩阈值必须小于上下文窗口;
- 换算后的比例必须落在 (0, 1),且大于 compaction-basic 的默认保留比例 0.16——否则后端会在加载时拒绝该配置;
- 若填写了保留预算,它必须小于压缩阈值;
- 路由下必须能枚举到至少一个模型 id(modelPolicies 需要精确的 provider/model 对)。

安全写入

cordis.patch.yml 是你自己的配置层,插件只碰自己写的那一段:

- 写入的是一个带标记的受管块,其余行(含注释和别人的补丁行)原样保留;
- 写入前先备份到 cordis.patch.yml.contextbudget.bak;
- 写入后重新解析并核对每一条 provider/model 是否落盘,失败立即回滚原文;
- 如果文件里已经存在手工编写的 - id: compaction-basic 行,插件会拒绝写入并告诉你行号,而不是覆盖你的配置。

已知边界

- 只对 llm-pi-ai 路由生效;llm-deepseek 的模型目录编辑在官方页面里已经能改 contextWindow。
- defaultContextWindow 是回退值,不会覆盖模型条目里已经显式写过的 contextWindow,也不会覆盖内置目录已描述的模型。对纯目录路由(models 省略)请改用逐模型填写。
- 窗口值必须与网关真实能力一致。填得比网关大,请求会以 CONTEXT_WINDOW_EXCEEDED 失败,然后靠溢出恢复多花一次摘要请求。
- 输出上限 maxTokens 不在本插件的字段里,默认 32768;窗口设 1M 时实际可用输入约 968k。
- 压缩本身要额外发起一次摘要请求,阈值调得越低,摘要越频繁。

卸载与回滚

dsh plugin --profile web remove dsh-context-budget

卸载只会移除插件本身。它写下的两处内容需要你自行决定:

- llm-pi-ai 设置里的 defaultContextWindow —— 想恢复 262144 就删掉该字段;
- cordis.patch.yml 里 # dsh-context-budget managed block 标记的那一段 —— 整段删掉即可,其余内容不受影响。

每次写入前都会留一份 cordis.patch.yml.contextbudget.bak,可直接用来比对或还原。

开发

node --check lib/index.js
node --check client.js
node test/pure.test.mjs          # 校验规则 + 受管块写入/回滚
node test/integration.test.mjs   # apply() 注册与 patch 路径解析
node test/apply.test.mjs         # 完整写入流程(mock 上下文)
node test/client.test.mjs        # 客户端插槽注册与卡片渲染

两组测试都不需要运行中的 Harness。

许可

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群