DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
R

@njjpro/dsh-remote-workspace

Remote Workspace

dsh Web GUI 的设备工作区联邦:与另一个 DSH 实例配对,并从本地侧边栏浏览其项目和会话;每个对等会话都会通过回环嵌入代理在本地中央栏中打开

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:njjpro/dsh-remote-workspace#2f4e3338e7dfeea619adc8105dd232f43bfaf849
README兼容性版本

兼容性与来源证明

Remote Workspace 以 @njjpro/dsh-remote-workspace 发布,当前版本为 0.3.18。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/23

版本

0.3.18stable
2026/9/23

相关插件

正在加载相关插件…

最新版
0.3.18
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
Apache-2.0
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/9/23
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
Remote Workspace — DeepSeek Harness 插件(DSH Plugin)

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航Univer Officedsh-univer-officeDSH × Univer 集成,内置协作 Gateway 和 Viewer:内联预览、实时浮动 Worktree 窗口,以及 DeepSeek Harness 中的会话结束审查操作。

README

DSH Remote Workspace

English | 中文

Device-workspace federation for the dsh web GUI: pair into another DSH instance and browse its projects and sessions from the local sidebar, with each peer session opening in the local center column instead of a separate browser window.

This is a standalone plugin package for DeepSeek Harness (DSH). It is a single dual-face package: the host half owns the peer inventory routes a paired instance reads, the loopback embed proxy that republishes the peer GUI, and the control routes the local browser half calls; the browser half renders the collapsible remote-workspace group in the sidebar and hosts each peer session in an iframe.

It is independent of @linxin666/dsh-remote-web-ui at build time — no import, no package dependency. It reads that plugin's pairing identity through the remoteWebUiPairing cordis service at runtime, which is what makes the two packages installable side by side.

What it does

  • Lists the paired instance's workspaces (projects) and their sessions in the sidebar, under the official workspace list.
  • Opens a peer session in the local center column, mounted in place of the local conversation rather than in a new browser tab.
  • Starts a new conversation inside a remote workspace: the peer creates the session and the local half opens what it returns.
  • Keeps at most three peer panes mounted at once, so the per-origin connection budget is not exhausted by long-lived streams.
  • Marks each peer surface with data-dsh-plugin="remote-workspace" and a bare data-dsh-part value, so skins can anchor on it.

Install

Requires the official @linxin666/dsh-remote-web-ui plugin on both machines: it owns pairing, and this package only redeems a token that plugin issued.

From npm

dsh plugin --profile web add @njjpro/dsh-remote-workspace

From this repository (development loop)

git clone <this repository>
cd dsh-remote-workspace
pnpm install
pnpm build
dsh plugin --profile web add file:$(pwd)

Development

pnpm install
pnpm typecheck   # tsc -b --pretty false
pnpm test        # vitest run
pnpm build       # tsc -b && tsdown

build/tsdown.client.ts is this repository's client-bundle preset, lifted from the dsh-web monorepo's shared/tsdown.client.ts together with the platform seed table it reads, so the package builds without that repository present. pnpm-workspace.yaml and the root-level packages/ layout are not used here: this repository is the package.

Config

KeyTypeDefaultMeaning
enabledbooleantrueMaster switch; disabling removes both surfaces.
peerBaseUrlstring''Base URL of the paired peer instance; empty means no peer is configured.
peerPairTokensecret string''One-time pairing token minted on the peer's panel; exchanged once and persisted.
peerEmbedPortnumber43121Loopback port the embed proxy binds, on 127.0.0.1 only.

Security model

  • The peer inventory routes (/pair-remote/*) require a live paired-device credential and do not treat loopback as a bypass. The predicate is the host's own pairing check, so a request that could not pair with this instance cannot read its inventory.
  • The control routes (/api/pair/peer/*) are loopback-only: both the socket address and the Host header must be loopback, so a LAN origin cannot reach the ticket-minting or session-creating endpoints even with a forged Host.
  • Pairing itself is never performed here. Minting, revoking, and the device cookie all belong to @linxin666/dsh-remote-web-ui; this package redeems POST /api/pair/accept and stores the resulting credential per peer base URL.
  • The embed proxy binds 127.0.0.1 and republishes the peer GUI with that credential attached. Embed tickets are one-shot and TTL-bounded, and are minted only for sessions the inventory actually lists.
  • Without the official plugin installed, the pairing service is absent and every peer route fails closed with 401.

Known limitations

  • A peer session's document is served by the peer, so its shell, service worker, and injected scripts are the peer's copies. Fixes to those belong on the peer's install, not here.
  • The sidebar mount and embed layout overrides anchor on official CSS-module class suffixes, so an official GUI redesign needs a visual QA pass before release.
  • Loopback embed proxies are HTTP only; a peer reached over a tunnel still terminates at the peer's own origin.
  • The runtime pairing dependency means this package is not usable on its own: the official plugin must be installed for the fences to admit anyone.

License

Apache-2.0.