dsh-survey:DSH 的问卷式一次性提问插件

前言

在 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 支持五种问题类型:

  • single
  • multi
  • yes-no
  • compare
  • open

呈现模式

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye