Introduction¶
In DSH, if a model calls a tool to ask a single question at a time, it creates multiple rounds of interaction when multiple items need to be confirmed before a task begins. dsh-survey consolidates these questions into a survey: the model calls do_a_survey once to submit a list of questions, users fill them out and submit within the same interface, and the answers are returned as structured data.
What is this¶
dsh-survey is a DeepSeek Harness (DSH) plugin, repository jinhuang712/dsh-survey, with an MIT license. It provides the do_a_survey tool, which allows submitting 1 to 10 or more questions to the user at once. After installation, the do_a_survey tool and the survey UI are permanently available in the Web profile.
Core Capabilities¶
Question Types¶
dsh-survey supports five question types:
singlemultiyes-nocompareopen
Rendering Modes¶
The Web UI renders the survey based on the mode:
compact: Single question card, used for exactly 1 question.inline: Embedded in the conversation column, used for multiple questions and withoutcompare.overlay: Full screen 1180px display, used forcompareor wide canvases.grid: Full screen grid matrix, used for large amounts of simple questions.
Answers and Skipping¶
Skipping is supported for each question. When submitted, skipped questions are marked as skipped: true. Answers are returned in the following data format:
{ id, selected, custom?, skipped? }
If no one submits within 30 minutes, the survey will time out and fail, rather than hanging indefinitely.
Rendering and Accessibility¶
- Supports full Markdown rendering and color syntax
{color:red}text{/color}. - Displays a two-column question → answer recap after submission.
- Supports English and Chinese interfaces and follows the Web UI language settings.
- Supports keyboard focus and radio/checkbox accessibility semantics.
Installation and Enablement¶
Install to web profile:
dsh plugin --profile web add "github:jinhuang712/dsh-survey#v1.1.0"
After installation, restart dsh web and refresh the page.
If the dsh profile directory is a pnpm workspace, you need to pass the -w parameter:
dsh plugin --profile web add -w "github:jinhuang712/dsh-survey#v1.1.0"
peerDependencies required by package dependencies:
@deepseek-ai/dsh-tools ^0.1.0-rc.6
cordis ^4.0.0-rc.7
react ^18.2.0
The accompanying skill dsh-survey is registered upon installation, including usage guides for the four modes, five question types, and the dynamic-plugin fallback recipe.
Typical Usage¶
Tell the model what to collect, and the model will subsequently call:
do_a_survey(mode, questions)
Where mode is required. Common choices are:
- Exactly 1 question: use
compact. - Multiple questions without
compare: useinline. - Has
compareor needs wide canvas: useoverlay. - Large number of simple questions: use
grid.
An inline example would include questions of types single, multi, boolean, and open. After submission, the model receives structured answers for each question, rather than a paragraph of natural language that needs to be parsed by itself.
Use Cases and Notes¶
Suitable for scenarios requiring confirmation of multiple options, ranges, boolean flags, or notes all at once. Since answers are returned as data and each question can be skipped, it is well-suited to concentrate the decisions required by the model into a single user interaction.
Notes before use:
- No explicit permission declaration is provided in the source; the plugin runs with the current dsh process permissions. You should check the source code and MIT license before installing.
- If not submitted within 30 minutes, the survey will timeout and fail.
- The installation command is fixed to the Web profile; if the profile directory is a pnpm workspace, you must add
-w.
Links¶
- GitHub:
https://github.com/jinhuang712/dsh-survey - Plugin Directory Page:
https://www.skillhub.cn/plugins/jinhuang712/dsh-survey