dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
为 DeepSeek Harness 中的第三方模型设置思考等级:在输入框菜单里选择服务商与模型,在官方模型页卡片上用一个开关控制思考等级,并可配置按路由的请求头。
DSH 的第三方模型补齐思考等级:在官方 Models 页每个模型行注入 Thinking 开关和强度/模态编辑器(插件编辑器所在的行会隐藏官方自带的「推理等级」编辑区,同一个字段只留一份控件),在输入框模型菜单加供应商→模型选择器、视觉徽章与等级行,并带搜索、拖拽排序、供应商启用开关;以及按路由接管请求头与 user-agent。
1.1.4 起不再提供 thinkingTokenBudgetField、vllmPriority、supportsMaxOutputTokens 的专用编辑控件。已有值仍由 DSH 的 pi-ai 适配器使用;修改模型的思考档位或输入模态时,插件会保留这些值和其他手动兼容配置,避免覆盖供应商的定制行为。
需要调整旧值时,先备份当前 profile 的 cordis.patch.yml(位于 DSH 数据目录的 profiles//),找到 llm-pi-ai 对应供应商、模型行的 compat,仅修改或删除所需字段,保存后重新加载该 profile:
thinkingTokenBudgetField:令牌预算的请求字段名,可设为 thinking_token_budget、thinking_budget 或 thinking_budget_tokens。删除后使用默认字段;启用令牌预算的模型在后续适配或保存时可能重新补入 thinking_token_budget。若端点不支持令牌预算,应将 supportsThinkingTokenBudget 设为 false。vllmPriority:删除后不再发送定制的 vLLM 优先级。supportsMaxOutputTokens:删除后恢复适配器默认行为;保留 false 会继续关闭对应输出令牌参数。不要删除整个供应商配置,也不要将包含 API key 的配置文件贴到公开 issue。
同一个供应商可以登记多把密钥,请求进来时按「模型 → 密钥」自动分流:
Retry-After,没有就按「太频繁」60 秒、「额度耗尽」30 分钟、「连接被拒」60 秒推算,重复失败翻倍并封顶),下次请求自动排到健康密钥后面;冷却只是排序,密钥永远不会被真正丢弃——全体都在冷却时仍按原顺序尝试。/models 列表并记录),也可在「模型」里手动填写覆盖。探测按「这把密钥实际会被派到哪些协议/地址」进行,见下节。dsh-model-think-level/key-index.json,只记录引用、别名、模型清单、协议指定与启停状态,绝不保存密钥值(密钥值始终由 DSH 凭据库保管)。有些供应商同一把密钥只在某一种线上协议下可用(例如同一家既有 OpenAI Chat Completions 端点、又有 Anthropic Messages 端点)。插件支持在密钥面板里给每把密钥单独指定协议:
@earendil-works/pi-ai 的对应协议实现。baseURL。baseURL,只由这把密钥签名。把 OpenAI 格式的请求体发到 Anthropic/Gemini 家族的地址只会换来网关的 404/400(模型根本不会被调用),所以宁可不换。这条在每次调用时都重新判定,供应商地址补上后同一个模型立刻换用该协议的密钥。「自动」档同理:某族没有地址就回落到供应商自身的协议。anthropic/、openai/、google/gemini-… 这类前缀或裸名,gemini/gemma 开头的名字属于 Gemini 族)与密钥协议的家族一致者优先,其次是以本密钥自身地址就能直接服务的,再次是不一致但能回落到供应商主地址的,最后是跨族且没有自己地址的。请求会从排第一的密钥的协议开始——切协议意味着换请求体形状,一次只切一把密钥,失败后按此顺序换下一把。gemini model: generateContent / streamGenerateContent,鉴权用 x-goog-api-key)。受 DSH 宿主适配层限制,供应商卡片的「API 协议」下拉里不会有 Gemini;原生访问一律通过「更多端点里的 Gemini 地址行 + 密钥指定 Gemini」完成,供应商自身的协议保持 OpenAI/Anthropic 三选一即可(纯 Gemini 网关可把主地址指向该网关任意可答路径)。https://generativelanguage.googleapis.com/v1beta);只填裸域名时插件会自动补 /v1beta,路径非空则按网关自己的拼写使用。列表探测走原生 GET {地址}/models?pageSize=1000,模型名会剥掉 models/ 前缀,只保留支持 generateContent 的条目。thinkingLevel(Gemini 3 / Gemma 4)或 thinkingBudget(2.5 系);在插件的 Thinking 编辑器里为 gemini 模型声明等级后原生请求即会携带。使用 Node.js ^22.19.0 || >=24。依次运行 npm ci、npm run typecheck、npm test、npm run build、npm run check:package。测试最多并行 4 个 worker,以控制 DOM 测试的内存占用;仍使用 Vitest 默认超时。
check:package 检查 npm 实际打包清单中的入口、截图和声明文件依赖,CI 与发布流程都会执行。类型声明所引用的 DSH 可选 peer 由宿主开发环境提供,不会自动安装额外宿主插件。
更新模型知识表后,可运行 npm run docs:models 生成可查阅的模型列表。node scripts/wire-repro.mjs 使用当前安装的 pi-ai,向本地回显服务发送测试请求,无需供应商凭据。