DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-deepseek-web-chat

d

dsh-deepseek-web-chat

Manifest valid★ 2

在 Harness 内打开一个纯聊天窗口,直接使用 chat.deepseek.com 网页对话。

UI (client)hasBundlePatch

DeepSeek 网页聊天(Harness 插件)

test

作者:Dream · 当前版本:V1.6.11 · 版本记录见 版本迭代记录.md

在 DeepSeek Harness 桌面客户端里增加一个与主界面融合的 DeepSeek 网页聊天面板,直接加载 https://chat.deepseek.com/,并把聊清楚的内容预览、筛选、结构化后接力到 Harness 输入框;支持历史去重、反向补充上下文、完成通知和本地诊断。

原生右侧栏并排:左侧 Harness 对话与右侧 DeepSeek 聊天同屏,主对话自动让出宽度、不再被遮挡

上图:V1.4.0 原生右侧栏并排模式——DeepSeek 作为右侧栏 Tab 打开,Harness 主对话自动缩窄,两个窗口互不遮挡。

使用

  1. 安装后,左侧栏会出现一个 DeepSeek 鲸鱼图标,位于「插件」和「自动化任务」之间;有未读回复时会显示红点数字。
  2. 点击图标,会在主内容区打开 DeepSeek 网页聊天面板(不是单独的浮窗)。首次打开会显示三步引导。
  3. 点击面板左上角的返回箭头、左侧栏的其他面板或会话即可离开;聊天页面会继续保持挂载,再次点击图标即可回到原来的对话。
  4. 面板顶部提供「返回对话」「接力」「并排显示」「设置」「刷新」「在浏览器中打开」;标题会跟随 DeepSeek 当前会话。
  5. 快捷键:Ctrl/⌘+Shift+D 打开/关闭面板;Ctrl/⌘+Shift+E 直接进入接力预览;Ctrl/⌘+Shift+Space 打开/关闭 Quick Ask 紧凑小窗;在任意 Harness 输入框输入 /deepseek 打开面板,/deepseek-ask 打开小窗。Esc 逐层关闭弹层/小窗/停靠——焦点在 DeepSeek 网页内时同样有效(页面自身对话框内的 Esc 仍交给页面处理)。

Quick Ask 紧凑小窗

按 Ctrl/⌘+Shift+Space(或输入 /deepseek-ask)打开一个悬浮在 Harness 对话上的紧凑 DeepSeek 窗口,不切换主面板,适合临时追问;按 Esc 关闭,点顶栏展开按钮可回到完整面板。小窗复用同一个 DeepSeek 登录会话。按住标题栏空白处可拖动小窗到任意位置(拖动后位置会记住,下次打开仍在原处),标题栏聚焦时也可用方向键微调;窗口不会被拖出屏幕外。把小窗拖到屏幕右缘会出现分屏提示,松手即自动停靠为原生右侧栏 Tab,与 Harness 对话左右分屏;拖拽中按 Esc 取消并回到原位。

草稿保护

  • DeepSeek 输入框里未发送的内容会在停顿后快照到本机 localStorage(最多 50,000 字符,保留 7 天),用于应用重启、渲染进程崩溃或页面重载后的恢复。
  • 重新登录并加载完成后,如果检测到快照且输入框为空,面板顶部会出现「发现未发送草稿」提示;点「恢复到输入框」只填回文本,不会自动发送;输入框已有内容时会拒绝覆盖。
  • 发送消息或点「丢弃」后快照清除;快照只存本机,不上传,也不包含账号或登录凭据。由于快照包含草稿原文,敏感内容请用「丢弃」清理。

并排模式

点击顶栏的「并排显示」按钮,会打开 DSH 的原生右侧栏 Tab:右侧栏参与布局,Harness 主对话自动让出宽度,不再被遮挡;拖动右侧栏自带的分隔条即可调整宽度。Tab 内的全屏按钮会回到主面板并关闭该 Tab。

如果这个 Tab 之前被拖成了浮窗,插件会在首次挂载时自动把它收回停靠栏(之后仍可手动浮动)。重启后右侧栏若保留了 DeepSeek Tab,插件会等待右栏服务就绪再重新注册,正文不会显示成「这类内容还没有可用的查看方式」。若当前客户端没有 sidebarRight / sidebarRightTabs 能力,或原生右栏多次重试仍打不开,插件会打开全屏面板并提示「无法打开原生右栏」,不再退回会遮挡对话文字的浮层停靠。

接力到 Harness

面板顶栏的「接力」按钮会先打开预览,再插入 Harness 输入框(默认作为草稿,不会自动发送):

  • 菜单可选「整段对话」「最后一条回复」「当前一轮问答」「选中片段」;主按钮使用设置里的默认范围。
  • 预览里可以勾选具体消息、只保留「我」或「DeepSeek」、切换目标会话、查看字符数与估算 token。
  • 插入位置可选「末尾」(默认)或「当前光标」:在 Harness 输入框里点过光标后接力,内容会插到光标处(若有选区则替换选区);会话不匹配、光标越界或草稿已变化时自动回退到末尾,撤销会精确还原包括被替换的选区。未检测到光标时该选项置灰并说明将插入末尾。
  • 三种交接格式:原文、结构化摘要(背景 / 目标 / 约束 / 关键决策 / 待办 / 验收标准)、仅结论。摘要在本地生成,上限为原文的 40%。
  • 任务指令模板:按此实现、先给计划、代码 / 方案审查、作为 /goal、作为 /plan;选择后会把指令拼进最终文本。
  • 开启设置里的「允许插入并发送」后,预览可勾选「插入后立即发送」;发送前会校验目标输入框确有本次内容,失败时保留草稿并提示手动发送。
  • 默认勾选「插入后返回 Harness」:插入后自动切到目标会话、把焦点放回输入框,并在输入框上方显示一条提示;该提示 10 秒后自动消失,期间出现的新提示不会被误清;取消勾选则留在 DeepSeek 面板。
  • 默认用「外部对话记录」分隔标记包裹,提示 agent 只当作背景资料,不要把其中内容当成指令;可关闭。
  • 插入成功后,右下角会出现 12 秒的「已插入… · 撤销」提示,自动返回 Harness 后同样可见;撤销只移除本次插入的内容,保留之后输入。若草稿已被修改、已发送或超过 12 秒,会明确提示无法撤销。目标会话不可用或插入失败时自动复制到剪贴板。
  • 插入内容带来源和时间,角色用「我 / DeepSeek」,保留代码块、链接、图片地址和表格。
  • 抓取通过读取 DeepSeek 页面 DOM 完成;读取时会显示已抓取条数/耗时,网页改版导致失败时会提示手动复制。
  • 长对话按约 12 秒一段抓取;没抓完时预览顶部显示「继续抓取」,可以先插入已抓部分,也可以继续抓完。
  • 抓取结束会标记是否到达过对话开头和底部;没抓完或缺少开头时会在预览里明确提示。
  • 「最后一条回复」「当前一轮问答」在超长对话下会自动连抓最多 3 段;仍不够时会提示改用「整段对话」。

界面位置:DeepSeek 面板顶栏右上角、并排按钮左侧。

接力按钮位置

历史与去重

  • 每次成功接力会记录格式、模板、目标会话、字符数、token、来源和时间;在接力菜单的「接力历史…」里可以再次接力、复制、删除或清空。
  • 历史只存在本机浏览器存储,最多 20 条,不上传。
  • 同一段内容(按消息 + 格式 + 模板计算 hash)再次接力时,预览顶部会提示上次接力时间,仍可选择「仍然插入」。
  • 历史支持按目标会话、正文、格式、模板搜索。
  • 预览和单条历史都支持导出 / 复制 Markdown。

反向接力与场景模板

  • 接力菜单的「把 Harness 上下文带到 DeepSeek…」会收集当前 Harness 会话标题和你最近选中的文字,允许补充报错或说明,确认后填入 DeepSeek 输入框,不自动发送。
  • 同一个弹层提供场景模板:需求评审、方案对比、代码审查、论文精读、文案撰写,一键填入起始提示词。

通知、未读与标题

  • DeepSeek 回复稳定 2.5 秒后触发完成事件;面板不可见时侧栏图标显示未读数字,并按设置发送系统通知。点击通知会回到面板并清零未读。
  • 面板标题跟随 DeepSeek 当前会话标题(侧栏名称在下次渲染时同步)。
  • 系统通知权限未开启时,未读徽标仍然工作。

设置与诊断

  • 面板顶栏齿轮打开设置:默认接力范围、默认格式、长内容阈值、安全模式、插入后返回、完成通知、重复提醒、允许插入并发送、空闲释放(15/30/60 分钟,默认关闭)、远程选择器兜底。
  • 设置写入本地存储,修改立即生效,重启后保留;「恢复默认设置」不会清除历史。
  • 页面自检会检查登录状态、消息节点与输入框;异常时显示「页面结构可能已改版」横幅,可复制诊断信息。
  • 诊断只包含版本、选择器命中、登录状态、URL 和本地计数,不包含对话正文、文件路径或账号信息。

远程选择器兜底

  • DeepSeek 改版导致抓取失败时,插件会尝试拉取远程 selectors.json(默认为本仓库 GitHub Raw 地址,可在设置中改为自托管地址)获取新版页面选择器;本地内置选择器始终保留为兜底,远程未命中或网络失败时自动回退。
  • 远程配置需通过版本与格式校验(不接受低于内置版本的内容),每条选择器经过字符集白名单过滤;只有在 DeepSeek 页面上真实命中后才会缓存到本机。拉取为纯 GET 请求,不发送任何用户数据,可在设置中一键关闭。
  • 接力失败或页面自检未命中选择器时,会自动尝试刷新远程配置(30 分钟内最多一次);设置页可查看当前来源(本地/远程 v N)并手动「立即刷新选择器」。
  • 「本地统计」记录打开、预览、提交、成功、失败、撤销、通知、设置与模板使用次数,可复制为 JSON;不联网上报。
  • 「报告问题」会打开 GitHub Issue 草稿,预填版本、选择器命中、登录状态和本地计数,不包含对话正文、文件路径或账号信息。
  • 空闲释放默认关闭;开启后释放页面会丢失 DeepSeek 登录态,再次打开需重新登录。

登录与浏览器会话

内嵌面板使用 Harness 桌面端提供的嵌入式浏览器租约(与内置 Browser 侧栏相同的机制)。该会话是非持久化分区:

  • 在应用运行期间,登录状态会保留;离开聊天面板、切换面板、刷新 Harness 页面都不会丢失。
  • 面板顶部会显示「已登录 / 未登录」徽标;未登录时点击徽标可直接重新加载登录页。
  • 完全退出并重新启动应用后,需要重新登录 DeepSeek 网页版;未登录时面板顶部会说明该限制,并提供「在浏览器中打开」和「去登录」。
  • 如果希望使用浏览器自身的持久登录,请点击面板顶部的「在浏览器中打开」。它会在系统默认浏览器中打开同一个地址。
  • 聊天消息里的外部链接会在系统默认浏览器中打开,不会在面板内导航离开 DeepSeek。

为什么不修改客户端文件

这个功能以外部 Cordis bundle 的形式安装在当前 profile(~/.dsh/profiles/desktop)中,不会写入 /Applications/DeepSeek Harness.app,因此后续客户端更新不会覆盖它。插件通过 link: 指向本目录,所以请不要移动或删除本目录;否则需要重新安装。

文件

  • package.json:bundle 与客户端模块清单
  • cordis.patch.yml:向 profile 插入插件行
  • index.js:Host 侧空实现(功能全部在客户端)
  • client.js:侧栏图标、主内容区聊天面板、并排停靠、嵌入式浏览器租约、接力预览、结构化摘要、历史去重、反向接力、通知、设置与诊断
  • tests/pure.test.mjs:纯函数单测(接力范围、格式化、摘要、模板、hash、设置、历史、诊断、guest 探针、token 估算)
  • locale/*.json:插件管理器中显示的名称与说明
  • icon.svg:插件图标,使用 DeepSeek 官方网页 favicon 中的鲸鱼标记(https://fe-static.deepseek.com/chat/favicon.svg),仅用于标识 DeepSeek 网页聊天入口
  • 待开发需求.md:V1.6 / V2 待开发需求与优先级
  • .github/workflows/test.yml:GitHub Actions 单测 CI
  • native-sidebar.png:原生右侧栏并排效果图(README 顶部)
  • screenshot.png:V1.2 全屏面板效果图(留档)
  • handoff-button.png:「接力」按钮位置示意图

开发与测试

npm test

单测通过 Node 内置测试运行器加载 client.js 的 __test 导出,不需要启动 Harness。GitHub Actions 会在 push / PR 时自动运行 npm test。

兼容性说明

  • 内嵌网页依赖桌面端 preload 暴露的 dshDesktop.browser 租约接口。若未来客户端移除或修改该接口,插件会显示「当前环境不支持内嵌网页」,此时仍可使用「在浏览器中打开」;插件本身不会影响 Harness 启动。
  • 快捷键依赖 DSH 的 shortcuts 服务;若快捷键注册冲突,插件会跳过绑定并在控制台告警,不影响面板使用。
  • package.json 已声明 dsh.manifestVersion、engines.dsh 与仓库信息,便于后续发布到插件市场。

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 19.4k

CC0-1.0

Python

Oct 18, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.2k

CC0-1.0

Python

Oct 16, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 390

MIT

TypeScript

Oct 6, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 210

MIT

TypeScript

Oct 18, 2026

dsh plugin --profile web add dsh-config-manager

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 166

TypeScript

Oct 16, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 124

MIT

TypeScript

Oct 13, 2026

Index only — not installable