DSH 批量问卷
Questionnaire-style batch questioning plugin for DeepSeek Harness — the do a survey tool asks 10+ questions in one go (single / multi / yes-no toggle / compare / open), each skippable, fullscreen overlay, with a two-column recap after submit.
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.
dsh-survey
Questionnaire-style batch questioning plugin for DeepSeek Harness — the do_a_survey tool asks 10+ questions in one go (single / multi / yes-no toggle / compare / open), each skippable, fullscreen overlay, with a two-column recap after submit.
| Single | Multi | Yes/No | Compare | Open |
|---|---|---|---|---|
| Radio | Checkbox | Compact toggle | Side-by-side blocks | Multi-line input |
When the model calls do_a_survey, the Web UI renders the survey by mode: compact single-question card / inline embedded column / fullscreen overlay for compare / grid matrix for many simple questions. All text supports Markdown (code blocks, blockquotes, inline code, bold) and color ({color:red}text{/color}); a readable two-column recap is shown after submit.
Preview
Grid matrix — fullscreen overlay for many simple questions, one card each:
Inline — survey embedded in the conversation column, filled and submitted together:
Overlay compare — fullscreen side-by-side comparison with Markdown & color:
Compact — single-question card with rich question types:
Install
Bundle plugin (recommended, resident) — build artifacts are committed, one-line install:
dsh plugin --profile web add "github:jinhuang712/dsh-survey#main"
# restart dsh web, then refresh the page
Local directory install (when you have the source):
git clone https://github.com/jinhuang712/dsh-survey.git
cd dsh-survey
dsh plugin --profile web add .
# restart dsh web, then refresh the page
After install, the do_a_survey tool and its survey UI are available permanently. The companion skill dsh-survey registers with the install (dsh.skills declaration): it documents usage and ships a dynamic-plugin fallback recipe (references/dynamic-plugin-fallback.md) for environments without the bundle.
Usage
Tell the model what you want to collect; it calls do_a_survey(mode, questions). mode is required:
| mode | When | Presentation |
|---|---|---|
"compact" | Exactly 1 question | Compact single-question card |
"inline" | Multiple questions, no compare | Embedded in the conversation column |
"overlay" | Compare questions or wide canvas | Fullscreen overlay (1180px) |
"grid" | Many simple questions (yes/no, single) | Fullscreen grid matrix, one card each |
Example:
{
"mode": "inline",
"questions": [
{ "id": "q1", "question": "Your **OS**?", "options": [{ "label": "macOS" }, { "label": "Linux" }] },
{ "id": "q2", "question": "Which question types?", "multi_select": true, "options": [{ "label": "Single" }, { "label": "Compare" }] },
{ "id": "q3", "kind": "boolean", "question": "Auto-save progress?" },
{ "id": "q4", "question": "Other feedback:" }
]
}
Question types
| Type | Trigger | UI |
|---|---|---|
| Single | options + no multi_select | Radio |
| Multi | options + multi_select: true | Checkbox |
| Yes/No | kind: "boolean" | Compact toggle (omit options) |
| Compare | kind: "compare" + compare: {left: {title,text}, right: {title,text}} | Side-by-side blocks (overlay recommended) |
| Open | no options, not boolean/compare | Multi-line input |
Features
- Full Markdown — question text, option labels/descriptions, compare blocks, recap all render through the official safe renderer (micromark + protocol allowlist + shiki highlighting): code blocks, blockquotes, inline code, bold
- Color —
{color:red}text{/color}(named /#hex/rgb()), usable in questions, options, compare blocks - Skip / restore — per-question ✕ grays out, ↺ restores; submitted as
skipped: true - Fullscreen overlay —
mode: "overlay"centers fullscreen (mask + 1180px), breaking past the 748px conversation column - Grid matrix —
mode: "grid"fullscreen grid of many simple questions: equal-height cards, bottom-aligned toggles, per-card skip; compare questions degrade to left/right choice - Readable recap — strict two-column grid, one "question → answer" row each
- Accessibility — radio/checkbox semantics + keyboard focus rings
Architecture
- Host half (
lib/index.mjs): Cordis entry —defineToolregistersdo_a_survey;webServer.registerserves/api/dsh-survey/submit|cancel;executesuspends on the answer (exec.callIdcorrelation,exec.signalabort cleanup) - Client half (
lib/client.js):__ModuleLoader__.loadbundle registeringtool.call.toolviewkey=do_a_survey; four modes (compact/inline/overlay/grid) + Markdown & color rendering +fetchsubmit - Skill (
skills/dsh-survey/SKILL.md): usage guide + dynamic-plugin fallback recipe (references/dynamic-plugin-fallback.md)
Verify
- After install,
__DSH_BOOT__should include thedsh-surveyclient row;/plugins/dsh-survey/client.jsreturns 200 cordis_inspect_query(Tool.listTools) should showdo_a_survey- Run a 4-6 question survey (with markdown + color text) and check all four modes
Uninstall
- Remove the
dsh-surveyinsert row from the web profile'scordis.patch.yml - Remove the
dsh-surveydependency from the web profile'sdsh.profile.bundlesand runpnpm remove
License
MIT
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.