Saltar al contenido principal
W

dsh-global-launcher

william-jin-cmu/dsh-global-launcher

A macOS global hotkey that opens a small prompt bar from any app and sends what you type, with an optional screenshot or window text, to a new or the last session.

Instalar

dsh plugin --profile web add github:william-jin-cmu/dsh-global-launcher

README

dsh-global-launcher

A global hotkey that opens a small prompt bar from anywhere on your Mac and sends what you type to DeepSeek Harness.

macOS only.

Use

KeyWhat happens
⇧⌘SpaceOpens the bar
⌥⌘SpaceGoes straight to the screenshot picker, then opens the bar with the picture attached
ReturnSends. The bar leaves at once; it only comes back if the send failed
Shift+ReturnNew line
TabSwitches between a new session and the last one
⌘1Attaches or removes a screenshot of the whole screen
⌘2Attaches or removes the text of the window you were in
EscCloses the bar

The foot of the bar chooses where the prompt goes:

  • New / Last: start a session, or continue the most recent one.
  • Workspace and model: used for a new session. With dsh-native-runtimes installed, Claude Code and Codex are in the model list.
  • Create more: the bar stays open after a send, ready for the next prompt.
  • Open DSH: bring DSH forward and show the session after a send. Off keeps you in the app you were in.

These choices are remembered in $DSH_HOME/global-launcher/state.json.

Install

Requires DSH >=0.2.1-rc.5 <0.3.0 and Node.js 22.19 or later.

dsh plugin --profile web add dsh-global-launcher

In the desktop app, use Plugins > Add plugin and enter dsh-global-launcher.

The hotkeys work while DSH is running. macOS asks for Screen Recording (screenshots) and Accessibility (window text) for the app DSH runs in. By default macOS binds ⌥⌘Space to "Show Finder search window": turn that off in System Settings > Keyboard > Keyboard Shortcuts > Spotlight, or change contextHotkey.

Settings

SettingDefaultMeaning
hotkeyshift+cmd+spaceOpens the bar
contextHotkeyoption+cmd+spaceScreenshot first, then the bar. Empty turns it off
contextChars6000How much window text is attached at most
excludeAppsPassword managersBundle ids whose windows are never attached
workspaceemptyFolder used for new sessions until you pick one in the bar. Empty uses the most recent workspace
desktopAppscom.deepseek.harnessBundle id prefixes of DSH desktop apps, brought forward after a send

A model that takes no images gets the prompt without the screenshot.

Scripting

POST /api/global-launcher/launch with { text, screenshot?, context?, pid?, target?, workspaceId?, model?, openMain? } submits a prompt as if it had been typed into the bar.

Build

pnpm install
pnpm run pack   # dist/, bin/ and dsh-global-launcher-0.1.0.tgz

Plugins relacionados