前言¶
DeepSeek Harness 是一个本地运行的智能体开发与调试工具。在使用过程中,开发者常需要在 Harness 的原生工作区、会话列表,与 DeepSeek Chat 的网页版大模型之间来回切换。频繁手动跳转会打断工作流。
下面介绍 mryouyouHK/youyou-deepseek-chat-switch。这是一个 DSH 插件,在 Harness 左侧侧边栏新增模式切换,可在「HARNESS」与「Chat」之间快速切换,同时支持从 Harness 会话直接向 DeepSeek Chat 发送内容。
是什么¶
该插件由 mryouyouHK 维护,归类为客户端插件。GitHub 仓库地址为 https://github.com/mryouyouHK/youyou-deepseek-chat-switch。插件名称为 youyou-deepseek-chat-switch,版本 1.0.0,MIT 许可证。
核心价值是在 Harness 界面内集成 DeepSeek Chat 的访问入口,减少浏览器标签页的切换,保持上下文连续性。
会话目录模式:HARNESS / Chat¶
左侧会话目录(原生会话列表)顶部新增一组模式切换 Tab,固定在会话列表上方。
| Tab | 内容 |
|---|---|
| HARNESS(默认) | 当前 app 原生会话内容(Workspace / 会话树) |
| Chat | 本插件 deepseek-chat-switch:history 里记录的 DeepSeek Chat 浏览历史:今天 / 昨天 / 更早分组 |
- 切到 Chat 时原生列表只是被隐藏(
display:none),组件不卸载,切回 HARNESS 会立即恢复滚动位置与展开状态。 - 点击 DeepSeek Chat 图标打开插件时,会话目录会自动切到 Chat(写入
deepseek-chat-switch:directory-mode)。 - Chat 列表头部右侧有「新建」与「更多」两个图标按钮。新建在插件面板打开 DeepSeek Chat 的新对话;更多展开菜单,包含「清空历史」(无历史时禁用)。
- 每行标题前显示来源图标:DeepSeek / 元宝 / 豆包 用各自官方 logo;其他站点则用页面标题的第一个字做成字母徽标。
- 头部筛选按钮可按模型过滤:全部 / DeepSeek / 元宝 / 豆包 / 文心一言 / 其他。选择保存在
deepseek-chat-switch:chat-filter。 - 只显示真实对话:三个支持站点都必须带对话 id 才会显示。DeepSeek 需
/a/chat/s/<id>(或chat_id/session_id参数);豆包需/chat/<id>;元宝需/chat/<id>(/chat/naQivTmsDa是默认空会话入口);文心一言的 URL 不含会话 id,因此不过滤。 - 标题超宽时单行省略号截断。鼠标悬浮该行时按约 30px/s 的节奏横向滚动到标题末尾,滚动过程中用左右渐变遮罩淡出。
- 悬浮任一行在右侧显示「更多」与「置顶」两个图标按钮。置顶按钮在鼠标停留约 500ms 后在按钮下方右对齐弹出浮层。
- 更多菜单与行悬浮「更多」都复用 Harness 原生会话行「更多」浮层的样式。
- 菜单包含置顶 / 取消置顶、重命名、复制对话链接、移除记录。重命名使用行内输入框,保存到
deepseek-chat-switch:history-titles。 - 从 Chat 列表点击标题打开页面时,只同步选中态,不刷新该条目的记录时间与排序。
- 当前页面选中态 / 悬停态:主面板里 DeepSeek 页面正在显示的地址会同步到侧栏列表,对应条目带
aria-current="true"。 - 侧栏收起时整组 Tab 隐藏。选择写入
deepseek-chat-switch:directory-mode,默认harness。
新会话页模式:HARNESS / Chat¶
点击左侧「新会话」后,Hero 标题「探索未至之境」下方新增一组模式切换 Tab,默认 HARNESS。
切到 Chat 后只保留输入框,隐藏工作区选择、代理模式、权限/模型等原生控件。Tab 与输入框之间保留 20px 间距。
- 对话模型:Chat 输入框右下角显示当前模型及其品牌 logo。默认 DeepSeek。点击弹出 Harness 菜单样式的列表,可切换 DeepSeek / 元宝 / 豆包 / 文心一言。选择写入
deepseek-chat-switch:chat-model。 - 记住上次选择:切到哪个 Tab 会写入
deepseek-chat-switch:hero-mode。从自动化任务页的「新建」进入新会话时,插件会先把hero-mode重置为 HARNESS。 - 点击发送:文字写入所选对话站点的输入框,图片/文件写入该页面的附件区。填入完成后先倒计时 5 秒,再自动点击网页的发送按钮。浮层头部显示「N 秒后点击发送」的计时。
- DeepSeek 的发送按钮是无文字的蓝色圆形图标,插件会先按
aria-label/title匹配「发送 / send」,匹配不到时按特征识别。 - 内嵌页不在所选站点时先导航到目标地址,加载完成后再重试。本轮发送浮层可重试,展示本次文字、附件和发送状态。附件可点击查看,倒计时结束自动关闭。
- 发送计时:填入完成后显示「N 秒后点击发送」,5 秒到点自动点击发送按钮,再过 3 秒派发 Enter 作为补充发送。
- 浮层 UI 复用 Harness 设计 token,保持与宿主一致的深浅色主题。
在其他会话里「问 deepseek」¶
Harness 会话头部注册了一个「问 deepseek」按钮,席位在 conversation.session.header.actions(标题行右端)。
按钮左侧复用 Harness 官方的鲸鱼标志,并设置 size: 14。
下拉菜单有两个选项:
- 默认不带上下文:打开右侧半屏并新开一个 DeepSeek 对话,不填任何内容。
- 带上下文(助手最后回复):打开右侧半屏,把 Harness 当前会话最后一条助手回复填入 DeepSeek 对话框。
取法:助手回复是唯一带 data-chat-group-part="response" 的流项,因此用 document.querySelectorAll('[data-chat-group-part="response"]') 取最后一个非空节点并读其 innerText。超过 4000 字保留尾部,首行为「以下是 Harness 对话中助手最后一条回复:」。
已知限制:不能截图;上下文来自已渲染的 DOM;内容读取失败时按钮旁会提示「没有可用的对话内容」。
半屏表面固定以 100% 缩放渲染,避免站点布局被放大后错位。脚本用 MutationObserver + requestAnimationFrame 节流跟随 SPA 路由变化。
安装与启用¶
在 Harness 客户端安装命令为:
dsh plugin add github:mryouyouHK/youyou-deepseek-chat-switch
安装后插件会自动加载,无需额外配置。
典型用法¶
- 安装插件后,在 Harness 左侧会话目录顶部会看到「HARNESS」与「Chat」两个 Tab。
- 切到 Chat,即可查看并打开之前访问过的 DeepSeek Chat 对话。
- 在新会话页切换到 Chat 模式,选择模型,输入文字或附件,插件会自动填入对应站点的输入框并触发发送。
- 在任意会话头部点击「问 deepseek」按钮,可选择是否携带当前会话的助手最后回复,在 DeepSeek Chat 中继续对话。
适用场景与注意¶
适合需要在 Harness 中频繁访问 DeepSeek Chat、希望保持上下文连续性的开发者。
插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。已知限制:附件上传与自动发送依赖 DeepSeek 站点的文件输入/拖放与发送按钮实现,站点改版可能失效;图片/文件目前限制单个 10MB、最多 10 个。
结语¶
DeepSeek Chat Switch 在 Harness 与 DeepSeek Chat 之间提供了快速切换的入口,减少浏览器标签页切换,提升开发与调试效率。完整文档与源码可在以下链接查看:
- 目录页:https://www.skillhub.cn/plugins/mryouyouHK/youyou-deepseek-chat-switch
- GitHub:https://github.com/mryouyouHK/youyou-deepseek-chat-switch