前言¶
在 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。