READMESource: main@62754b58
dsh-request-manager
中文 | English
管理 DeepSeek Harness 的 LLM API 请求策略,修改默认的请求行为策略。
插件在会话区顶部加入了「请求管理」按钮,点击打开「请求管理面板」。所有设置全局生效、跨会话共享,无需独立开关——每个功能由其配置值决定是否介入。

功能
请求额外间隔
在每个 API 请求之间插入额外的延时(毫秒)。各会话的首个请求不等待,自动与手动重试同样生效;0 = 不介入。
重试次数
修改默认 API 请求失败后的自动重试次数(provider 默认 2 次),留空 = 不覆盖。某些类型的 API 请求失败 DSH 默认不会重试(例如 SSE stream ended without [DONE]、NETWORK ERROR 等),本选项不影响这类失败的重试策略。
拦截「请求失败」
在 API 请求失败后,弹出浮窗,决定重试还是放弃:
- 🔁 重试:原地重发同一请求(仍受额外间隔约束);若再次失败会再次弹出,可反复重试。
- 🚩 放弃:按 DSH 原生路径终结该轮。
本选项对 DSH 默认不会重试的失败同样统一生效。挂起 10 分钟无决议将自动放弃;点击停止或销毁会话会立即放行。
安装方法
dsh plugin --profile web add github:tree-func/dsh-request-manager
安装后重启 DSH 进程生效。
卸载方法
dsh plugin --profile web remove dsh-request-manager
架构
单包 bundle 插件,host 与 client 两半:
dsh-request-manager/
├── package.json # dsh.bundle.patch + dsh.client.platform: web 声明
├── cordis.patch.yml # 在 profile root 层插入本 bundle
├── index.js # host 半边
└── client.js # 浏览器半边
- host(index.js):以 bundle 形式挂在 web profile 根层,在 root 层监听所有会话的
agent/request(插入额外间隔)与agent/request-error(重试次数覆盖、拦截挂起)事件;并注册/reqmgr-api常驻路由,供浏览器读写全局配置、提交拦截决议。 - client(client.js):经官方 ModuleLoader 加载,向
conversation.session.header.utilities槽位注册「请求管理」按钮与下拉面板;每秒轮询拦截挂起状态,样式全部使用--dsw-*语义令牌以适配浅色/深色主题。
本地化
界面文案经官方 locale 服务注册词典(命名空间 requestManager),跟随 DSH 语言设置在中英文间自动切换。
构建方法
本插件为纯 JavaScript,源码即产物,无需构建步骤:
npm test # 语法校验(node --check index.js && node --check client.js)
开发期迭代:修改 client.js 后刷新浏览器页面即可;修改 index.js 需重启 DSH 进程。
No comments yet. Be the first to write one.