What's in this DeepSeek Harness cheat sheet

DeepSeek Harness is the open-source public preview at deepseek.com/en/harness. The desktop app runs on macOS Apple silicon and Windows 64-bit. The web app starts with npx @deepseek-ai/dsh web. DeepSeek does not publish one shortcut table on the product page. The keys below come from the deepseek-harness package docs for the composer, sessions, files, browser page, settings, and the desktop window.

Desktop keys and web keys are separate

Each command has its own default for desktop macOS, desktop Windows, desktop Linux, and the three web profiles. A missing profile is unbound. Windows and Linux desktop share Ctrl. macOS desktop uses Command. On Windows and macOS web, a desktop key that has no Alt becomes Mod+Alt, so desktop Ctrl+K search is Ctrl+Alt+K in the Windows web app. Linux web leaves session search, the files page, and a new browser page unbound until you set them. A change you save stays on that device. Desktop writes keybindings.json. The web app writes dsh.keybindings.v1 in the browser.

Windows and Linux desktop share the Ctrl keys. Rows that say “web” are the Windows web keys from the shortcut docs. Linux web leaves session search, the files page, and a new browser page unbound. The in-app shortcut reference (Ctrl+/) is the live list after you change a key.

Composer — send, steer, queue, and stop

Steer or queue a running DeepSeek Harness turn. The busy-Enter setting picks which one plain Enter uses.
Enter
Do the other of steer or queue. Ctrl+Enter uses the delivery mode Enter did not use.
CtrlEnter
Insert a new line in the DeepSeek Harness composer. Shift+Enter does not send the draft.
ShiftEnter
Alt+Enter does not send a DeepSeek Harness draft. The keys stay available for other shortcuts.
AltEnter
Stop the running turn and keep the queue. Press Esc twice within 500 ms in the focused chat or composer.
EscEsc

Slash commands and file mentions

Start a slash command such as /goal or /plan. A claimed command becomes one chip at the start of the draft.
/
Mention a file or a session from the DeepSeek Harness composer.
@
Select a slash-command chip. The first Backspace or Delete at the chip edge selects the whole chip.
Backspace
Remove the selected slash-command chip. The next Backspace or Delete drops the claim and leaves the arguments as text.
Backspace

Sessions and workspaces

Search DeepSeek Harness sessions in the desktop app. Ctrl+K is the documented desktop search key.
CtrlK
Search sessions in the Windows web app. The web profile maps desktop Ctrl+K to Ctrl+Alt+K.
CtrlAltK
Search sessions in the Linux web app. Linux web leaves this command unbound until you set a key.
Not bound
Rename the main session on desktop and on the Windows web app. The session needs a nonblank conversation and no modal in front.
CtrlAltG
Start a new DeepSeek Harness session. The shortcut reference lists New Session; the public docs do not print the default letter.
Shown in the app
Add a workspace. The shortcut reference lists Add workspace; the public docs do not print the default letter.
Shown in the app
Fork the main DeepSeek Harness session. The shortcut targets the main session, and the row menu targets that row.
Shown in the app
Archive the main session. The shortcut reference lists Archive session; the public docs do not print the default letter.
Shown in the app
Open a focused session row. Unmodified Enter or Space opens it. Tab reaches the row action buttons.
Enter
Toggle fullscreen in DeepSeek Harness. The shortcut docs name Ctrl+Alt+Enter as the fullscreen binding.
CtrlAltEnter

Shortcut reference, Settings, and the window

Open the DeepSeek Harness shortcut reference. Ctrl+/ also opens it above Settings, and it shows keys you have changed.
Ctrl/
Open Settings in the desktop app. Ctrl+, toggles the dialog when Settings is in front or no modal is open.
Ctrl,
Open Settings in the Windows web app. Ctrl+Alt+, leaves Ctrl+, for the browser.
CtrlAlt,
Close the top dialog, the file navigator beside a preview, or the mobile sidebar drawer.
Esc
Hide the Windows desktop window. The first hide asks before it continues. The tray, or a second launch, brings the window back.
AltF4
Toggle DevTools. On a media-key keyboard use Fn+F12. Update overlays disable DevTools.
F12
Toggle DevTools on Windows. Ctrl+Shift+I is the Windows alternate for F12.
CtrlShiftI

Files, browser page, and font size

Open the DeepSeek Harness files page in the desktop app. Ctrl+P shows the workspace tree in the focused pane.
CtrlP
Open the files page in the Windows web app. The web profile maps desktop Ctrl+P to Ctrl+Alt+P.
CtrlAltP
Open the files page in the Linux web app. Linux web leaves the files command unbound until you set a key.
Not bound
Open a browser page in the desktop app. Ctrl+T opens a separate Browser page in the focused dock pane.
CtrlT
Open a browser page in the Windows web app. The web profile maps desktop Ctrl+T to Ctrl+Alt+T.
CtrlAltT
Open a browser page in the Linux web app. Linux web leaves the new-browser command unbound until you set a key.
Not bound
Resize the file navigator. Arrow keys move the edge. Home is the narrowest width and End is the widest.
←→
Increase text, code, and terminal font size by 1 px in the desktop app. Holding the key does not repeat.
Ctrl=
Decrease text, code, and terminal font size by 1 px in the desktop app. The web app keeps the browser zoom keys.
Ctrl-
Refresh the current page on macOS web. That profile leaves refresh unbound so the browser can keep Command-Option-R.
Not bound

macOS desktop uses Command. Rows that say “web” are the macOS web keys from the shortcut docs. Linux web still leaves session search, the files page, and a new browser page unbound. The in-app shortcut reference (Command-Slash) is the live list after you change a key.

Composer — send, steer, queue, and stop

Steer or queue a running DeepSeek Harness turn. The busy-Enter setting picks which one plain Enter uses.
Enter
Do the other of steer or queue. Command-Enter uses the delivery mode Enter did not use.
⌘Enter
Insert a new line in the DeepSeek Harness composer. Shift-Enter does not send the draft.
⇧Enter
Option-Enter does not send a DeepSeek Harness draft. The keys stay available for other shortcuts.
⌥Enter
Stop the running turn and keep the queue. Press Esc twice within 500 ms in the focused chat or composer.
EscEsc

Slash commands and file mentions

Start a slash command such as /goal or /plan. A claimed command becomes one chip at the start of the draft.
/
Mention a file or a session from the DeepSeek Harness composer.
@
Select a slash-command chip. The first Backspace or Delete at the chip edge selects the whole chip.
Backspace
Remove the selected slash-command chip. The next Backspace or Delete drops the claim and leaves the arguments as text.
Backspace

Sessions and workspaces

Search DeepSeek Harness sessions in the desktop app. Command-K is the documented desktop search key.
⌘K
Search sessions in the macOS web app. The web profile maps desktop Command-K to Option-Command-K.
⌥⌘K
Search sessions in the Linux web app. Linux web leaves this command unbound until you set a key.
Not bound
Rename the main session on desktop and on the macOS web app. The session needs a nonblank conversation and no modal in front.
⌥⌘G
Start a new DeepSeek Harness session. The shortcut reference lists New Session; the public docs do not print the default letter.
Shown in the app
Add a workspace. The shortcut reference lists Add workspace; the public docs do not print the default letter.
Shown in the app
Fork the main DeepSeek Harness session. The shortcut targets the main session, and the row menu targets that row.
Shown in the app
Archive the main session. The shortcut reference lists Archive session; the public docs do not print the default letter.
Shown in the app
Open a focused session row. Unmodified Enter or Space opens it. Tab reaches the row action buttons.
Enter
Toggle fullscreen in DeepSeek Harness. The shortcut docs name Option-Command-Enter as the fullscreen binding.
⌥⌘Enter

Shortcut reference, Settings, and the window

Open the DeepSeek Harness shortcut reference. Command-Slash also opens it above Settings, and it shows keys you have changed.
⌘/
Open Settings in the desktop app. Command-Comma toggles the dialog when Settings is in front or no modal is open.
⌘,
Open Settings in the macOS web app. Option-Command-Comma leaves Command-Comma for the browser.
⌥⌘,
Close the top dialog, the file navigator beside a preview, or the mobile sidebar drawer.
Esc
Hide the macOS desktop window. The close button does the same. The Dock, a second launch, or dsh://open brings it back.
⌘W
Toggle DevTools. On a media-key keyboard use Fn+F12. Update overlays disable DevTools.
F12
Toggle DevTools on macOS. Option-Command-I is the macOS alternate for F12.
⌥⌘I

Files, browser page, and font size

Open the DeepSeek Harness files page in the desktop app. Command-P shows the workspace tree in the focused pane.
⌘P
Open the files page in the macOS web app. The web profile maps desktop Command-P to Option-Command-P.
⌥⌘P
Open the files page in the Linux web app. Linux web leaves the files command unbound until you set a key.
Not bound
Open a browser page in the desktop app. Command-T opens a separate Browser page in the focused dock pane.
⌘T
Open a browser page in the macOS web app. The web profile maps desktop Command-T to Option-Command-T.
⌥⌘T
Open a browser page in the Linux web app. Linux web leaves the new-browser command unbound until you set a key.
Not bound
Resize the file navigator. Arrow keys move the edge. Home is the narrowest width and End is the widest.
←→
Increase text, code, and terminal font size by 1 px in the desktop app. Holding the key does not repeat.
⌘=
Decrease text, code, and terminal font size by 1 px in the desktop app. The web app keeps the browser zoom keys.
⌘-
Refresh the current page on macOS web. That profile leaves refresh unbound so the browser can keep Command-Option-R.
Not bound

Enter steers or queues. Command-Enter does the other.

In the DeepSeek Harness composer, plain Enter follows the busy-Enter setting while a turn is running. That setting is queue or steer. Command-Enter on Mac, or Ctrl-Enter on Windows and Linux, uses the mode Enter did not use. Shift-Enter inserts a line. Alt-Enter and Option-Enter do not send, so those chords stay free for other commands. When the session is idle, Enter sends.

  1. Open the desktop app, or run npx @deepseek-ai/dsh web.
  2. Type in the composer while a turn is running.
  3. Press Enter to follow the busy-Enter setting.
  4. Press Command-Enter or Ctrl-Enter to use the other mode.
  5. Press Escape twice within 500 milliseconds to stop the turn and keep the queue.

Command-Slash opens the real shortcut list

Command-Slash on Mac, or Ctrl-Slash on Windows and Linux, opens the shortcut reference, including while Settings is open. That list is the one to trust after you remap a key. Restore All affects only the current profile. New Session, Add workspace, Fork session, and Archive session are in that list. The public docs print the search key (Command-K / Ctrl-K) and the rename key (Command-Alt-G / Ctrl-Alt-G), and leave the other session letters to the app.

Ctrl-J is the consumer chat, not Harness

Ctrl-J and Command-J start a new chat on the deepseek.com consumer site. DeepSeek Harness leaves that key unbound. Use New Session from the sidebar, or the key the shortcut reference shows for it. This page also does not use the global keys published by the separate desktop client at dsh-desktop.cc.cd. Those show-and-hide and Quick Ask keys belong to that client.

Also see: Devin Desktop • Claude Code • Codex • OpenCode • Tesseract • Cursor

DeepSeek Harness shortcut questions

What does Enter do in DeepSeek Harness?

When a turn is running, plain Enter follows the busy-Enter setting and either queues the draft or steers the current turn. Command-Enter on Mac, or Ctrl-Enter on Windows, does the other one. Shift-Enter always inserts a new line. Alt-Enter does not send.

How do I stop a running DeepSeek Harness turn?

Press Escape twice in the focused chat or composer, within 500 milliseconds. That stops the current turn and keeps queued messages. A menu, approval, modal, terminal, embedded page, or a second press that arrives too late breaks the sequence.

How do I open the DeepSeek Harness shortcut list?

Press Command-Slash on Mac or Ctrl-Slash on Windows and Linux. That list is the live reference, including any keys you have changed. Desktop saves overrides in keybindings.json. The web app saves them in the browser under dsh.keybindings.v1.

What is the shortcut to search DeepSeek Harness sessions?

On the desktop app, Command-K on Mac or Ctrl-K on Windows searches sessions. On the Windows and macOS web app, the documented web mapping of that key is Command-Alt-K or Ctrl-Alt-K. Linux web leaves session search unbound until you set a key. Rename is Command-Alt-G or Ctrl-Alt-G on desktop and on Windows and macOS web.

How do I open Settings in DeepSeek Harness?

On the desktop app, press Command-Comma on Mac or Ctrl-Comma on Windows. On the Windows and macOS web app, press Command-Alt-Comma or Ctrl-Alt-Comma so the browser can keep Command-Comma or Ctrl-Comma. Escape closes the top dialog.

Why does Ctrl-J or Command-J not start a new DeepSeek Harness chat?

Ctrl-J and Command-J start a new chat on the deepseek.com consumer chat. DeepSeek Harness leaves that key unbound. New Session is listed in the Harness shortcut reference, and the default letter is shown in the app.

Do DeepSeek Harness web and desktop shortcuts match?

Desktop and web keep separate defaults, and a change on one stays on that device and that profile. Linux web leaves several commands unbound, including session search, the files page, and a new browser page. macOS web leaves Refresh current page unbound so the browser can keep Command-Option-R.

Does this page cover the dsh desktop client at dsh-desktop.cc.cd?

This page covers the official DeepSeek Harness app at deepseek.com/en/harness and the open-source deepseek-harness repository. The site dsh-desktop.cc.cd is a separate desktop client and documents its own global keys, including show and hide and Quick Ask. Those keys belong to that client.