dshbase

Plugin directory / Developer / dsh-composer-keys

dsh-composer-keys

Verified · install-tested on dsh kexin8

✓ Actively maintained

View on GitHub ↗ ← Back to plugin directory

3Stars
0Forks
0Open issues
Language
2026-08-19Last push
Cross-platformPlatform

What it does

⌨️ Keyboard shortcuts for the DSH chat composer — ↑↓ cycle history, Ctrl+C clear input. DSH web plugin.

Our take
Works — verified, early-stage project

⌨️ Keyboard shortcuts for the DSH chat composer — ↑↓ cycle history, Ctrl+C clear input. DSH web plugin. It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

dsh-composer-keys ⌨️

Keyboard shortcuts for the DeepSeek Harness (DSH) Web chat composer.

中文文档:简体中文

License
Version
Platform
PRs Welcome

Type faster, navigate history with pure keyboard. No mouse needed.


✨ Features

Shortcut Action
Arrow Up Fill the composer with the previous user message from history
Arrow Down Move to the next user message; at the end, restore your original input
Ctrl+C Clear the composer when no text is selected (avoids conflict with Copy)

Behavior details

  • History cycling follows shell-style semantics: press ↑ to walk backwards through
    your previously sent messages; press ↓ to walk forward again; at the newest end it
    restores whatever you had typed before you started navigating.
  • Ctrl+C only clears when the composer has content and no text is selected —
    if you have selected text, the browser's native Copy takes precedence.
  • Uses Ctrl+C only, identical on Windows and macOS (on macOS, Cmd+C stays the system Copy).

📦 Install

From GitHub

dsh plugin --profile web add https://github.com/kexin8/dsh-composer-keys.git

From a local checkout

git clone https://github.com/kexin8/dsh-composer-keys.git
dsh plugin --profile web add link:~/dsh-composer-keys

Via npm (when published)

npm i dsh-composer-keys
dsh plugin --profile web add dsh-composer-keys

After installing, restart the DSH Web GUI and reload the page.


🧩 How it works

A client-only plugin. It registers an invisible component in the
conversation.composer.dock slot (the additive, non-destructive input-region seat),
which attaches a keydown listener on document and intercepts shortcuts only while
the composer textarea is focused:

  • Arrow Up/Down — reads historical user messages from the live
    ConversationSnapshot and fills the composer via inputActions.setDraft().
  • Ctrl+C — calls setDraft('') when the input is non-empty and nothing is selected.

No host process code, no persistence, no settings — pure client-side, stops cleanly
on plugin stop/update.


🗂 Project structure

dsh-composer-keys/
├── lib/
│   ├── index.js        # host stub (client-only plugin)
│   └── client.js       # client module (__ModuleLoader__ format)
├── cordis.patch.yml    # cordis composition patch (inserts the plugin row)
├── package.json        # dsh plugin manifest
└── README.md

🤝 Contributing

PRs are welcome! Please make sure the plugin still works in the DSH Web GUI after
your change. Keep the client code plain-JavaScript (no TypeScript/JSX in the shipped
lib/ output) and never add host-side logic unless the feature truly needs it.

📄 License

MIT

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install dsh-composer-keys for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

This plugin is GitHub source (not published to npm) — install it straight from the repo:

Web profile:

dsh plugin --profile web add github:kexin8/dsh-composer-keys

Headless (CLI) profile:

dsh plugin --profile headless add github:kexin8/dsh-composer-keys

Test report

Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7789 plugins →