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

提问超时守卫 yeruizhi/dsh-ask-user-timeout

DeepSeek Harness
yeruizhi49 天前有提交已提供中文文档扫描:未发现敏感能力

为提问工具设截止时间,避免智能体无限挂起

25.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add yeruizhi/dsh-ask-user-timeout
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 49 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-timeout@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的防护插件:给 ask_user_question 加上生命周期上限,避免没有标签页渲染问题时无限挂起

README

由 DeepSeek 最新模型翻译生成
dsh-ask-user-timeout DeepSeek Harness 的守卫插件:给面向模型的 ask_user_question 工具加上有界生命周期,这样即使没有任何浏览器标签页渲染问题,智能体循环也不会永远卡住。 修复的 bug 模型调用 ask_user_question 时,工具调用会挂起循环,直到有人在 Web UI 里作答。问题只由浏览器里实时接管输入框的组件(ui-user-questions)渲染。如果没有标签页正在显示该会话——标签页关了、后台挂了一夜、mux 连接断了——就没有任何东西渲染问题,也没有任何东西给它设超时: - 该轮次永远停在「进行中」(没有超时、没有重新通知、没有可见错误); - 唯一的出口是手动停止,而它会抛出一个误导性的 ASK_ABORTED(「用户作答前已中止」),尽管问题从未展示给任何人。 本插件用协作式截止时间包装 ask_user_question 的执行(与内置 timeout-policy 守卫用的是同一个 deadline() 原语)。截止时间先到,工具就返回结构化的、模型可见的 ASK_TIMEOUT 结果,而不是永远挂起——循环继续推进,模型可以重新提问或继续往下走。
展开完整文档(README 剩余 1 节)
dsh-ask-user-timeout

DeepSeek Harness 的守卫插件:给面向模型的 ask_user_question 工具加上有界生命周期,这样即使没有任何浏览器标签页渲染问题,智能体循环也不会永远卡住。

修复的 bug

模型调用 ask_user_question 时,工具调用会挂起循环,直到有人在 Web UI 里作答。问题只由浏览器里实时接管输入框的组件(ui-user-questions)渲染。如果没有标签页正在显示该会话——标签页关了、后台挂了一夜、mux 连接断了——就没有任何东西渲染问题,也没有任何东西给它设超时:

- 该轮次永远停在「进行中」(没有超时、没有重新通知、没有可见错误);
- 唯一的出口是手动停止,而它会抛出一个误导性的 ASK_ABORTED(「用户作答前已中止」),尽管问题从未展示给任何人。

本插件用协作式截止时间包装 ask_user_question 的执行(与内置 timeout-policy 守卫用的是同一个 deadline() 原语)。截止时间先到,工具就返回结构化的、模型可见的 ASK_TIMEOUT 结果,而不是永远挂起——循环继续推进,模型可以重新提问或继续往下走。

安装

public GitHub install (works without an npm account)
dsh plugin --profile web add git+https://github.com/yeruizhi/dsh-ask-user-timeout.git

重启 dsh web,然后硬刷新浏览器。包装只对插件加载后创建的会话里的 ask_user_question 调用生效。

配置

| key | default | meaning |
| timeoutMs | 600000 (10 min) | how long a pending ask_user_question may wait before it times out |

~/.dsh/profiles/web/cordis.patch.yml
- insert:
- id: ask-user-timeout
name: 'dsh-ask-user-timeout'
config:
timeoutMs: 300000

工作原理

- 监听 tools/execute(与官方 timeout-policy 守卫同一个扩展点)。
- 只包装名为 ask_user_question 的工具;其他工具原样透传。
- 分发期间把 exec.signal 换成融合后的截止时间,之后恢复上游 signal。
- 超时时,替换为 error.code = ASK_TIMEOUT 的结果;嵌套的或上游的截止时间按普通取消处理,原样透传。
- 不改变工具的 schema、输出结构或语义。

范围

这是守卫插件,不是对 Web UI 渲染缺口的修复。它只止住挂起;更深层的问题(没人渲染的问题在标签页回来或重连时不会重新通知)在上游 deepseek-ai/deepseek-harness discussion #2929 跟踪。

许可证

MIT
预览分享卡片长什么样 ↓yeruizhi/dsh-ask-user-timeout
分享 · DeepSeek Harness Hub
yeruizhi/dsh-ask-user-timeout

为提问工具设截止时间,避免智能体无限挂起

这是你的仓库?认领条目

回到顶部