dsh-mode-switch:在 Harness 桌面同窗口切换官方 DeepSeek Chat

前言

在 DeepSeek Harness Desktop 里做智能体开发时,经常要在 Harness 工作区和官方网页聊天之间来回切:开系统浏览器会丢上下文,多窗口也容易把草稿和会话弄散。社区插件 dsh-mode-switch(维护者 abalika)面向同一痛点:在桌面应用内用单个入口在 Harness 与 https://chat.deepseek.com 之间切换,并在受支持的 Windows 安装上可选跨重启保留网站登录。它是独立社区插件,与 DeepSeek 官方无隶属或背书关系;网页与账号服务仍由 DeepSeek 提供,插件不充当模型 API,也不代替网站登录。

这是什么

dsh-mode-switch 为 DeepSeek Harness Desktop 增加同窗口的 Harness / DeepSeek 网页切换。按钮分别挂在 Harness 与 DeepSeek 网页自身左上角 LOGO 下方,不额外复制页头;返回 Harness 时尽量保留会话与草稿。分类属于 DSH 客户端插件;当前 GitHub 星标为 0,代码以 MIT 发布,包版本 0.2.2(package.json)。

目录页:skillhub.cn/plugins/abalika/dsh-mode-switch
源码与文档:github.com/abalika/dsh-mode-switch

核心功能

下面介绍 README 与架构文档中已写明的能力,不展开未在资料中出现的行为。

  • 单按钮切换:每个界面只有一个「切换到…」按钮,不用悬浮双按钮条。
  • 轻量嵌入:网页模式只在原 LOGO 下增加入口;正常使用时隐藏加载工具条。
  • 懒加载与保活:点击 DeepSeek 后才创建网页视图;来回切换不重建两侧页面。
  • 失败恢复:加载失败或崩溃时可重新创建受控网页。
  • 登录持久化(Windows):从 0.2.2 起默认在受支持桌面上自动配置登录保存;完全退出应用后完成设置,下次启动生效,无需另跑补丁命令。工作区使用分区名 persist:dsh-deepseek-chat-v1;插件声明不读取或上传密码、Cookie、聊天记录,不提供账号中转。
  • 隐私边界:Cookie、localStorage、IndexedDB 由 Electron 保存在本机用户数据目录;首次换分区、网站使登录失效、主动退出或清理数据后仍可能需要重新登录。

界面按钮目前为中文。网页版 Harness 在没有桌面浏览器桥接接口时不显示入口;无法定位 LOGO、侧栏折叠或登录页无侧栏时,会显示紧凑备用入口(Harness 左上角,网页右上角)。

兼容性与环境

项目 支持范围
桌面版本 0.2.0-rc.2 / 0.2.1-rc.2
安装方式 桌面版自带 DSH CLI,安装本地 .tgz
Node.js 22+
默认登录保存 Windows;退出后自动配置,精确校验主程序代码,未知版本拒绝修改

宿主或 chat.deepseek.com 升级后可能需要重新适配;下载、麦克风、摄像头和部分弹窗仍受宿主限制。

安装与启用

安装命令以仓库 docs/INSTALL.md 为准。也可从 Releases 下载 dsh-mode-switch-0.2.2.tgz。文档示例面向 Windows PowerShell,路径需改成本机实际目录;使用当前桌面安装自带的 CLI,沿用已有 DSH_HOME,不要用另外从 npm 全局安装的 CLI 去操作 desktop profile。

1、在源码目录打包(不需要 npm install):

npm pack --ignore-scripts
$Package = (Resolve-Path '.\dsh-mode-switch-0.2.2.tgz').Path -replace '\\', '/'
$DshApp = 'C:\path\to\DeepSeek Harness'
$Dsh = Join-Path $DshApp 'resources\runtime\cli\bin\dsh.cmd'

若安装中没有上述 CLI 路径,从桌面应用的命令管理菜单定位桌面版 dsh,参考 官方桌面说明。

2、先启动桌面应用完成初始化,再用应用菜单完全退出(仅关窗口可能只是隐藏到托盘)。

3、安装到 desktop profile:

& $Dsh plugin --profile desktop add "file:$Package" --ignore-scripts

4、重新启动该安装的 DSH Desktop。品牌下方应出现「切换到 DeepSeek」,切换后显示「切换到 Harness」。

更新时,完全退出应用后先移除再添加:

& $Dsh plugin --profile desktop remove dsh-mode-switch
& $Dsh plugin --profile desktop add "file:$Package" --ignore-scripts

插件以当前 DSH 进程权限运行;安装前应阅读源码与许可证。DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

日常使用不需要额外配置:在 Harness 左上角 LOGO 下点击「切换到 DeepSeek」进入官方聊天页;在网页侧 LOGO 下点击「切换到 Harness」回到工作区。两侧页面在切换过程中保持实例,草稿与会话尽量保留。

若不希望 Windows 上自动修改 app.asar 以启用登录保存,在首次启动 DSH 前设置环境变量并从该环境启动应用:

$env:DSH_MODE_SWITCH_PERSIST_LOGIN = '0'

已应用的补丁不会因该变量自动撤销;手动检查与回退见安装文档中的 persistent-session.cjs(--check / --restore)。非 Windows 仍可使用切换功能,但不会自动修改桌面程序。

网页加载异常时,可使用界面上的重新加载或返回 Harness;侧栏折叠等导致主入口不可见时,使用备用入口(Harness 左上角,网页右上角)。

适用场景与注意

适合谁:主要在 Harness Desktop 内开发、调试,又需要频繁对照或直接使用官方 DeepSeek Chat 网页的开发者;在 Windows 上希望减少每次重启后重复登录的用户(受支持版本且接受插件对 app.asar 的自动配置方式)。

务必知晓:

  • 登录保存通过修改受支持 Windows 桌面的 app.asar 实现,不是普通插件 API;助手只操作当前运行的一套安装,不强制退出、不提权、不下载程序;未知版本或无法写入时保留原程序。
  • 应用升级可能覆盖补丁,下一次插件启动会重新检测。
  • 卸载插件:& $Dsh plugin --profile desktop remove dsh-mode-switch;恢复桌面原始程序需另行执行安装文档中的 --restore。
  • 不要把 app.asar 备份或个人配置上传到公开仓库。

结尾

dsh-mode-switch 把 Harness 与官方聊天页收进同一桌面窗口,用 LOGO 下的单按钮完成切换,并在文档约定的 Windows 环境下可选保留网站登录。需要包文件、架构边界与验证记录时,可继续阅读仓库内的 docs/ARCHITECTURE.md、docs/REVIEW.md。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye