dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English | 简体中文
&style=flat-square&logo=npm&logoColor=white&labelColor=1f2430)
把 DeepSeek Harness(dsh)的 Web 界面装进一个桌面客户端: 多开多个实例 —— 本机、WSL2、或服务器上只有 URL 的远程 DSH 都能接。 每个实例各占一个窗格,多窗口自由排布与缩放;多实例之间互不干扰,每格有自己的浏览器会话。
一句话:给 `dsh web` 套一层窗口管理器 —— 多个实例并排跑,互不干扰。
它不是浏览器插件,也不是对 dsh 的重实现 —— 就是给 dsh web 已经提供的那套页面,套一层窗口管理外壳。
同样可能被搜到的说法:DSH 多开 · 多实例 · 多窗口 · 多开窗口 · 分屏 · 平铺 · 窗口管理 · 桌面客户端 · 客户端 · 套壳 · 网页套壳 · 远程接入 · 服务器 DSH · WSL2 · 独立会话 · 多会话 · 多标签 · 并排 · 自由布局 · DeepSeek Harness GUI · DSH GUI · dsh 图形界面 · dsh 桌面版
dsh 自带的 Web 界面很好用,但一次只能看一处、一个窗口。当你需要同时盯着本机 WSL 里的一处和 服务器上的另一处(甚至是同一个实例的两个不同会话)时,浏览器标签页就不够用了:分不清哪个是哪个、 cookie 互相覆盖、排布全靠手拉。
这个壳只做三件事:
· 多实例并排 · 一屏放几个 DSH,各自独立窗格,拖拽缩放、自由排布 独立会话 · 每一格是独立的浏览器 partition,cookie / localStorage 互不干扰 跨环境接入 · 本机 Windows、WSL2 里的、以及服务器上的远程 DSH(带 token 的 HTTPS 地址)都能接 一键分屏 · 1/2、1/3、1/4 分区,选中后其余实例自动填剩余格 自动发现 · 扫本机常见位置,找到已装的 dsh 就问你要不要加进来 内置安装 · 不用开终端 —— 界面上选版本、选 npm 源、指定端口,直接装一份 dsh
· · ·
· ·
~/.dsh、不动凭证文件,只读你指定的地址文件到 Releases 下载:
文件 · 说明 DSH.Multi-Instance-Setup-x.y.z.exe · 安装包 —— 常规 Windows 安装程序,可选安装目录、建桌面和开始菜单快捷方式 DSH.Multi-Instance-x.y.z-x64.zip · 免安装压缩包 —— 解压即用,不写注册表,适合放 U 盘或便携使用
文件名里的点是 GitHub 干的:上传时它会把名字里的空格换成 .(本地产物名里是空格)。需要 Windows 10/11。软件本身不含 dsh —— 装完在界面里点「下载实例」,或者接你已有的 DSH。
⚠️ npm 上现在只有 `0.0.1`,那是个占位空壳(只用来占住包名,装上去不会启动任何东西)。
可用的版本还没发到 npm —— 在那之前请用方式一或方式三。
想确认自己拿到的是不是真包,装之前先跑一句:npm view dsh-multi-instance version,现在它会返回 0.0.1。npm i -g dsh-multi-instance # 装完用 dsh-multi-instance 启动
dsh-multi-instance --version # 先确认装成了什么(不需要 Electron 也能看)
dsh-multi-instance --help # 全部开关npm 方式需要先有 Electron 运行时(npm i -g electron)。打包成 exe 的那两种方式不需要任何前置依赖。--version/--help是唯二不需要 Electron 就能用的开关 —— 装完先跑这两条,比启动失败再猜省事。
git clone https://github.com/BOWLUNA/dsh-multi-instance.git
cd dsh-multi-instance
npm install
npm start也可以双击 start.vbs(无黑框)或 start.cmd。
⚠️ 启动器里有一行unset ELECTRON_RUN_AS_NODE/set "ELECTRON_RUN_AS_NODE=",不要删。
这个变量残留为1时(Electron 系工具的子进程会继承),electron.exe会退化成纯 Node,
现象是「双击后毫无反应」。判据:electron.exe --version 输出的是 Node 版本号(v24.21.0这类)就是中了;正常应输出 Electron 版本v44.4.3。
选 npm 源(官方/华为云/淘宝/腾讯云)、指定端口,直接装一份。
按钮 · 作用 增加实例 · 手动加一个(本机 / WSL2 / 远程) 搜索实例 · 扫本机常见位置找已装的 dsh。刻意不扫全盘(尊重隐私),界面会写明这次扫了哪些地方 下载实例 · 在界面上装一份新的 dsh,可指定版本、npm 源、端口
一个「实例」记录的是:这处 dsh 怎么跑、怎么拿到带 token 的访问地址、怎么起停。按目标分三种:
类型 · 说明 WSL · 跑在某个 WSL2 发行版里。可指定发行版与用户名(留空 = 用默认用户),地址从 dsh-url.txt 或进程输出里取 Windows · 跑在 Windows 本机 远端 · 跑在别的机器上,只有 URL 和 token,壳只管显示
访问地址(含 token)按这个优先级解析:上次成功捕获并持久化的地址 → 你指定的地址文件 → 启动实例时从进程输出里现抓。
左侧的「检测」会从三个维度扫:
dsh 可执行文件与 npm 全局目录,拿到可执行文件路径DeepSeek Harness / DeepSeekHarness / dsh-* 等写法)判定特征(实测):无 token 返回 `401` 且响应体含 `dsh web authentication required`;带 token 返回 `303` 且 `set-cookie` 含 `dsh-auth-`。两者都符合才认。
发现功能只走这些地方:
范围 · 深度 PATH 里的 dsh · — npm 全局目录 · — 你的用户目录(优先 Desktop / Documents / Downloads / Projects / Code / Dev / Work 等) · 4 层 各盘根(C: D: …) · 2 层
实测走过 5441 个目录约 300ms,很快。它刻意不扫全盘,两个理由:
Documents、Pictures 里所有文件的名字。这个壳没有理由知道那些而且撞名只是线索,不是判据。目录名像 dsh 的很多(实测 28 个),但真装过 dsh 的目录里一定躺着 node_modules/@deepseek-ai/dsh/package.json —— 只有找到它才算数(实测 28 个里只有 1 个是真的)。
界面上会写明这次扫了哪些地方、走过多少目录。扫不到就用「增加实例」手填。
壳不捆绑 dsh。只有你点了「开始安装」,它才会往你指定的目录执行一次 npm install @deepseek-ai/dsh。
项 · 说明 装到哪 · WSL2 发行版(在该发行版里装)/ Windows 本机 目录 · 任意目录。~ 开头会展开成该用户的 home 版本 · 最新正式版 / 预览版 / 内测版,或点「拉取」列出全部历史版本任选 端口 · 装完自动创建的实例用这个端口 npm 源 · npm 官方 / 华为云 / 淘宝 npmmirror / 腾讯云 / 自定义
安装前可以「检查环境」确认 node/npm 就位,过程实时回显输出,装完自动 dsh --version 验证并建好实例。
实测数据(Windows 目标、npm 官方源):565 个包、约 4 分钟、产物 294MB、dsh --version 正常。
换源提示:四个源的 dist-tags 实测一致,差别只在速度。装得慢或超时就换近的源。窗格上没有边框也没有标题栏 —— 拿到的画面就是全部。排布结果是归一化坐标(0..1), 所以窗口缩放后会自动适配;退出时持久化,下次打开原样恢复。
实例不允许重叠:拖动时用最小平移向量推出,缩放遇到邻居就停。
同一个 dsh 可以开任意多个窗格。每个窗格有自己独立的浏览器会话(partition = persist:pane-),所以:
因为 token 会随会话存下来,用户配置文件里可能包含你填过的 token。那个目录别拿去分享或提交 Git。
抽屉 · 怎么叫出来 上侧(地址栏、刷新、新建、平铺、窗口控制) · 鼠标移到窗口最顶部边缘,或点顶部中间的小横条 左侧(实例列表、检测、安装、主题、语言、关于) · 鼠标移到窗口最左边缘,或点工具栏最左的 ≡
抽屉平时完全收起,展开时窗格会整体让位(不是盖在上面),所以标题栏和内容永远不会被压住。想让它常驻,点上侧工具栏的图钉。
· ·