DeepSeek Harness plugin

dsh-session-context-menu-harzva

Lifecycle-safe Codex-style Session context actions for DeepSeek Harness.

Jump to install

Source facts

Repository
Harzva/dsh-session-context-menu
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/Harzva/dsh-session-context-menu
Plugin: dsh-session-context-menu-harzva
Author: Harzva

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.mdSource · read only
README language

dsh-session-context-menu

English | 中文

Lifecycle-safe, Codex-style Session context actions for DeepSeek Harness. It extends the official Session-row registry and accessory Slot; it does not patch installed packages, inspect React Fiber, query private DOM, or replace the Workspace browser.

Actions

  • Pin or unpin a chat. Pinned rows lead while preserving their existing relative order.
  • Mark a chat read or unread, with an accessible row indicator.
  • Show the Workspace directory with DSH's native path opener.
  • Copy the working directory, Session id, or a browser deep link.
  • Open the deep link in a new browser window.
  • Use DSH's built-in Rename, Fork, and Archive actions in the same menu.

The ellipsis button, native right click, <kbd>Shift</kbd>+<kbd>F10</kbd>, and the Menu key all open one shared action model. Deep links use ?session=<id> and are resolved only after the Session list contains that id.

Compatibility

DSH versionStatus
0.1.0-rc.6Unsupported: no official Session-row extension point
0.1.0-rc.7Unsupported without the upstream sessionRows change
Upstream with ctx.sessionRows and sidebar.workspaces.session.accessorySupported

The plugin intentionally refuses to load when the required service is absent. This avoids silently falling back to private UI attachment.

Install

After the compatible upstream release and this repository's first public release:

dsh plugin --profile web add github:Harzva/dsh-session-context-menu

For isolated local development:

DSH_HOME=/path/to/throwaway-dsh-home dsh plugin --profile web add /absolute/path/to/dsh-session-context-menu
DSH_HOME=/path/to/throwaway-dsh-home dsh web

Do not point development commands at a production profile. Removing the dependency cleanly removes the Host route, registry actions, accessory component, and deep-link listener:

dsh plugin --profile web remove dsh-session-context-menu

Persistence and privacy

Pin/read state is stored as boolean-only JSON under $DSH_HOME/storages/dsh-session-context-menu/state.json, or under an explicit storeRoot supplied in the Cordis config entry. Writes are serialized and atomically renamed; files are created mode 0600. Session transcripts, prompts, Workspace paths, credentials, and clipboard contents are never persisted by this plugin.

The Host exposes one same-origin, no-store JSON route at /dsh-session-context-menu/state. Request bodies are bounded to 32 KiB and accept only a bounded Session id plus boolean pinned/unread fields. Native path opening uses DSH's existing ctx.workspaces.openPath() capability instead of adding another filesystem endpoint.

Development

npm test
npm pack --dry-run

The test suite covers state validation, concurrent atomic persistence, Cordis route disposal, client contribution registration, priority, deep-link opening, clipboard actions, native path delegation, and client cleanup. Release validation additionally uses a throwaway DSH profile for install, cold-start, light/dark visual checks, right-click/keyboard interaction, unload, and rollback.

Marketplace submission

The awesome-dsh-plugin catalog currently requires an installable dsh.bundle, the dsh-plugin topic, a repository at least one day old, and at least ten commits. This repository keeps those requirements in its release checklist; the catalog entry is submitted only after the upstream extension ships and the isolated composition passes.

License

[MIT](LICENSE)