Introduction

In DeepSeek Harness (DSH) development, agents often confidently build the wrong thing because the input information is insufficient. Without the Ask First plugin, agents choose users, information levels, permissions, and success criteria by luck. Ask First uses DSH’s native question dialog and an adaptive product discovery loop to solve this problem. It checks existing repositories and product state, interviews users only on decisions that evidence cannot resolve, and displays a concise requirements summary for confirmation before substantive work begins.

What It Is

dsh-ask-first is a client plugin maintained by 1052326311. It addresses the problem of agents blindly executing when explicit requirement details are absent. It prevents agents from building the wrong thing by using DSH’s native dialog to interview, asking only when substantial ambiguity exists, displaying a concise requirements summary, and allowing low-risk requests to run directly.

Core Features

  1. Uses DSH’s native question dialog (ask_user_question).
  2. Adaptive product discovery, asking only when substantial ambiguity exists.
  3. Displays a concise requirements summary for confirmation before substantive work begins.
  4. Low-risk requests run directly without an interview.
  5. Integrates with DSH plan mode via exit_plan_mode.

Installation and Configuration

Install the plugin:

dsh plugin --profile default add dsh-ask-first@0.1.1

Configuration options (must be redeclared when overriding):

Setting Default Meaning
mode adaptive adaptive asks only on substantial ambiguity; thorough interviews all substantive work; on-demand activates only when requested.
maxQuestionsPerRound 3 Maximum number of questions per native dialog round (1 to 3).
confirmBrief true Displays the final summary for approval before substantive execution.
briefMaxChars 12000 Maximum summary size accepted by the confirmation tool (1000 to 30000 characters).

Typical Usage

After installation, the agent automatically runs in adaptive mode.

  1. Normal request:
   Make a lightweight CRM for my sales team.
  1. Explicitly request an interview:
   Interview me before you design this. Do not assume the workflow.
  1. Explicitly skip the interview:
   This is a tiny reversible change. Proceed without an interview.

Use Cases and Notes

  1. Requires a DSH interface with an active UserQuestionProvider (provided by the web application).
  2. Runtime-owned subagents cannot directly ask humans (they must return to the root agent).
  3. A pending native question blocks the corresponding tool call until it is answered or canceled.
  4. The adaptive interview strategy is model-guided guidance, not a hard guard.
  5. The minimal preset does not include ask_user_question.

Conclusion

dsh-ask-first helps developers control the execution path of agents by introducing an adaptive interview mechanism and requirement confirmation. See the community catalog or GitHub repository for more details.