dsh-session-robustness

DSH PLUGIN浏览器与联网

仓库 bainianlaoyao/dsh-session-robustness · npm dsh-session-robustness

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

为 DeepSeek Harness 提供会话级鲁棒重试:官方 5 次重试耗尽后,对超时、限流、5xx、SSE 断流等瞬时失败在同一 step 上继续重试,直到成功、取消或暂停。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-09-13 创建于 2026-09-07
README 6.8 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add [email protected]
兼容 DSH 版本0.2.0-rc.2 等 8 个版本版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/schemastery@*需要同时安装的同级依赖
npm 包名dsh-session-robustness可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-session-robustness:DeepSeek Harness 会话瞬时失败续跑插件

  • 官方 5 次后继续重试
  • 同一 step 重跑不污染历史
  • 指数退避加抖动
  • 永久错误永不重试
  • 设置页可暂停或关闭

上游标签

deepseek-harnessdsh-pluginretry

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
  • L4.4_RESOLVED_ARTIFACT 安装版本已解析 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方bainianlaoyao仓库 dsh-session-robustness · 默认分支 main
分类浏览器与联网network
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-09-07 · 2026-09-13最后推送 2026-09-13
本站收录2026-09-08首次进入本站目录的时间

README 全文

6.8 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-robustness

工程级会话鲁棒:当一次 turn 的模型请求因 超时 / 传输 / 限流 / 5xx / 空响应 / SSE 断流 失败时,不要在官方默认的「再试五次」之后把会话掐死,而是 继续重试直到成功、你取消、或你暂停。

这不是客户端发「继续」续跑,也不是换模型。它接在官方 dsh-llm-retry 后面,在同一个打开的 step 上重跑同一条请求。

为什么需要它

DSH 已经有官方重试执行器 @deepseek-ai/dsh-llm-retry:

  • 挂在 host 组合里(dsh-base 已启用)
  • 策略写在每个 provider 的 retryPolicy 上
  • 省略时是 mode: normal,默认 maxRetries = 5
  • 合格 code:EMPTY_RESPONSE / RATE_LIMIT / SERVER / TIMEOUT / TRANSPORT(官方);本插件额外无条件覆盖 STREAM_CLOSED / MALFORMED_RESPONSE / STREAM / HTTP_408 / HTTP_409 / HTTP_425 / HTTP_429 / HTTP_499 / HTTP_5xx

所以一次 TIMEOUT 通常是:界面「已重试模型请求 (n/5)」,5/5 之后 agent/request-error 不再返回 { kind: 'retry' },loop 把失败当成终态,turn 结束。

官方也有 retryPolicy.mode: always(无次数上限、连 AUTH/QUOTA 也会一直重)。本插件 不走那条路:永久错误等也没用,无限重试会把会话挂死并烧钱。本插件只覆盖瞬时 API 失败。

行为

adapter 流失败
→ agent/request-error waterfall
→ compaction(只处理 CONTEXT_WINDOW_EXCEEDED)
→ dsh-llm-retry(normal:合格 code 最多 5 次)
→ 本插件(官方预算耗尽后,瞬时失败继续重试)
  • 每次重试都在 同一个打开的 turn / 同一个 step 上重跑,失败分片不会进入模型可见历史
  • 退避:指数 + 抖动;提供方 Retry-After 在上限内优先
  • 用户点 Stop / 取消 turn:立即停止
  • 设置页可暂停 / 关闭,不必卸插件
  • 父会话和 in-process 子 agent 共用 host 上的 agent/request-error waterfall,都会接管。进程外 / ACP 子 agent 不会。

永不重试:AUTH、MISSING_CREDENTIAL、INVALID_CREDENTIAL、QUOTA、CONTEXT_WINDOW_EXCEEDED、NO_ADAPTER、ABORTED。上下文溢出仍交给官方 compaction。用户 Stop 不会被重试。

0.1.3 起,能进 agent/request-error 的网络失败一律无条件重试,不再依赖文案:SSE 对端关闭(STREAM_CLOSED,例如 ended without [DONE])、半截 JSON(MALFORMED_RESPONSE)、Responses 未识别流失败(STREAM)、HTTP 408/409/425/429/499/5xx。0.1.5 起还包括适配器原样透传的 stream_read_error,以及网关文案 Upstream request failed(pi-ai 常落成 PI_AI_ERROR)。PI_AI_ERROR / UNKNOWN / 未知码仍用文案启发式(Codex overloaded、Upstream request failed 等)。HTTP_400 / INVALID_REQUEST / CONTENT_FILTER 仍不重试。

进不了 waterfall 的失败本插件也接不到:prepareCall 抛错、标题/摘要走的 ctx.llm.stream()、工具调用失败。

0.1.6 起,只对 openai-codex:流失败后丢掉该会话的 WebSocket 续写(previous_response_id)。pi-ai 的 websocket-cached / auto 会把失败流上的 response.id 当成续写锚点,API 已经恢复也会一直钉在那个不完整的响应上。官方那 5 次重试也会清(只观察 llm/stream,不在流内重试)。成功回合的续写保留;服务端 prompt cache 和会话历史不受影响。其它 provider 不动。

Codex overloaded 为什么也要覆盖

openai-codex 走 pi-ai。上游 SSE 事件 error / response.failed 会变成:

Codex error: Our servers are currently overloaded. Please try again later.

pi-ai 的 classifyPiAiError() 只认 HTTP 状态码和少数关键词,不认 overloaded,于是失败码落成兜底的 PI_AI_ERROR。官方 dsh-llm-retry 只重试那 5 个标准码,本插件原先也只看码表,所以这条瞬时失败会直接变成「本轮运行失败」。

0.1.2 起:PI_AI_ERROR / UNKNOWN 若文案明显是瞬时故障(overloaded、try again later、service unavailable 等),也会继续重试。AUTH / QUOTA 等永久码仍优先,即使文案里写了 try again。

安装

dsh plugin --profile web add dsh-session-robustness

或从 GitHub:

dsh plugin --profile web add github:bainianlaoyao/dsh-session-robustness

包声明了 dsh.bundle.patch + dsh.client。安装后重启 web profile,设置页会出现 会话鲁棒性。

本地开发(本仓库):

dsh plugin --profile web add D:/Data/DEV/dsh/dsh-session-robustness

使用

  1. 打开 设置 → 会话鲁棒性
  2. 默认已启用、次数上限 0(无限)
  3. 官方还在重试时,聊天里是「已重试模型请求 (n/5)」——这时还没轮到本插件
  4. 5/5 之后 composer 上方会出现「官方 5 次已用完,正在接管第 N 次」,可当场暂停
  5. 需要硬上限时把「次数上限」改成正整数(这是 官方 5 次之后 的额外次数)

也可直接写 $DSH_HOME/settings.yaml:

session-robustness:
enabled: true
paused: false
maxRetries: 0          # 0 = 无限(官方 5 次之后)
initialDelayMs: 1000
maxDelayMs: 30000
jitterRatio: 0.2
extraRetryableCodes: [] # 例如 INVALID_REQUEST;永久错误仍会被拒绝

不是什么

  • 不是 dsh-client-auto-retry:那个在 turn 已经结束 后自动发「继续」
  • 不是 retryPolicy.mode: always:那个会重试 AUTH/QUOTA
  • 不是改官方 npm 包:升级不会被覆盖
  • 不包装 ctx.llm.stream():原始流无法持久区分已发出的分片

卸载

dsh plugin --profile web remove dsh-session-robustness

设置里的 session-robustness 段会留在 $DSH_HOME/settings.yaml;不需要了就手动删。

开发与测试

npm test   # 静态冒烟:waterfall 接管、永不重试码、HTTP JSON 桥

相关插件

同一作者的其它 dsh 插件,均已收录于 dsh 插件市场:

  • dsh-codex-mode —— 面向 GPT 系模型的 Codex 形状编码预设:exec_command / write_stdin / apply_patch / view_image、OpenAI Chat Completions 与 Responses 两条路由,外加图形化子代理类型。
  • dsh-llm-api-pool —— 聚合多个 OpenAI 兼容 API key,按余额热切换。
  • dsh-bash-on-windows —— 让 Git Bash 成为 Windows 上唯一且名副其实的终端工具。
  • dsh-easy-archive —— 工作区侧边栏行内两步归档会话。

License

MIT

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-robustness 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add [email protected]` 即可。对应的 npm 包名是 `dsh-session-robustness`。

dsh-session-robustness 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-robustness 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-session-robustness 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-rc.1、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。

dsh-session-robustness 需要什么运行环境?

Node.js >=20;需要同时安装 @deepseek-ai/schemastery@*。环境不满足时安装会失败,建议先确认本机版本。

dsh-session-robustness 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-session-robustness 有哪些功能?

官方 5 次后继续重试、同一 step 重跑不污染历史、指数退避加抖动、永久错误永不重试、设置页可暂停或关闭。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

bainianlaoyao 的其它插件

4 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。