dsh-session-save: Save DeepSeek Harness Sessions as Single-File Projects

chinacaa/dsh-session-save

Sessions & MessagesVerified
Listed on 2026-10-26
Page last updated 2026-10-27

Save any DSH session as a single .dsproj project file with Word-style save, save-as and autosave, then open it on another machine to resume.

dsh-session-save is a session archiving plugin for DeepSeek Harness that solves the problem of conversations scattered across a local directory and hard to carry or archive. It packs one session together with its workspace memory into a single .dsproj project file and adds four title-bar actions: open, save, autosave and save-as, where the first save asks for a name and later saves overwrite the same file. Open the file on another machine to continue the conversation; the plugin compares session id, creation time and workspace path, and shows a conflict panel when needed.

How to Install

install
npmdsh plugin --profile web add dsh-session-save
Category
Sessions & Messages
Platform
DSH Plugin
Author
chinacaa
Distribution
Plugin

dsh-session-save Key Features

Save session as .dsprojAutosave and save-asOpen elsewhere to resumeConflict checks and sidecar locks
Listed on dsh-plugin.org

dsh-session-save Repo Summary

What Does It Do?

It is a DSH plugin for DeepSeek Harness that packs a single session together with the memory of its workspace into one .dsproj project file. By default DSH keeps sessions in a local directory, so carrying one conversation away means moving the whole directory, archives end up as nameless UUID folders, and two machines taking turns can overwrite each other. This plugin makes "one session = one file" real, offering Word-style open, save, autosave and save-as actions so you can open the file on another machine and continue the same conversation.

Core Features

  • Single-file project package: one session exports to one .dsproj containing the full conversation history plus the memory of its workspace, ready to send, sync or archive.
  • Four-button save workflow: open, save, autosave and save-as icons sit in the title bar; the first save asks for a name and later saves overwrite the same file.
  • Predictable naming: the default name combines the session title with the session creation time, sanitizes illegal characters and caps the length, so repeated save-as of one session yields the same name.
  • Conflict-aware opening: the plugin compares session id, creation time and workspace path, then switches in place, lands under a new id, or shows a conflict panel with cancel, save as copy, overwrite local, or keep local.
  • Multi-machine safeguards: an in-package lock file, a sidecar lock and a content fingerprint guard every write; a stale file blocks manual saves with a prompt and makes autosave turn itself off for that round.
  • Atomic writes and path validation: each write goes to a temp file first and is then renamed, while archive entries are checked against path traversal and suspicious file names.

How to Use This Plugin?

After enabling it in DSH, click the save icon in the title bar mid-conversation and confirm the file name to produce a .dsproj; or click autosave, which saves once immediately and then writes back after every step. On another machine, click the open icon, pick the file, and the session appears in the list and switches over so you can keep talking. If two machines share a sync folder, keep autosave on only one of them; the other will be stopped by the content comparison when saving manually.

How to Troubleshoot This Plugin?

When saving reports that the file was changed elsewhere, the content fingerprint found another writer on disk; choose to overwrite the disk copy, save as a new file, or cancel. When the file is reported as locked, another machine wrote within the last 15 minutes or a local process still holds it; wait as the official notes describe or use save-as instead.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: chinacaa/dsh-session-save. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub

DSH Plugin FAQ