Sessions & Messages

dsh-mode-switch

abalika/dsh-mode-switch · ★ 0

abalika

A community plugin for DeepSeek Harness Desktop: switch between Harness and official DeepSeek Chat, with optional persistent login on Windows.

License
MIT
Added
2026-10-30
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-10-30T09:38:15.831Z
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add 'github:abalika/dsh-mode-switch#3b7df5d91995c6645df00f93f814357478507192'

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Install
  2. Remembering login
  3. Limits
  4. Develop

中文 · Download · Installation and rollback · Architecture

An independent community plugin for DeepSeek Harness Desktop. A single action beneath each surface's own logo switches between Harness and the real DeepSeek Chat website. There is no duplicate chat header. Switching back preserves the mounted Harness UI and draft. This project is not affiliated with or endorsed by DeepSeek. Button labels are currently Chinese.

Supported desktop builds: 0.2.0-rc.2 and 0.2.1-rc.2. Tooling requires Node.js 22+. The plugin uses the desktop's owned browser bridge and does not appear in web-only hosts without it.

Install

Download dsh-mode-switch-0.2.2.tgz from Releases, or run npm pack --ignore-scripts in the source folder. Initialize and fully quit DSH Desktop, then add the tarball to its desktop profile using the CLI bundled with that installation. Restart. See Windows commands and rollback. Development dependencies are not needed. private: true prevents accidental npm publication; local tarballs and GitHub distribution still work.

Remembering login

Automatic by default since 0.2.2; no separate patch command is required. On activation, the plugin checks its current Windows desktop installation. If setup is needed, a hidden one-shot helper waits for DSH to fully quit, then backs up and patches the supported archive. Storage takes effect on the next launch. Activation works even when installation uses --ignore-scripts. Already-enabled installations keep their existing partition.

This modifies the current desktop's app.asar; it is not a standard plugin API. Exact supported main-code hashes, stopped-app checks, verified backups and atomic replacement remain mandatory. No forced shutdown, elevation or downloads are used. Uninstalling/replacing the pending plugin cancels setup. The helper exits after success, failure or a seven-day deadline; a later activation can retry. Unsupported builds and non-Windows hosts are left unchanged. Set DSH_MODE_SWITCH_PERSIST_LOGIN=0 before the first activation to opt out. desktop/persistent-session.cjs remains available for explicit diagnostics and rollback; it refuses restore over an update.

The guest uses persist:dsh-deepseek-chat-v1; unrelated workspaces stay ephemeral. Cookies, localStorage and IndexedDB remain in Electron's local user data. The plugin does not read/transmit credentials or chat history. Sign-in may be needed once after changing partitions, and again after expiry, logout or clearing storage. App upgrades may overwrite the patch.

Limits

There is no direct public slot beneath the logo. The Harness adapter targets supported builds' semantic CSS-module suffixes. On https://chat.deepseek.com only, a sandboxed UI adapter inserts an action into public logo layout without reading account, input or conversation contents. A compact fallback appears when no suitable logo is visible: top left in Harness, top right on the website, including sign-in pages without a sidebar. Host or website releases may require adaptation. Recovery tools appear only when needed. Downloads, device permissions and some popups remain limited by the host. This is an embedded website, not a model API integration.

Develop

npm ci --ignore-scripts
npx playwright install chromium
npm test
npm run check:release
npm run release:source

Contributing covers optional Windows archive and cross-process Electron tests. The release builder copies only allowlisted source. Never upload the entire development folder, backups, profiles or private screenshots.

Code is MIT licensed. Read third-party notices and security notes. Trademarks remain with their owners.