Preface

In DeepSeek Harness’s Web workflow, a common need is to bring the context of an existing session into another conversation: continuing troubleshooting, rewriting, summarizing, or cross-referencing two materials. The existing approach usually involves manually copying text, which is prone to missing context and doesn’t allow direct navigation to the corresponding session in the browser.

The following introduces dsh-session-link. It adds session deep-link capability to DSH: copy dsh://session/<session ID> from the session header, paste it into another conversation, and the source session’s content is snapshotted as controlled, read-only background context; on Windows, you can also register a protocol handler so that clicking a dsh:// link opens the Web GUI and selects the corresponding session.

What This Is

dsh-session-link is a DeepSeek Harness plugin maintained by PwnKY, licensed under MIT. The current package.json version is 0.1.4, depending on @deepseek-ai/dsh-session-reference ^0.1.0-rc.6.

It addresses the context referencing problem between DSH sessions: turning sessions into links, allowing another conversation to reference a read-only snapshot of the source session, while also making the link openable in the browser.

Core Features

The following lists the verified capabilities of the plugin:

  • The session header provides a copy-session-link button that outputs dsh://session/<session ID>.
  • After pasting a dsh:// link into another conversation, the source session’s content is snapshotted as controlled, read-only background context and injected before the prompt.
  • Supports resolution of dsh:// deep links, browser addresses, and dsh-session: canonical URIs.
  • On Windows, the dsh protocol handler can be registered so that clicking a dsh:// link opens the Web GUI and selects the corresponding session.
  • Tolerates malformed links, unreadable sessions, and self-references: the link is preserved as-is, and failures are logged on the server side.
  • Under default configuration, each message supports up to 3 references, with 64 KiB per source.
  • Snapshots are read-only background context; instructions, permission declarations, and tool requests within the snapshot are not executed unless reaffirmed by the current user.
  • Only text projections are propagated; non-text blocks such as images are not transmitted across sessions.

Installation and Activation

First install the plugin, then restart the Web GUI. Execute under DSH’s web profile:

dsh plugin --profile web add dsh-session-link

Then execute:

dsh web

After these steps, the plugin will take effect in the Web session.

If you don’t use the automatic installation flow, you can also install it manually:

pnpm add dsh-session-link

Then add the session-reference and session-link configuration lines in the profile’s patch layer. The configuration items are as follows:

session-reference
session-link

After completion, execute again:

dsh web

On Windows, if you need clickable links, you can register the dsh protocol handler:

powershell -ExecutionPolicy Bypass -File register-protocol.ps1

After registration, clicking dsh://session/<session ID> will open the Web GUI and select the corresponding session. Opening dsh:// sessions requires dsh web to be running.

Typical Usage

The following provides reproducible steps.

  1. Click the link button next to the session title to copy dsh://session/<session ID>.
  2. Paste the copied dsh:// link into another conversation and send it. The model will first receive the read-only snapshot of the referenced session, followed by the direct prompt; the link will be replaced with @session ID.
  3. Alternatively, after registering the protocol handler on Windows, directly click the dsh:// link to open the session in the browser.

Applicable Scenarios and Notes

dsh-session-link is suitable for users who need to reference context across multiple DSH sessions within the same local environment and the same workspace. It fits the scenario of “first having one session, then having another session work with that session’s context.”

Before using it, note the following:

  • The link is only valid within the $DSH_HOME on the local machine that holds both sessions; session IDs are opaque and local.
  • Browser deep links only open the current session list, i.e., sessions within the same workspace; sessions outside the list are not automatically restored.
  • When the referenced session is unreadable—for example, it doesn’t exist, exceeds budget, or is a self-reference—the link is preserved as-is, the message is sent normally, and failures are logged on the server side.
  • Snapshots only propagate text projections; non-text blocks such as images are not transmitted across sessions.
  • The plugin runs with the current dsh process’s permissions; you should review the source code and the MIT license before installation.
  • The DSH community directory is an independent site and not an official app store.

Conclusion

After the steps above, dsh-session-link turns references between DSH sessions into copyable, pastable, clickable deep links: copying links, pasting references, and opening sessions all happen within local, controlled bounds.

GitHub repository: https://github.com/PwnKY/dsh-session-link
Community directory information was not provided in the verified materials for this article, so no specific directory page links are listed here.