Introduction

The plugin mechanism of DeepSeek Harness (DSH) allows adding extended capabilities to workflows. dsh-plugin-clarify (hereinafter referred to as Clarify) is a third-party Host plugin maintained by Hilbert-beinghappy, used to handle the “unclear requirements” stage before formally sending messages: it binds the current real Session, reads the user draft and the context visible to the model, and generates a pending Draft by asking clarifying questions one by one. Sending is still decided by the user; the clarification questions themselves do not enter the main Session transcript. Below is an introduction to its capabilities, installation method, and usage.

What is it

Positioning

Clarify is a DeepSeek Harness Host plugin, licensed under MIT. It focuses on the clarification state machine and Draft generation; real model calls are executed by the in-process Auxiliary Runtime and metered separately.

Relation to /plan

Clarify produces a user requirement draft, while Plan produces an implementation plan. The recommended path is to use /clarify to clarify requirements and adopt the Draft first, review it, and send it, and then run /plan if necessary.

Core Functions

Clarification Process

The workflow of Clarify is as follows:

  1. Bind the current real Session, read the user draft and the context visible to the model.
  2. Generate Socratic questions, context-relevant options, subsequent branches, and live Draft preview along the current model routing.
  3. With every answer from the user, subsequent states and the preview draft absorb the confirmed decisions.
  4. You can still continue to ask questions, refine, accept the Draft, or end the clarification.
  5. After clarification is complete, freeze the current preview and return the pending Draft.
  6. In SeekTTY, this Draft is written back to the normal input box for the user to edit and decide whether to send.

Remote Interface

Clarify provides six methods in the Typert Remote namespace clarify:

Method Purpose
start Bind an existing Session and optional seed, create a temporary clarification process
answer Submit options or custom answers, generate the next question and new preview
refine Rewrite the current preview based on one-time feedback
accept Freeze the current preview and enter complete
fetchDraft Fetch the Draft separately from the complete state
cancel End the current clarification process

After the compatible Clarify six-method Remote and clarify.wire/1 are activated, SeekTTY will add /clarify to the local command directory.

State, Records, and Usage

Each clarification process binds an existing sessionId, with the state being:

running
cancelled
stale
complete

It defaults to stale after 15 minutes of no interaction, and returns:

staleReason=ttl-expired

Questions, options, live Draft preview, and refine feedback are retained in temporary processes in the Host memory. The main Session transcript continues to save formal conversations: messages after user review and sending, assistant replies, tool logs, and subsequent plan reviews generated by /plan. Clarification state is separated from input queue, pending, Plan, Goal, Profile, and local files.

Model calls are executed by the in-process auxiliaryRuntime, and usage is written to the auxiliary_runtime domain of the official storageDomain. The official tokenUsage continues to represent the Agent loop. SeekTTY /status displays Official, Auxiliary, and the derived Combined when taking a snapshot of the health.

The auxiliary ledger saves call identifiers, purpose, status, token buckets, normalization failures, and timestamps; prompt, message body, model output, custom answers, credentials, and file paths are kept outside the ledger.

Installation and Enablement

Runtime Requirements

package.json declares:

"node": ">=22"
"type": "module"

And declares:

"testedHost": "0.1.1-rc.2",
"testedHosts": [
  "0.1.0-rc.8",
  "0.1.1-rc.2"
]

Although version 0.2.2 has been released, it is not the recommended combined baseline. The recommended rollback stack is:

@deepseek-ai/dsh@0.1.0-rc.8
Clarify 0.2.1
Auxiliary Runtime 0.1.0
SeekTTY 1.2.0

When experiencing /clarify in the terminal, first install DSH and the plugin into the same tui Profile:

pnpm add --global @deepseek-ai/dsh@0.1.0-rc.8

dsh plugin --profile tui add https://github.com/Hilbert-beinghappy/seektty/releases/download/v1.2.0/seektty-1.2.0.tgz
dsh plugin --profile tui add https://github.com/Hilbert-beinghappy/dsh-plugin-auxiliary-runtime/releases/download/v0.1.0/dsh-plugin-auxiliary-runtime-0.1.0.tgz
dsh plugin --profile tui add https://github.com/Hilbert-beinghappy/dsh-plugin-clarify/releases/download/v0.2.1/dsh-plugin-clarify-0.2.1.tgz
dsh --profile tui

The Host DIY page uses a separate web Profile:

dsh plugin --profile web add https://github.com/Hilbert-beinghappy/dsh-plugin-auxiliary-runtime/releases/download/v0.1.0/dsh-plugin-auxiliary-runtime-0.1.0.tgz
dsh plugin --profile web add https://github.com/Hilbert-beinghappy/dsh-plugin-clarify/releases/download/v0.2.1/dsh-plugin-clarify-0.2.1.tgz
dsh --profile web

Uninstall and reinstall continue to use the official native commands:

dsh plugin --profile tui remove dsh-plugin-clarify
dsh plugin --profile tui add https://github.com/Hilbert-beinghappy/dsh-plugin-clarify/releases/download/v0.2.1/dsh-plugin-clarify-0.2.1.tgz

Web-only 0.2.2

Version 0.2.2 has been released on GitHub Release. For Web-only installation, you can add the released Clarify; if reasoning is needed, add the released Auxiliary Runtime. Do not write SeekTTY into the new recommended combination:

pnpm add --global @deepseek-ai/dsh@0.1.1-rc.2
dsh plugin --profile web add https://github.com/Hilbert-beinghappy/dsh-plugin-auxiliary-runtime/releases/download/v0.1.1/dsh-plugin-auxiliary-runtime-0.1.1.tgz
dsh plugin --profile web add https://github.com/Hilbert-beinghappy/dsh-plugin-clarify/releases/download/v0.2.2/dsh-plugin-clarify-0.2.2.tgz

The pairing rules for Host and Auxiliary Runtime are only written in the documentation:

Host 0.1.1-rc.2 pairs with Auxiliary Runtime 0.1.1
Host 0.1.0-rc.8 pairs with Auxiliary Runtime 0.1.0

Clarify does not enforce these pairing rules via wire or public API checks.

Typical Usage

In SeekTTY

After activation, there are three common entry points:

  1. Execute /clarify from the command palette: keeps the entire input area as seed.
  2. Input:
/clarify some text

to use the parameter text as seed.
3. Add /clarify token or a line at the end of an existing draft:

your draft
/clarify

to use the preceding draft as seed.

When further clarification is needed, the interface usually displays only one question based on context generation at a time, corresponding options, and the latest Draft preview. When the preview reaches a sendable state, the flow enters review directly. The number of questions is determined jointly by the current Session, the draft, and the confirmed decisions.

Host DIY Page

The repository comes with a GET /clarify Host DIY page, using the same /api Remote, suitable for integration verification and other Surface development.

The page requires filling in an existing sessionId. After clarification ends, you can copy the Draft and send it yourself in the original Surface.

The recommended order of use is:

  1. Use /clarify to clarify requirements.
  2. Adopt the Draft.
  3. Review and send.
  4. Run /plan when an implementation plan is needed.

Applicable Scenarios and Notes

Applicable scenarios:

  1. In a DeepSeek Harness workflow, you want to clarify requirements before sending a formal message.
  2. In the SeekTTY terminal, using /clarify to handle unclear requests in the draft.
  3. For integration verification or other Surface development, using the repository’s built-in GET /clarify page and the same set of Remotes.
  4. Want to clarify the requirement draft before /plan.

Notes:

  1. Clarify runs as a Host plugin in the current dsh process; it reads the current Session’s draft and the context visible to the model, and uses the permissions accessible by this process. You should check the source code before installation and confirm that the MIT license meets your usage requirements.
  2. Version 0.2.2 has been released, but it is not the recommended combined baseline; the recommended rollback stack remains @deepseek-ai/dsh@0.1.0-rc.8 + Clarify 0.2.1 + Auxiliary Runtime 0.1.0 + SeekTTY 1.2.0.
  3. Clarification state defaults to stale after 15 minutes of no interaction, returning staleReason=ttl-expired.
  4. The pairing rules for Host and Auxiliary Runtime are only written in the documentation; Clarify does not perform wire or public API checks.
  5. The community directory page is not an official app store and has no official affiliation with DeepSeek / Hillhouse.

Conclusion

The core value of Clarify is to turn vague ideas into a pending, self-sending Draft by asking questions one by one before formal sending. It does not replace the main Session dialogue, nor does it directly write the clarification process into the transcript; after user review, they can still decide when to send.

Related Links:

  • GitHub: https://github.com/Hilbert-beinghappy/dsh-plugin-clarify
  • Directory Page Clue (from plugin clue, not directly appearing in the scraped data this time): https://www.skillhub.cn/plugins/Hilbert-beinghappy/dsh-plugin-clarify