Introduction¶
The session ID in DeepSeek Harness is a key identifier for troubleshooting, archiving conversations, and collaborating across sessions. By default, the GUI does not directly display the current session ID, so developers usually have to rely on developer tools or the archival panel to obtain it indirectly. The dsh-session-id plugin fills in this final step: it persistently displays the current session ID in the dock area below the composer input box and provides click-to-copy functionality.
Plugin Introduction¶
This plugin is a pure UI component. Its repository name is dsh-session-id, and its internal package name is dsh-session-id-footer. It does not touch host state, nor does it register new HTTP endpoints. It is fully injected based on the rendering slots provided officially.
Features¶
- Persistent Display: Displays the current session ID in the composer dock area using 11px small text.
- One-Click Copy: Click the session ID to copy it to the clipboard. The plugin prefers the
navigator.clipboardAPI and falls back toexecCommand('copy')if the browser does not support it, ensuring compatibility. - Action Feedback: After a successful copy, a “✓ Copied” feedback is shown for 1.6 seconds, accompanied by a green highlight.
- Automatic Hiding: When there is no current session (
sessionIdis empty), the plugin element hides automatically and takes no space.
Installation and Enablement¶
Install it using the official CLI command:
dsh plugin --profile web add github:realpkuasule/dsh-session-id
After installation is complete, restart the dsh web process. Open the interface, and you can see the current session ID in the dock area at the bottom of the composer. Click it to copy.
Technical Details¶
The plugin uses the official DeepSeek Harness slot conversation.composer.dock (injection order is 10) for rendering. The data source is props.sessionId, which is passed in by the slot. Since this is a pure UI plugin, its index.js part is an empty implementation, used only to register the plugin line in the profile’s cordis.patch.yml. The actual browser-side logic is implemented through client.js.
Notes¶
- This plugin follows the MIT license.
- It is recommended to review the source code before installation to ensure it aligns with your personal usage preferences.
- The plugin runs with the permissions of the current dsh process, but the risk is extremely low because it does not modify host state.