Preface

DeepSeek Harness (DSH) chat history, workspace data, settings, and credentials are typically saved locally in ~/.dsh. When reinstalling, migrating, or after local data is cleared, the lack of independent backups makes recovery difficult.

dsh-vault is a community plugin in the DSH ecosystem used to back up critical data outside ~/.dsh, provide alerts when data is suspected to be cleared, and support range-based recovery. It is maintained by feiyang-dev with an MIT license. Within DSH’s plugin mechanism, dsh-vault can be mounted as a community plugin to the web profile.

What is it

The npm package name for dsh-vault is @feiyang666/dsh-vault, primarily providing three things:

  • Backup: Copies DSH critical data to an independent backup directory
  • Clear Detection: Compares backup with current session count at startup, giving a red alert if data is suspected to be cleared
  • Recovery: Restores by range via the Settings page or the backup_vault tool

The backup directory format is:

~/.dsh-backups/<timestamp>/

This directory is located outside ~/.dsh. The restore operation will overwrite current data; confirm the backup timestamp before execution.

Core Functions

Backup Manager Page

After installation and restart, Backup Manager is available in the Web Settings.

On this page, you can:

  1. View backup directory, last backup time, number of backups, and data integrity
  2. Execute Back Up Now
  3. Restore by range: All, chat history only, workspace settings only
  4. Delete backups, requiring confirmation before deletion

Backup Content

By default, it backs up the following DSH data:

~/.dsh/sessions/
~/.dsh/storages/
~/.dsh/settings.yaml
~/.dsh/.credentials.yaml
~/.dsh/.anonymous-user-id
~/.dsh/profiles/

If dsh-usage-plugin is installed, its usage data will also be backed up and restored, including:

usage-records.json
pricing.json

.credentials.yaml may contain API keys, so the backup directory must be kept securely.

Clear Detection

When the plugin starts, it compares the session count in the backup with the current session count. If data is suspected to be cleared, a red alert will be issued.

backup_vault Tool

The plugin registers the backup_vault tool, supporting the following actions:

status
backup
list
restore
delete
make_script

Where:

  • restore requires name and scope, where scope can be all, sessions, or data
  • delete requires name
  • make_script is used to generate restore-latest.ps1

Installation and Enablement

Desktop Installation

Open DeepSeek Harness Desktop and follow these steps:

Install PluginsRecommendedData VaultInstallRestart Service Now

Command Line Installation

In an environment with dsh installed, execute:

dsh plugin --profile web add @feiyang666/dsh-vault

To start the Web UI:

npx @deepseek-ai/dsh web

Default address:

http://127.0.0.1:3080

Rename Notice

The project has migrated from the old name to dsh-vault:

  • GitHub Repository: feiyang-dev/deepseekharnessdesktop-vaultfeiyang-dev/dsh-vault
  • npm Package: @feiyang666/deepseekharnessdesktop-vault@feiyang666/dsh-vault

The old GitHub URL will 301 redirect to the new address. The old npm package is no longer maintained. When installing or upgrading, please use the new package name:

dsh plugin --profile web add @feiyang666/dsh-vault

Typical Usage

Operations in the Settings Page

  1. Open SettingsBackup Manager
  2. Click Back Up Now to create a backup
  3. Select a backup from the backup history
  4. Select the restore scope: All, chat history only, or workspace settings only
  5. If you need to delete old backups, perform the deletion and complete the confirmation

Operations via backup_vault Tool

You can ask the assistant for similar requests:

  • “Check dsh-vault backup status”
  • “Backup DSH data immediately”
  • “List all backups”
  • “Restore chat history from a specified backup”
  • “Delete an old backup with a specified name”
  • “Generate an offline recovery script”

Tool parameters can be written as:

backup_vault action=status
backup_vault action=backup
backup_vault action=list
backup_vault action=restore name=<backup name> scope=all|sessions|data
backup_vault action=delete name=<backup name>
backup_vault action=make_script

Meaning of scope:

  • all: Full restore
  • sessions: Chat history
  • data: Workspace settings/data

Offline Recovery

If a recovery script has been generated:

  1. Quit the desktop application
  2. Run restore-latest.ps1 under ~/.dsh-backups

If a script is not used, you can also manually copy:

~/.dsh-backups/backup-<timestamp>/
→ ~/.dsh/

It is best to quit the desktop application before restoring chat history, as chat history files may be locked while DSH is running.

Applicable Scenarios and Notes

dsh-vault is suitable for the following scenarios:

  • Need to back up DSH chat history, workspace data, settings, and credentials outside ~/.dsh
  • Need to recover as soon as possible after data is cleared
  • Have dsh-usage-plugin installed and wish to back up usage data as well

Notes before use:

  • The plugin runs with the permissions of the current dsh process; it is recommended to check the source code and license before installation
  • Runtime environment requires Node.js >= 18
  • The backup directory contains .credentials.yaml which may contain API keys; avoid exposing it to untrusted locations
  • Restore will overwrite current data; confirm the backup timestamp first
  • The old npm package is no longer maintained; please use the new package name

Links

  • GitHub: https://github.com/feiyang-dev/dsh-vault
  • Directory Page: https://www.skillhub.cn/plugins/feiyang-dev/dsh-vault (This address is from plugin directory clues and not confirmed in the current data collection)