DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Queue First Enter — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
Q

dsh-queue-first-enter

Queue First Enter

DSH Web plugin: pressing Enter with an empty composer immediately steers the first queued message into the running turn.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:himeope/dsh-queue-first-enter#b83c779460434ec098eac702133a9bdeb4a9008a
READMECompatibilityVersions
Settings row

Compatibility and provenance

Queue First Enter is published as dsh-queue-first-enter and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/9/2026

Versions

1.0.0stable
9/9/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/9/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

dsh-queue-first-enter

English | 中文

A DeepSeek Harness (dsh) Web plugin: with an empty composer, pressing Enter immediately steers the first queued message into the running turn.

While an agent is busy, the composer's Enter key queues the next message. A queued message normally waits for the current turn to end. This plugin adds one gesture: clear the composer, press Enter, and the first queued message is steered into the running turn at its next step boundary — the rest of the queue keeps its order.

Settings row

Install

dsh plugin --profile web add dsh-queue-first-enter

Then restart dsh web.

Installing from a checkout instead:

dsh plugin --profile web add /path/to/dsh-queue-first-enter

Requires dsh web 0.1.0-rc.6 or newer. The browser half is a dsh.client bundle (platform: web); the host half contributes no behavior and exists so the package is a normal installable plugin row.

Behavior

The gesture fires only when all of these hold:

  • the composer is empty — no text and no pending images;
  • the addressed agent is running (a turn is in progress);
  • the queue holds at least one item with placement queued;
  • the composer is enabled, and the session is an ordinary session (not a subagent).

Everything else is left untouched:

  • Enter with text or images behaves exactly as before (queue or direct send);
  • Ctrl/Cmd+Enter keeps its built-in meaning — steer all queued messages;
  • when the feature is switched off in Settings, an empty Enter is a no-op again, as shipped.

Delivery is a strict steer: the message is handed to the running turn at its next step boundary and is visible to the model then. It does not interrupt the current turn, and it does not wait for the turn to end. dsh's queue API offers exactly three operations — edit, remove, steer — so "skip the current turn and start a new one" is not something this plugin does; interrupting a turn is a separate, destructive action (cancel with the inbox preserved).

Convergence: if the turn ends in the same instant (steer-unavailable) or the agent has already claimed the item (queue-item-not-found), the failure is silent and the message stays in the queue.

Settings

Settings → General → "回车立即发送队列首条" — a switch directly below dsh's own "繁忙时 Enter 键行为" row.

The preference lives in browser localStorage under dsh.queueFirstEnter.enabled (default: on).

How it works

FileRole
index.jsHost half. Contributes no host behavior; exists so the package is mountable.
client.jsBrowser half. Registers the composer listener and the settings row through the client slot system.
cordis.patch.ymlInserts the host row into the profile's layer stack.
smoke-test.mjsLoads client.js against a stubbed module system and Cordis context, then asserts both slot registrations.

The listener is attached in the capture phase to the composer's own textarea, located by walking up from the plugin's own anchor element inside the composer card — no product CSS class or absolute DOM path is used. It reads the authoritative session/queue snapshot and calls the existing updateQueue(itemId, { kind: 'steer' }) RPC; it does not send prompts of its own, does not touch the network, and stores nothing beyond the on/off flag.

The screenshot above is rendered from screenshots/settings-mockup.html, a static mock of the Settings → General panel that reuses the shipped row geometry and the plugin's own inline styles. Open it in a browser to see exactly what the row renders.

npm test          # node smoke-test.mjs
npm run check     # node --check on both halves

License

MIT