deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
Adds a Windows File Explorer context menu entry: right-click a folder and pick "Open DSH Workspace Here" to register it as a DSH workspace, start a session in it, and switch the DSH page to that workspace.
Unofficial community project. Not affiliated with or endorsed by DeepSeek.
dsh CLI; if it is running (even minimized or hidden in the tray), the window is restored and brought to the front.--browser; the bridge then focuses the browser page.wscript hidden-window launcher, so no console window flashes./api RPCs.Requirements: Windows, Node.js >= 20 on PATH, and a DSH installation — the official DeepSeek Harness Desktop app, the legacy Tauri DSH Desktop, or the official CLI (npm i -g @deepseek-ai/dsh). The bridge launches DSH automatically when it is not running; it discovers the launch path from a runtime file that DSH writes, so run DSH once before the first use.
One-liner (PowerShell 5.1+ / pwsh):
irm https://raw.githubusercontent.com/tsingshitao-nuke/dsh-set-workspace/main/scripts/install.ps1 | iex
Git Bash / WSL:
curl -fsSL https://raw.githubusercontent.com/tsingshitao-nuke/dsh-set-workspace/main/scripts/install.sh | bash
The installer adds the bundle to every DSH profile it finds. The official Desktop app runs the desktop profile (~/.dsh/profiles/desktop) and dsh web runs web; both may exist side by side, and the context menu works for whichever one is running.
Manual install (official Desktop app):
# 1. install the bundle into the desktop profile
dsh plugin --profile desktop add github:tsingshitao-nuke/dsh-set-workspace
# 2. register the Explorer context menu, then restart DSH so the host half
# publishes its port
node ~/.dsh/profiles/desktop/node_modules/dsh-set-workspace/bin/install-context-menu.cjs
Manual install (dsh web profile): same commands with --profile web and the web path.
Remove the menu (keeps the bundle installed):
node ~/.dsh/profiles/desktop/node_modules/dsh-set-workspace/bin/install-context-menu.cjs --uninstall
File Explorer right-click
└─ wscript launch-hidden.vbs "%1" (hidden window)
└─ node set-workspace.cjs "<folder>"
├─ reads ~/.dsh/dsh-set-workspace/runtime.json (port + launch command)
├─ launches the DSH Desktop app — boots it when down, and when it is
│ already running the app's own single-instance handler restores,
│ shows and focuses its window (same trick as VS Code "Open with Code")
├─ probes the loopback ports (recorded, other profiles, live DSH
│ listeners, 19387/3080) and calls the one that answers
├─ POST /api/workspace/create { request: { path } } (idempotent)
├─ POST /api/session/create { workspaceId, sessionId: "dsw-open-…" }
└─ MessageBox confirmation
The DSH client half watches the session list, opens the "dsw-open-…" session,
and the page switches to the workspace.
The bundle is a standard host/client dual-half DSH package. The host half (src/index.ts) writes the current webserver port and the Desktop launch command to ~/.dsh/dsh-set-workspace/runtime.json. The client half (src/client/index.ts) performs the switch. The bridge script, whale icon, and launcher are copied to ~/.dsh/dsh-set-workspace/ (space-free, stable across reinstalls); the registry entries live under HKCU\Software\Classes\Directory\shell (no admin rights).
deepseek-ai/deepseek-harness → apps/desktop): the app ships its runtime inside resources/app.asar and starts it as a child process (…/app.asar/dsh/node_modules/@deepseek-ai/dsh-desktop-host/lib/index.js). The host half recognizes that layout from the running kernel's own arguments, falls back to the running executable, and finally to the Windows install registration (DisplayIcon/InstallLocation/UninstallString), and records <install>\DeepSeek Harness.exe. Launching that exe again boots DSH when it is down; when it is already running, the app's requestSingleInstanceLock + second-instance handler (Electron's standard VS Code-style behavior) restores, shows and focuses its window. The app defaults to port 19387.<app>/dsh-desktop/... + <app>/dsh-tauri-app.exe is still detected and launched the same way.npm i -g @deepseek-ai/dsh, DSH served into a browser): the host records the dsh web launch command (the same node + lib/bin.js the running kernel uses, with --no-open --host 127.0.0.1 --port <port>); the bridge boots DSH through it when it is down and focuses the browser page — no desktop window required.config.json override ({"launch":{"exe":"…"}}), a live Desktop process, the recorded install location, the Windows registration, or a sibling of the previous launcher.npm install
npm run build # host (tsc) + client (tsdown -> lib/client.js)
npm run typecheck
npm test # launch-detection + README tests (Node 22+, uses --experimental-strip-types)
npm run test:bridge # optional: end-to-end bridge run against a live DSH host
Directory\shell verbs may appear under "Show more options" (Shift+F10) instead of the top-level menu. Putting them at the top level requires a COM IContextMenu handler, which this plugin does not ship.dsh://open remains the app's own way to raise the window.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。