zekdeW/dsh-client-workspace-deep-link ↗★ 0
@zekdew/dsh-client-workspace-deep-link
Workspace deep link for the DeepSeek Harness web GUI: ?workspace=<dir> seeds and selects a directory-scoped session. Powers the DeepSeek Finder toolbar button.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-client-workspace-deep-link
English | 中文
A tiny client plugin for DeepSeek Harness that adds a boot-time workspace deep link to the web GUI: open
http://127.0.0.1:3080/?workspace=
and the page seeds a new session with that working directory and selects it, dropping you straight into a directory-scoped conversation. The directory's existing blank session is reused when one is listed, so repeated deep links land in the same conversation. The entry is consumed from the address bar before any network work, so a refresh never seeds a second session.
This makes the GUI launchable from any external tool — Alfred / Raycast / scripts on macOS or Linux, custom buttons, the DeepSeek Finder toolbar app — without touching the harness repository itself.
Install
Requires a working dsh installation (any recent build; the harness is pre-release, so plugin APIs may move).
# 1. install the package into the web profile
dsh plugin --profile web add github:zekdeW/dsh-client-workspace-deep-link
# 2. wire the plugin row into the profile's patch layer
# edit ~/.dsh/profiles/web/cordis.patch.yml and add:
# - insert:
# - id: workspace-deep-link
# name: '@zekdeW/dsh-client-workspace-deep-link'
# 3. restart the web server
kill $(lsof -ti :3080)
cd ~/dev/deepseek-harness && nohup pnpm dsh web >/tmp/dsh-web.log 2>&1 &
Then open http://127.0.0.1:3080/?workspace=/some/directory and a conversation scoped to that directory
starts immediately.
How it works
The plugin's browser half registers on ctx.workspaces / ctx.sessions — the same services the built-in
workspace picker drives — and on page load:
- reads
?workspace=from the URL and removes it from the address bar (keeping other query entries); - registers the path as a Workspace (
workspaces.create, idempotent on the canonical path); - connects its blank session (
workspaces.connectWorkspace, which reuses the directory's existing blank session) and selects it (sessions.open).
The seed retries only folded transport failures (, the page-load/connection race, bounded at 40 attempts with 250 ms backoff); a Host rejection (an invalid directory) stops it without selecting the failed session.