liangmianya/dsh-synapse
liangmianya/dsh-synapseDeepSeek Harness 的可视化非线性对话工作区:把会话、追问与分支变成可浏览、可拖拽的对话地图。
English | 中文
DeepSeek Harness session and workspace manager —— Workspaces: archive and visibility. Sessions: move, migrate presets, delete, favorite, review later, prioritize, tag, and annotate. Batch operations.
Verified with the official DSH Desktop client; see 5 Compatibility for the current verification scope. Both environments share the same plugin Host/client functionality; environment-specific installation notes are documented below.
cwd to the target workspace, synchronizes the runtime workingDirectory projection for active agents, and updates the live writer's header in place so any pending tool calls keep landing on the new path. When the session's cwd already equals the target workspace path but its membership was never recorded, only the missing membership is repaired: no cwd rewrite, no artifact rewrite or move, and no session restart.agent-preset/selected event (or the session header if no such event exists) so a session whose preset was renamed or removed can resume. Message history is never altered.null priorities are normalized to 3., and Chinese , are separators, whitespace is trimmed, duplicate tags are merged case-insensitively.dsh-session-manager/annotations.v1.json), keyed by session ID. Same-origin client instances stay in sync via BroadcastChannel. Saves are durable across crashes; revision conflicts surface a "load latest" prompt.settings.plugin.item). Displays current version, latest version, inline check/update buttons, an auto-check toggle, and GitHub repository link.registry.npmjs.org, default) and China mainland mirror (registry.npmmirror.com) in the Settings Card. Check for updates and download packages directly from the selected registry.archivedSessionIds so hidden workspace sessions never spill into "Ungrouped", supporting dark/light themes and persistent recovery across DSH restarts.The right side of the title area exposes actions for the current session: Archive / Unarchive, Favorites, Review-later, Tags / Notes, Move to workspace, Delete session, and More actions (⋯), matching native DSH title-bar button sizing (28px height, transparent ghost style) and vector SVG icon design.
Open Sessions & Workspaces from the bottom of DSH's sidebar to browse all sessions and workspaces: the session management tab supports switching workspaces, searching by title / ID / notes / tags, applying filters and sorting, and running Open / Archive / Unarchive / Tags / Notes / Move / Migrate preset / Delete on any session row; the workspace management tab supports searching, sorting, bulk actions, and visibility toggling.
The Batch process button in the session manager panel header is the entry point: click it once to enter batch process (row checkboxes appear, the Select all in filter / Clear selection pair and the bulk action bar show up); click it again to exit batch process.
Navigate to DSH Settings -> Plugins -> Session Manager to inspect versions, switch between npm official and China mainland mirror registries, toggle auto-update checks, or trigger updates.
In DSH, open Plugins, add a plugin, search for dsh-session-manager, and install it. This method is supported by both the official Web UI and Desktop app.
This plugin is listed in dsh-market and awesome-dsh-plugin.
Install from npm:
dsh plugin --profile web add npm:dsh-session-managerInstall from GitHub:
dsh plugin --profile web add github:hkkz9522/dsh-session-managerRestart DSH Web after installation. If the browser still loads an older client bundle, use Ctrl+Shift+R to force-refresh the page.
Thedesktopprofile is managed by the official Desktop app and is not intended to be modified with the regulardshCLI. Desktop users should install the plugin through Plugins in the app.
Install the local repository via CLI:
dsh plugin --profile web add <path-to-this-repository>The local repository is linked to the current profile as a plugin checkout, making it suitable for modifying the source code directly and testing changes.
Open Plugins in the official Desktop app and use the absolute path to the local repository as the installation source.
For client-side code, changes can be reloaded automatically after saving when HMR is working normally. If a change does not take effect immediately, reload the current interface or restart the corresponding DSH Web / Desktop client.
After changing plugin dependencies, package.json, bundle configuration, or other installation- or loading-related settings, reinstalling the plugin or restarting the corresponding client is recommended.
cwd and the existing live writer's header.cwd names a registered workspace but whose membership record is missing are re-registered through the official DSH API (idempotent). Incomplete scans skip pruning only: existing membership is never dropped, and live sessions or memberships added during the scan are always preserved./session-manager/api/* routes are protected by DSH official connection.admit() and requestRejection() gates, strictly enforcing Owner-only privileges (peer.principal.kind === "owner") and failing closed (HTTP 503) if connection services are absent, ensuring that exposed network tunnels or local proxies cannot bypass access control.The table below lists verified version combinations between DeepSeek Harness (DSH) and dsh-session-manager.
Verification note: From version 0.6.3 onwards, this plugin is verified with the official DSH Desktop client only (the Web UI shares the same Host/client codebase but is no longer covered by the verification matrix).
DeepSeek Harness (DSH) · dsh-session-manager · Verified Environment v0.2.1-rc.2 · 0.7.5, 0.7.4, 0.7.3, 0.7.2 · Desktop v0.2.0-rc.2 · 0.7.1, 0.7.0, 0.6.4, 0.6.3, 0.6.2, 0.5.4 · Desktop v0.1.7-rc.2 · 0.5.3 · Desktop / Web UI v0.1.7-rc.1 · 0.5.2 · Desktop / Web UI v0.1.6-alpha.2 · 0.5.1 · Web UI v0.1.5-rc.2 · 0.4.11 · Web UI v0.1.5-rc.1 · 0.4.10, 0.4.9, 0.4.7 · Web UI v0.1.3-alpha.2 · 0.4.6, 0.4.4, 0.4.1 · Web UI v0.1.2-rc.1 · 0.4.0 · Web UI v0.1.0-rc.7 · 0.1.2, 0.1.1, 0.1.0 · Web UI
The version combinations above have been tested with either the official Web UI or Desktop app. Other version combinations may also work but have not been individually verified.
When using a standalone DSH CLI/runtime, Node.js 22.15+ (22.x) or 24+ is required for built-in Zstd support. The official Desktop app ships and manages its matching runtime separately.
This is a Cordis plugin and declares cordis: ">=4.0.0-rc <5" as its peer dependency.
lib/index.js is the host-side ESM plugin; lib/client.js is the client UI bundle. No build step is required.npm run check
npm test
npm run check:package
git diff --checkTests use isolated temporary directories and the real plugin entry point, never real sessions. CI runs these checks on Windows / Linux with Node 22.15.0 / 24.
Optional integration check: run node scripts/smoke-test.mjs against a running DSH Web-profile test instance. It contacts a real service and is not part of the default unit test suite.
Release history is in CHANGELOG.md.
Thanks to everyone who installs and uses dsh-session-manager, and to the people who file issues and open pull requests to help improve it. Suggestions and feedback are welcome.