DSH Plugins
返回列表
🧩

dsh-ask-user-timeout

admin-security 更新于 2026.09.15

在终端中运行以下命令:

dsh plugin install yeruizhi/dsh-ask-user-timeout

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在终端中执行 dsh plugin install yeruizhi/dsh-ask-user-timeout,重启 dsh web 后插件即生效,源码托管于 https://github.com/yeruizhi/dsh-ask-user-timeout 。

插件介绍

When the model calls ask_user_question in DeepSeek Harness, the agent loop parks until a human answers in the Web UI. That rendering is exclusively handled by the live browser composer takeover. If no tab is actively displaying the session—closed, backgrounded overnight, or the mux connection dropped—nothing renders the question and nothing ever times it out. The turn stays marked "in progress" indefinitely, and the only escape is a manual stop that surfaces a misleading ASK_ABORTED even though the question was never shown to anyone.

dsh-ask-user-timeout is a narrow guard for exactly this gap. It reuses the same deadline() primitive the official timeout-policy guard relies on, injecting a cooperative deadline (default 10 minutes) around ask_user_question execution. When the deadline wins, the tool returns a structured ASK_TIMEOUT result instead of hanging, allowing the loop to proceed and the model to re-ask or move on. The wrapper hooks into the tools/execute extension point, targets only ask_user_question by name, delegates every other tool unchanged, and modifies neither the tool schema, output shape, nor semantics.

If you run Harness in environments where a browser tab is not guaranteed to stay connected—background or headless tasks, overnight sessions, flaky remote links—or simply want a safety net so a single unanswered question cannot lock the agent loop forever, this plugin is the minimal guard designed for that job.

使用场景

  • 浏览器标签页关闭或断连后,ask_user_question 无人应答导致代理循环卡死
  • 后台或无头任务中模型发起提问,长时间无浏览器交互
  • 过夜会话中连接丢失,问题永远不会被渲染且无超时机制

适合人员

  • 需要后台或无头模式运行 Harness 且浏览器标签页不保证在线的开发者
  • 担心单次未答提问锁定代理循环、希望有安全兜底的运维用户
  • 在远程或网络不稳定环境下使用 DeepSeek Harness 的团队