dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Previous/next session navigation for the DeepSeek Harness UI
Move between DeepSeek Harness sessions with a keystroke.
DeepSeek Harness ships commands for New, Search, Rename, Fork and Archive session, but nothing for "next/previous session". This plugin adds two ordinary configurable commands that walk the session list.

Recorded in a browser tab, where the defaults are ⌘⌥↑ / ⌘⌥↓. In the desktop
app the same commands default to ⌥↑ / ⌥↓.
⌘/ shortcut reference and can be
rebound there like any built-in command.| Platform | Previous | Next |
|---|---|---|
| macOS desktop | ⌥↑ | ⌥↓ |
| Windows desktop | Alt+↑ | Alt+↓ |
| macOS browser tab | ⌘⌥↑ | ⌘⌥↓ |
| Windows browser tab | unbound | unbound |
Plain Option/Alt chords are on the Web reserved list, so macOS browser tabs use
the primary chord instead. Windows browser tabs stay unbound because
Ctrl+Alt+Arrow is claimed by some display drivers; bind any allowed
combination under ⌘/.
Requires DeepSeek Harness with a profile you can add plugins to. The desktop
profile is managed by the Electron app, so use the Desktop-installed dsh
command for it.
Add the package to the profile:
dsh plugin --profile desktop add "github:baggiponte/dsh-session-nav"
From a local clone, link it instead:
dsh plugin --profile desktop add "link:$PWD"
Register the plugin row in the profile's cordis.patch.yml
(~/.dsh/profiles/desktop/cordis.patch.yml):
- insert:
- id: session-nav
name: "dsh-session-nav"
Reload the app page (⌘R) or restart the app.
For a web profile, substitute --profile web and edit
~/.dsh/profiles/web/cordis.patch.yml.
The package has no build step: lib/client.js is the browser bundle the Client
Module Loader serves, and lib/index.js is the empty Host companion the Loader
needs to compose the row.
⌘/ → search "session" → click a row and record a new combination.
Clearing it keeps the command and leaves it unbound.REGIONS in lib/client.js to ["page"].neighbour() in lib/client.js.The bundle is a client-side DSH plugin. It registers two commands through
ctx.shortcuts.register(); when one fires it resolves the target session from
the sidebar rows (data-row-key="session:…", falling back to the session
controller ordered by updatedAt) and opens it with
uiWorkspace.openSession().
No host services, no React, no build tooling.
node --test
The tests load the real bundle through a fake __ModuleLoader__ and exercise
registration, ordering, fallback, wrapping, archived filtering, and the
region/modal guards.
MIT