按渠道设置请求标识与超时,失败自动重试并显示进度
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Unended-night/dsh-model-controls该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · model
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 38 处,展示前 34 条)
- 执行外部命令来自配置/变量verification/current-runtime.mjs:14
const result = spawnSync(executable, [file, ...args], { - 写入本地文件verification/install-current.mjs:17
mkdirSync(dir, { recursive: true }) - 写入本地文件verification/install-current.mjs:19
writeFileSync(manifestPath, JSON.stringify({ name: 'model-controls-install-review', private: true, dsh: { profile: { bundles: [] } } })) - 写入本地文件verification/install-current.mjs:20
writeFileSync(join(dir, 'pnpm-workspace.yaml'), 'packages:\n - .\nnodeLinker: hoisted\nautoInstallPeers: false\n') - 写入本地文件verification/install-current.mjs:21
writeFileSync(join(dir, 'cordis.patch.yml'), '[]\n') - 读取本地文件verification/install-current.mjs:30
const manifest = () => JSON.parse(readFileSync(manifestPath, 'utf8')) - 读取本地文件verification/install-current.mjs:48
const pkg = JSON.parse(readFileSync(join(installed, 'package.json'), 'utf8')) - 读取本地文件verification/install-current.mjs:66
assert.match(readFileSync(join(installed, 'lib/client.js'), 'utf8'), /id: 'dsh-model-controls'/) - 读取本地文件verification/install-current.mjs:73
response.end(readFileSync(archive)) - 写入本地文件verification/install-current.mjs:79
writeFileSync(join(dir, 'cordis.patch.yml'), '- id: model-controls\n config:\n maxRetries: 12\n') - 删除本地文件递归verification/install-current.mjs:100
rmSync(temporary, { recursive: true }) - 读取本地文件verification/native.test.mjs:11
const desktopTools = JSON.parse(readFileSync(new URL('./fixtures/tools.json', import.meta.url), 'utf8')) - 读取本地文件verification/native.test.mjs:111
const loaded = JSON.parse(readFileSync(join(temporaryHome, 'logs', 'model-controls', `${new Date().toISOString().slice(0,10)}.jsonl`), 'utf8').trim()) - 删除本地文件递归verification/native.test.mjs:122
rmSync(temporaryHome,{recursive:true}) - 发起网络请求verification/recovery-current.mjs:86
globalThis.fetch = (input, init) => { nativeHeaders = new Headers(init.headers); return compat.fetch(input, init) } - 发起网络请求verification/recovery.test.mjs:191
const response = await compat.fetch('https://models.example.invalid/v1/responses', { method: 'POST', body: '{}', headers: { 'user-agent': 'deepseek-ha - 发起网络请求verification/schema.test.mjs:65
await compat.fetch('https://models.example.invalid/v1/chat/completions', { method: 'POST', body, headers, signal: abort.signal }) - 请求外部主机other.exampleverification/schema.test.mjs:66
await compat.fetch('https://other.example/v1/chat/completions', { method: 'POST', body, headers, signal: abort.signal }) - 发起网络请求verification/schema.test.mjs:66
await compat.fetch('https://other.example/v1/chat/completions', { method: 'POST', body, headers, signal: abort.signal }) - 发起网络请求verification/schema.test.mjs:76
await compat.fetch(url, { method: 'POST', body, headers: { ...headers, 'user-agent': agent } }) - 写入本地文件verification/timeout-current.mjs:91
mkdirSync(new URL('./results/', import.meta.url), { recursive: true }) - 写入本地文件verification/timeout-current.mjs:92
writeFileSync(new URL('./results/timeout-current.json', import.meta.url), JSON.stringify({ electron: process.versions.electron, node: process.version, - 发起网络请求verification/transport.test.mjs:13
await compat.fetch(url, request) - 发起网络请求verification/transport.test.mjs:26
assert.equal(await compat.fetch('https://models.example.invalid/v1/models', { headers }), failure) - 发起网络请求verification/transport.test.mjs:39
await compat.fetch('https://models.example.invalid/v1/messages', request) - 发起网络请求verification/transport.test.mjs:53
await compat.fetch(url, init) - 发起网络请求verification/transport.test.mjs:57
await disabled.fetch('https://models.example.invalid/v1/messages', request) - 发起网络请求verification/transport.test.mjs:74
const result = await compat.fetch(new Request('https://models.example.invalid/v1/v1/messages', { ...request, body: '{"text":"中文"}', signal: abort.sign - 发起网络请求verification/user-agent.test.mjs:14
const response = await compat.fetch('https://models.example.invalid/v1/responses', { method: 'POST', body: '{}', headers: original }) - 发起网络请求verification/user-agent.test.mjs:40
await compat.fetch('https://models.example.invalid/v1/models', init) - 发起网络请求verification/user-agent.test.mjs:42
await compat.fetch('https://models.example.invalid/v1/models', init) - 发起网络请求verification/user-agent.test.mjs:44
await compat.fetch('https://models.example.invalid/v1/models', init) - 发起网络请求verification/user-agent.test.mjs:45
await compat.fetch('https://example.org/article', init) - 发起网络请求verification/user-agent.test.mjs:46
await compat.fetch('https://models.example.invalid/v1/models', { headers: { 'user-agent': 'web-tool' } })
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
涉及外部主机:other.example
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-pi-ai@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
按服务商分别设置 User-Agent 和流超时,重试过程可见,DeepSeek Harness 可选续写。
README
由 DeepSeek 最新模型翻译生成模型请求控制 · Model Request Controls
为 DeepSeek Harness 提供按渠道的请求设置,以及可见的失败重试控制。你可以为每个渠道单独选择 User-Agent、调整流空闲超时,并决定请求失败后重试多少次、等待多久,以及是否自动发送继续消息。
下载插件 · 版本发布 · 使用说明
功能
| 功能 | 可以做什么 |
| 渠道请求设置 | 为不同模型渠道分别选择 User-Agent 和流空闲超时,互不影响 |
| 可见重试 | 设置额外重试次数和等待间隔,在消息页查看实际进度 |
| 不限次数 | 持续重试,直到成功或手动停止 |
| 自动继续 | 重试耗尽后发送可见的继续消息,自定义正文、等待时间和次数上限 |
User-Agent 可选 原生(默认)、Claude Code、Codex、pi、自定义。预设只改变 User-Agent 标识,模型、接口协议和认证仍使用你在 Harness 中的配置。
安装
1. 打开 Harness 的插件管理页面,进入安装入口。
2. 粘贴下面的安装链接,安装并启用插件。
3. 重启 Harness,打开 设置 → 模型请求控制。
展开完整文档(README 剩余 1 节)
模型请求控制 · Model Request Controls 为 DeepSeek Harness 提供按渠道的请求设置,以及可见的失败重试控制。你可以为每个渠道单独选择 User-Agent、调整流空闲超时,并决定请求失败后重试多少次、等待多久,以及是否自动发送继续消息。 下载插件 · 版本发布 · 使用说明 功能 | 功能 | 可以做什么 | | 渠道请求设置 | 为不同模型渠道分别选择 User-Agent 和流空闲超时,互不影响 | | 可见重试 | 设置额外重试次数和等待间隔,在消息页查看实际进度 | | 不限次数 | 持续重试,直到成功或手动停止 | | 自动继续 | 重试耗尽后发送可见的继续消息,自定义正文、等待时间和次数上限 | User-Agent 可选 原生(默认)、Claude Code、Codex、pi、自定义。预设只改变 User-Agent 标识,模型、接口协议和认证仍使用你在 Harness 中的配置。 安装 1. 打开 Harness 的插件管理页面,进入安装入口。 2. 粘贴下面的安装链接,安装并启用插件。 3. 重启 Harness,打开 设置 → 模型请求控制。 https://github.com/Unended-night/dsh-model-controls/releases/download/v4.0.0/dsh-model-controls-4.0.0.tgz 也可以先下载 .tgz 文件,再用文件的完整路径安装。请选择 Release 中的插件安装包;Source code ZIP 用于获取源码。 查看更新与卸载说明 使用 按渠道配置 在上方的「渠道请求配置」中选择已有模型渠道,设置 User-Agent 和 流空闲超时,然后点击 保存渠道配置。每个渠道单独保存;切换渠道不会自动保存未提交的修改。 流空闲超时表示连续多久没有收到有效输出时结束等待。未调整过的渠道默认为 300 秒;例如改为 600,就允许模型连续 10 分钟没有有效输出。它控制的是输出间隔,不是整次请求的总时长。 配置失败处理 在下方选择恢复模式,设置参数后点击 保存全局配置。这些重试和自动继续设置对所有渠道生效。 - 连续重试:默认额外重试 5 次,每次等待 2 秒。例如设为 20 次,消息页会显示 1/20、2/20 等进度。首次请求不计入重试次数。 - 不限重试次数:持续尝试,直到成功或手动停止;开启后,次数上限暂不生效。 - 重试耗尽后发送继续消息:先执行设定次数的重试;仍失败时,再发送你填写的继续消息,并受自动继续次数上限约束。 总开关控制 User-Agent 修改、重试与自动继续。流空闲超时独立生效。手动停止不会触发自动继续。 配置生效 平时保存配置无需重启;首次安装或更新插件后重启一次。 User-Agent 用于保存后的下一次请求,流空闲超时用于后续新模型调用。重试次数与间隔在下一次失败判定时读取;已经开始的等待不会重新计时。保存设置不会重新启动已经失败结束的任务。 使用范围 已在 Windows 的 DeepSeek Harness 0.2.1-rc.2 上验证,覆盖 OpenAI Chat Completions、OpenAI Responses 和 Anthropic Messages。当前设置界面为中文;其他系统上的实际 Harness 使用尚未验证。 重试与自动继续可能增加请求量和费用,也无法解决无效密钥或额度不足。插件不发送遥测;反馈问题时请勿附带 API Key 或完整聊天内容。 问题反馈 · 安全报告 · 贡献指南 · MIT 许可证
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Unended-night/dsh-model-controls
按渠道设置请求标识与超时,失败自动重试并显示进度
相关插件 · 模型接入
API 中继安全审计toby-bridges/api-relay-audit
面向 AI API 中转与 LLM 代理的本地安全审计。
★ 897已汉化DSH
69.4
免费搜索插件DDDMUC/dsh-free-search
DeepSeek Harness 免费搜索插件 —— 无需 API key,零成本,多引擎可切换。 一个给…
★ 761已汉化DSH
68.7
免费联网搜索liustack/modsearch
在官方 App 里模型能联网,切到 API 就不能了。ModSearch 把联网补回来:网页搜索、X…
★ 863已汉化DSH
68.5
OpenCode 免费模型FishBottle7/opencode2dsh
在 DSHDeepSeek Harness里原生使用 OpenCode Zen 的免费匿名模型。
★ 379已汉化DSH
67.8
AI 模型网关tingly-dev/tingly-box
Tingly Box Web UI 演示
★ 373已汉化DSH
67.4
WorkBuddy 账号池XDTrees/dsh-xdpool
把你能白嫖的模型额度接进 DSH 同一个池:WorkBuddy 多账号自动容错、十三家扫码登录、76…
★ 359已汉化DSH
67.1