前言¶
在 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。
- 目录页:SkillHub - Jakcet/dsh-dschat
- 源码与说明:GitHub - Jakcet/dsh-dschat
- npm 包名:
dsh-dschat(README 标注当前发布版本可通过 npm 徽章查看;package 元数据中版本为0.1.2) - 许可证:MIT
核心功能¶
侧栏与主面板¶
侧栏图标列表增加 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.jsonengines.dsh)
安装¶
在 DSH 插件市场搜索 dsh-dschat 安装,或把该包作为 bundle 装进你的 DSH profile:
npm install dsh-dschat
安装插件会以当前 DSH 进程权限运行;启用前建议自行查看 仓库源码 与 MIT 许可证。
典型用法¶
- 确认使用的是 DSH 桌面版,且版本满足
>= 0.2.1-rc.2。 - 按上一节完成安装后,在侧栏点击「DeepSeek 网页版」图标,打开主面板。
- 在嵌入页面中按 DeepSeek 官方流程登录;登录态相关
localStorage会自动备份到~/.dsh/dsh-dschat/storage.json。 - 使用工具栏进行后退、前进、刷新、回首页,或需要时在系统浏览器中打开当前站点。
- 若需清除本地快照,删除
~/.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 生态里,是把常用聊天页收进工作区的一种轻量做法。