前言¶
在 DSH 中,模型调用工具时如果每次只向用户问一个问题,任务开始前需要确认多个事项时会产生多次来回。dsh-survey 把这些问题合并成问卷:模型一次调用 do_a_survey 提交问题列表,用户在同一个界面中填写并提交,答案以结构化数据返回。
这是什么¶
dsh-survey 是 DeepSeek Harness(DSH)插件,仓库为 jinhuang712/dsh-survey,许可证为 MIT。它提供 do_a_survey 工具,用于向用户一次性提交 1 到 10 个以上的问题。安装后,do_a_survey 工具和 survey UI 在 Web profile 中永久可用。
核心能力¶
问题类型¶
dsh-survey 支持五种问题类型:
singlemultiyes-nocompareopen
呈现模式¶
Web UI 根据 mode 渲染问卷:
compact:单题卡片,用于正好 1 个问题。inline:嵌入对话列,用于多个问题且不含compare。overlay:全屏 1180px 展示,用于compare或宽画布。grid:全屏网格矩阵,用于大量简单问题。
答案与跳过¶
每个问题支持跳过。提交时,被跳过的问题标记为 skipped: true。答案以如下数据格式返回:
{ id, selected, custom?, skipped? }
如果 30 分钟内无人提交,survey 会超时失败,而不是无限挂起。
渲染与无障碍¶
- 支持完整 Markdown 渲染和颜色语法
{color:red}text{/color}。 - 提交后显示两列 question → answer recap。
- 支持英文和中文界面,并跟随 Web UI 语言设置。
- 支持键盘焦点和 radio/checkbox 无障碍语义。
安装与启用¶
安装到 web profile:
dsh plugin --profile web add "github:jinhuang712/dsh-survey#v1.1.0"
安装完成后,重启 dsh web 并刷新页面。
如果 dsh profile 目录是 pnpm workspace,需要透传 -w 参数:
dsh plugin --profile web add -w "github:jinhuang712/dsh-survey#v1.1.0"
包依赖中列出的 peerDependencies 要求:
@deepseek-ai/dsh-tools ^0.1.0-rc.6
cordis ^4.0.0-rc.7
react ^18.2.0
伴随技能 dsh-survey 会随安装注册,包含四种模式、五种问题类型的使用指南和 dynamic-plugin fallback recipe。
典型用法¶
告诉模型要收集什么,模型随后调用:
do_a_survey(mode, questions)
其中 mode 为必填。常见选择如下:
- 正好 1 个问题:使用
compact。 - 多个问题且没有
compare:使用inline。 - 有
compare或需要宽画布:使用overlay。 - 大量简单问题:使用
grid。
一个 inline 示例会包含 single、multi、boolean、open 类型的问题;提交后,模型收到的是每个问题的结构化答案,而不是一段需要自行解析的自然语言。
适用场景与注意¶
适合需要一次性确认多个选项、范围、是否项或备注的场景。由于答案以数据返回,并且每题可跳过,比较适合把模型需要的决策集中到一次用户交互中。
使用前注意:
- 资料未给出明确的 permission 声明;插件以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证。
- 如果 30 分钟内未提交,问卷会超时失败。
- 安装命令固定使用 Web profile;如果 profile 目录是 pnpm workspace,需要加
-w。
链接¶
- GitHub:
https://github.com/jinhuang712/dsh-survey - 插件目录页:
https://www.skillhub.cn/plugins/jinhuang712/dsh-survey