前言¶
在 DeepSeek Harness(DSH)桌面端里,主工作区通常走 API Key 与正式会话;而官方网页聊天(chat.deepseek.com)走的是另一套额度与登录态。若经常在「免费网页聊几句」和「用 API 开新会话写代码 / 跑智能体」之间切换,就需要在界面里反复换应用或换标签页。
dsh-work-chat-switch 由社区维护者 M4XC117 发布,归类为客户端插件。它在侧边栏左上角提供类似 ChatGPT 的「聊天|工作」双按钮:一侧在主列内嵌官方网页聊天,另一侧回到常规会话并新建一条 API Key 工作会话。下面介绍定位、能力与安装用法;事实以 GitHub 仓库 README 为准。
这是什么¶
插件 bundle 名称:dsh-work-chat-switch(当前资料中版本 1.0.2,许可证 MIT)。它向 DSH 注入客户端逻辑与一条 Host 行,不在 Host 侧实现额外业务;交互集中在侧边栏与主列。
| 按钮 | Tooltip | 作用 |
|---|---|---|
| 聊天 / Chat | 无限制使用 / Unlimited use | 主列切换到 https://chat.deepseek.com/,以桌面端 <webview> guest 内嵌 |
| 工作 / Work | 使用API额度 / Uses API quota | 回到 Conversation,并以 deepseek-official 提供商新建下一条空白 API Key 会话 |
社区目录页:SkillHub — dsh-work-chat-switch。目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系;安装前宜自行阅读源码与许可证,插件在当前 DSH 进程权限下运行。
核心功能¶
侧边栏「聊天|工作」切换¶
DSH 自带的「New Session」按钮由 @deepseek-ai/dsh-client-ui-sidebar 绘制,本身没有插件插槽。本插件测量该按钮区域,用 visibility: hidden 隐藏原按钮(保留布局占位),再在相同矩形从 shell.overlay 绘制 Chat / Work 一对按钮。
若找不到该按钮(不同构建、无此 shell、或侧边栏收折为 rail),则恢复原厂按钮,插件不绘制替换 UI。切换时主列会先盖一层磨砂层,再替换底层视图,约 250 ms 保持 + 250 ms 淡出;切换过程中两个按钮会暂时禁用。
聊天:内嵌官方网页¶
chat.deepseek.com 的 CSP 为 frame-ancestors 'none',无法直接用 iframe。桌面端通过租约门控的 browser bridge 创建 guest,流程如下:
- 调用
dshDesktop.browser.acquire(partitionKey)预留 guest,返回 lease 与 approved partition。 - 挂载
<webview name="<lease>" partition="<approved>" src="about:blank#<lease>">;主进程会拒绝无匹配 lease 的 guest。 dom-ready后再导航到聊天页。
Guest 为沙箱、无额外权限、禁止下载,且仅限 http(s) 导航。Partition 为应用进程生命周期内的浏览器存储:本次运行内登录可保留、各 Chat 面板共享,应用退出后不写入磁盘——这是桌面浏览器行为,非本插件单独持久化。
工作:API Key 会话¶
「工作」走常规 Host 会话 API:uiWorkspace.connectWorkspace、remote.session.selectModel、uiWorkspace.openSession。若无可用 API Key 模型路由,会回退到部署默认模型,并在按钮下方显示简短提示;会话仍会打开。
安装与启用¶
发布包为纯 JavaScript,无构建步骤,也无 install-script 审批。
桌面应用内: 打开 Plugins → Add,粘贴 dsh-work-chat-switch 并确认。bundle 会插入一条 Host 行并立即加载 Client 半部分,一般无需重启即可看到 Chat / Work。
终端(dsh 已在 PATH):
dsh plugin add dsh-work-chat-switch
也可在 Plugins → Add 中选择本地路径安装 checkout;资料未要求 git clone 作为唯一方式。
引擎要求(package.json):engines.dsh >= 0.2.2-rc.1;README 写明在 DSH 桌面 0.2.2-rc.1 上验证。
典型用法¶
- 安装并确认侧边栏左上角出现「聊天」「工作」。
- 点 聊天:主列加载内嵌官方网页聊天;在 guest 内按网页流程登录(登录态在本次应用运行内有效)。
- 点 工作:回到 Harness 会话界面,新建空白会话;需已配置 deepseek-official 的 API Key,否则使用默认模型并见按钮下提示。
- 自带「New Session」快捷键仍按部署默认模型新建会话;仅上述两个按钮走 Chat / Work 切换逻辑。
Web 构建无 lease bridge,且页面拒绝 iframe,内嵌聊天仅桌面端可用;不满足条件时面板会显示说明文案。聊天页需在本机网络可达,账号须符合所在地区要求;加载失败时错误信息显示在面板下方。
适用场景与注意¶
适合: 经常在同一 DSH 桌面窗口里交替使用官方免费网页聊天与 API 工作会话的开发者。
注意:
- 仅桌面应用完整支持内嵌 Chat;Web 版仅有提示,无法同等内嵌。
- 工作模式依赖 API Key(
deepseek-official);无 Key 时回退默认模型,功能降级但仍可开会话。 - 切换逻辑替换的是随版本发货的侧边栏按钮;DSH 升级若改名或移除该按钮,替换可能失效(回退后应用仍可用,但双按钮可能不出现)。
- 插件以当前 DSH 进程权限运行;安装前请检查 源码 与 MIT 许可证。
相关文件(仓库结构)¶
| 文件 | 用途 |
|---|---|
package.json |
Bundle 清单:patch、Client 半部、locale 与 icon |
cordis.patch.yml |
插入 Host 行 |
index.js |
Host 半部(无 Host 行为) |
client.js |
侧边栏替换、内嵌 Chat、Work 会话流 |
locale/*.json |
插件管理器展示元数据 |
icon.svg |
Bundle 图标 |
结尾¶
dsh-work-chat-switch 把「官方网页聊天」和「API 工作会话」收到侧边栏两个按钮里,减少窗口切换,同时尊重聊天页 CSP 与桌面端 guest 安全模型。需要查阅介绍与安装入口时,可看社区目录 SkillHub 与仓库 GitHub。