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

模型请求控制 Unended-night/dsh-model-controls

DeepSeek Harness
Unended-night8 天前有提交已提供中文文档扫描:含敏感能力

按渠道设置请求标识与超时,失败自动重试并显示进度

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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 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.example
    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: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 许可证
预览分享卡片长什么样 ↓Unended-night/dsh-model-controls
分享 · DeepSeek Harness Hub
Unended-night/dsh-model-controls

按渠道设置请求标识与超时,失败自动重试并显示进度

回到顶部