Provides an exit button in the dsh web interface: after confirmation, terminates the host process and releases the port.
The plugin will be installed here. Keep web if you are unsure.
npx -y @deepseek-ai/dsh plugin --profile web add @kesike/dsh-exit@0.2.6
Compatibility and provenance
Exit is published as @kesike/dsh-exit and currently resolves to version 0.2.6. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.
> [!IMPORTANT]
> Confirming the action terminates the dsh host process and releases its ports. The host terminal window and the current browser tab are intentionally left open.
✨ What it does
dsh-exit adds a dedicated Exit section to the dsh settings panel. It uses the highest settings order so newly installed settings plugins appear above it.
Opens a confirmation modal before doing anything destructive.
Keeps the Exit section at the bottom of the settings navigation.
Calls the typed dshExit/exit Remote method only after confirmation.
Gives the gateway a short acknowledgement window, then ends the host process.
Releases every port held by that process; the settings page displays the current dsh Web host and port.
Keeps the terminal window and browser tab available for the next action.
Uses the existing dsh design tokens and the Lucide power icon.
🎬 GitHub showcase
Follow the exit flow below, then see the plugin in a running dsh settings panel.
The capture below is a current dsh settings view with dsh-exit installed. The red Exit entry is the plugin's real navigation item at the bottom of the settings list.
Install the published package directly into the dsh Web profile:
dsh plugin --profile web add @kesike/dsh-exit
Restart the profile after installation. The dsh host loader resolves the bare runtime imports, so this package intentionally declares no runtime dependencies. To update or remove it:
dsh plugin --profile web update @kesike/dsh-exit
dsh plugin --profile web remove @kesike/dsh-exit
🖥️ UI behavior
Interaction
Result
Click the red Exit item at the bottom of Settings navigation
Opens the exit section and confirmation action.
Click Cancel, press Esc, or click outside
Closes the modal without changing the host.
Click Confirm exit
Disables duplicate actions and invokes the host Remote method.
Remote call fails
Restores the controls and shows an inline error message.
Remote call succeeds
Closes the modal; the host exits shortly afterward.
🔌 Remote contract
The host advertises a strict, parameterless Remote method:
The client-side dsh gateway returns the standard envelope { ok: true, value: true } on success. The service guards repeated calls with an exiting flag and schedules process.exit(0) after the response has a chance to settle.
🧪 Development checks
Run the lightweight syntax checks from the project root: