DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Ask User Timeout — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
A

dsh-ask-user-timeout

Ask User Timeout

Guard plugin for DeepSeek Harness: gives ask_user_question a bounded lifetime so a question nobody renders cannot hang the loop forever

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:yeruizhi/dsh-ask-user-timeout#c1dae1f27bb9c95837a0e2bb99c856e8ccccd32a
READMECompatibilityVersions

Compatibility and provenance

Ask User Timeout is published as dsh-ask-user-timeout and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/15/2026

Versions

0.1.0stable
9/15/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/15/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Acp App@deepseek-ai/dsh-acp-appThe dsh ACP profile bundle: automation-only JSON-RPC stdio and process lifecycle over dsh-baseClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio and its curated slide templates as a native DeepSeek Harness conversation view.

README

dsh-ask-user-timeout

Guard plugin for DeepSeek Harness: gives the model-facing ask_user_question tool a bounded lifetime, so a question that no browser tab renders cannot hang the agent loop forever.

The bug this fixes

When the model calls ask_user_question, the tool call parks the loop until a human answers in the Web UI. The question is rendered only by the live browser composer takeover (ui-user-questions). If no tab is actively showing that session — tab closed, backgrounded overnight, mux connection dropped — nothing renders the question, and nothing ever times it out:

  • the turn stays "in progress" indefinitely (no timeout, no re-notification, no visible error);
  • the only exit is a manual stop, which surfaces a misleading ASK_ABORTED ("aborted before the user answered") even though the question was never shown to anyone.

This plugin wraps ask_user_question's execution with a cooperative deadline (the same deadline() primitive the shipped timeout-policy guard uses). When the deadline wins, the tool returns a structured, model-visible ASK_TIMEOUT result instead of hanging forever — the loop moves on and the model can re-ask or proceed.

Install

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

Restart dsh web, then hard-refresh the browser. The wrapper applies to ask_user_question calls in sessions created after the plugin loads.

Configuration

keydefaultmeaning
timeoutMs600000 (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

How it works

  • Listens on tools/execute (same extension point as the official timeout-policy guard).
  • Only wraps tools named ask_user_question; everything else delegates unchanged.
  • Swaps exec.signal for the fused deadline during dispatch, restores the upstream signal afterwards.
  • On timeout, substitutes a result with error.code = ASK_TIMEOUT; a nested/upstream deadline reads as an ordinary cancel and passes through untouched.
  • Does not change the tool's schema, output shape, or semantics.

Scope

This is a guard plugin, not a fix to the Web UI rendering gap. It stops the hang; the deeper issue (a question nobody renders is never re-notified on tab return / reconnect) is tracked upstream in deepseek-ai/deepseek-harness discussion #2929.

License

MIT