插件目录 / Developer / dsh-question-composer
dsh-question-composer
已验证 · 实测可装 1479650473
功能简介
Enhanced ask_user_question composer for DeepSeek Harness: batch tabs, number-key answers, confirm summary, plan-review decision card
可用 — 实测通过,早期项目
Enhanced ask_user_question composer for DeepSeek Harness: batch tabs, number-key answers, confirm summary, plan-review decision card 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-question-composer
An enhanced ask_user_question composer for DeepSeek Harness: batch question tabs, number-key answers, a confirm summary, and a dedicated plan-review decision card — layered on the stock question flow.
When this plugin is mounted, it replaces the stock @deepseek-ai/dsh-client-ui-user-questions composer: the composer chain renders the first entry whose selector matches, so every pending question interaction hands the question seat to the enhanced flow. A request that declares the plan-review presentation intent renders its own decision surface; every other request takes the generic flow.
Features
- Batch tabs — multiple pending questions render as a tab strip; answers on each tab are collected before a single batch submit.
- Number-key answers —
1–9pick the Nth option of the visible question,Enterconfirms. - Confirm summary — the final submit shows a summary of all answers (single-choice, custom, multi-select) before sending.
- Plan-review routing — a question whose intent declares
plan-reviewrenders a decision card (approve / reject with reason) instead of the question flow. - Bilingual —
zh/endictionaries on its ownquestion-composerlocale namespace.
Requirements
- DeepSeek Harness
>= 0.1.0-rc.6(installed through the harness's package manager or a profile that resolves@deepseek-ai/*packages).
Installation
dsh plugin add dsh-question-composer
The dsh.bundle manifest (cordis.patch.yml) mounts the server-side plugin entry and the dsh.client declaration injects the browser half immediately (platform: web), so a profile restart is enough to enable it.
If you want to keep the stock composer as a fallback, keep
@deepseek-ai/dsh-client-ui-user-questionsmounted too — the chain order decides which composer renders first.
Screenshots
(TBD — added after the first tagged release.)
Development
npm install # or pnpm install
npm run typecheck # tsc --noEmit
npm run test # vitest (jsdom-free, node environment + __ModuleLoader__ harness)
npm run build # tsc declarations + esbuild browser bundle → lib/
Architecture
src/client/index.ts— client plugin body: registers thequestion-composerdictionaries and injects the composer into theconversation.composerslot chain (selector-routed on thequestioninteraction carrier).src/client/QuestionComposer.tsx— the enhanced flow (tabs, number keys, confirm summary).src/client/PlanReviewPanel.tsx— the plan-review decision surface.src/client/locales.ts—zh/endictionaries.scripts/build.mjs— esbuild bundle with the harness'swindow.__ModuleLoader__.loadwrapper and CSS Modules compiled to an injected<style>tag.tests/— keyless unit tests; official client artifacts load through native-require wrappers (tests/aliases/) because their__ModuleLoader__CJS bundles shadow Node'smodulevariable.
License
Apache-2.0 — see LICENSE.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-question-composer」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:1479650473/dsh-question-composer Headless(CLI)profile:
dsh plugin --profile headless add github:1479650473/dsh-question-composer 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。