DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

1479650473 /

dsh-question-composer

Verified

Enhanced ask_user_question composer for DeepSeek Harness: batch tabs, number-key answers, confirm summary, plan-review decision card

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: master@589a537c

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–9 pick the Nth option of the visible question, Enter confirms.
  • 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-review renders a decision card (approve / reject with reason) instead of the question flow.
  • Bilingual — zh / en dictionaries on its own question-composer locale 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-questions mounted 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 the question-composer dictionaries and injects the composer into the conversation.composer slot chain (selector-routed on the question interaction 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 / en dictionaries.
  • scripts/build.mjs — esbuild bundle with the harness's window.__ModuleLoader__.load wrapper 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's module variable.

License

Apache-2.0 — see LICENSE.

—/ 5

No ratings yet

Verified DSH bundle

Commit 589a537c3626

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout