dsh-dschat:在 DSH 桌面版主面板里嵌入 DeepSeek 网页聊天

前言

在 DSH 里做智能体或日常开发时,经常要在 IDE 侧栏和浏览器之间来回切到 chat.deepseek.com 对话。单独开浏览器标签可以,但和 DSH 工作区是两套窗口。社区插件 dsh-dschat(维护者 Jakcet,分类:客户端)的做法是:在 DSH 桌面版侧栏增加入口,在主面板里用 Electron <webview> 原样加载官方网页,并附带导航工具栏与本地登录快照,减少重启后重复登录的负担。

下面介绍它是什么、能做什么、如何安装,以及使用时要接受的宿主限制。

这是什么

dsh-dschat 把 DeepSeek 网页版聊天装进 DSH 桌面版的主面板:侧栏多一个「DeepSeek 网页版」入口(蓝色鲸鱼气泡图标),点开即 keyed 主面板;页面来源是 https://chat.deepseek.com/,插件不改页面、不注入脚本。登录在 DeepSeek 自有页面上完成,插件不接触密码。

该能力依赖 DSH 桌面版 preload 暴露的 globalThis.dshDesktop.browser;在 DSH Web 版中面板只会显示提示,无法使用 webview。

核心功能

侧栏与主面板

侧栏图标列表增加 DeepSeek 网页版入口,对应一个主面板,内部托管真实 DeepSeek Web 应用。

工具栏

主面板提供:后退、前进、刷新、回到 DeepSeek 首页、显示当前地址、在系统浏览器中打开。

原样加载官方站点

dom-ready 后通过 loadURL 载入 https://chat.deepseek.com/。除登录后读取一次 localStorage 用于快照外,不对页面做改写。

登录快照

DSH 侧栏浏览器的 partition 是进程内内存分区,应用重启后 cookie 会丢失。登录后,插件把 localStorage 里键名匹配 token / user / auth / session / login 的字符串值,经 host 路由写入本地文件:

~/.dsh/dsh-dschat/storage.json

文件权限为 0600。下次打开时先回填这些键,再刷新页面。能否因此跳过登录页,取决于 DeepSeek 网页版把会话放在哪里:httpOnly cookie 不在快照范围内。

安全边界(工作方式摘要)

插件通过 globalThis.dshDesktop.browser.acquire(workspace) 申请 guest,主进程在 will-attach-webview 中校验 lease 与 partition 后才挂载 <webview>。与内置侧栏浏览器共用 lease 校验、沙箱与导航策略,插件本身拿不到 Electron/Node 权限。面板卸载时调用 bridge.release(lease) 释放 guest。

安装与要求

环境要求

  • DSH 桌面版(必须)
  • DSH 版本:>= 0.2.1-rc.2(见 package.json engines.dsh)

安装

在 DSH 插件市场搜索 dsh-dschat 安装,或把该包作为 bundle 装进你的 DSH profile:

npm install dsh-dschat

安装插件会以当前 DSH 进程权限运行;启用前建议自行查看 仓库源码 与 MIT 许可证。

典型用法

  1. 确认使用的是 DSH 桌面版,且版本满足 >= 0.2.1-rc.2。
  2. 按上一节完成安装后,在侧栏点击「DeepSeek 网页版」图标,打开主面板。
  3. 在嵌入页面中按 DeepSeek 官方流程登录;登录态相关 localStorage 会自动备份到 ~/.dsh/dsh-dschat/storage.json。
  4. 使用工具栏进行后退、前进、刷新、回首页,或需要时在系统浏览器中打开当前站点。
  5. 若需清除本地快照,删除 ~/.dsh/dsh-dschat/storage.json 即可。

插件不代理、不抓取、不转发聊天内容,仅渲染官方页面并保留上述本地快照文件;快照可能含登录相关明文,请像对待 cookie 文件一样保管,勿分享。

适用场景与注意

适合谁: 希望在 DSH 桌面版同一工作区内直接使用 DeepSeek 网页聊天、并愿意接受「嵌入 webview + 本地 localStorage 快照」方案的用户。

已知限制(来自 DSH 宿主策略,插件无法绕过):

  • guest 内发起的下载会被取消。
  • 通知、麦克风、剪贴板等权限请求一律拒绝。
  • 新窗口打开请求会转为同面板内导航。
  • 浏览器 partition 每次启动重建,仅靠公开 API 无法实现重启后完全零登录。
  • 仅桌面版可用。

隐私: 除本地快照外无额外上报;清除快照即删除插件保存的登录相关备份。

仓库结构(便于对照源码)

文件 作用
index.js host:快照与日志的 HTTP 路由、客户端模块清单缓存刷新
client.js client:侧栏图标、主面板、webview 生命周期、工具栏
cordis.patch.yml bundle patch
icon.svg 插件图标

结尾

dsh-dschat 的价值很直接:在 DSH 桌面版里给 DeepSeek 官方网页聊天一个带工具栏的固定入口,并用 ~/.dsh/dsh-dschat/storage.json 尽量延续 localStorage 侧的登录态。它不替代独立浏览器,也不保证重启后一定免登录,但在「一切皆插件」的 DSH 生态里,是把常用聊天页收进工作区的一种轻量做法。

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

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

小夜