dsh-deepseek-web:在 DSH 侧栏内嵌 DeepSeek 网页对话

前言

在 DSH 里跑 Session 时,若要把 DeepSeek 网页版当作「第二窗口」对照使用,常见做法是单独开浏览器标签页,再在页面与 Composer 之间复制粘贴。窗口一多,登录状态、文件附件和审查结果都不在同一套界面里,来回切换成本高。

下面介绍的 dsh-deepseek-web(维护者 LuoZIren,GitHub:LuoZIren/dsh-deepseek-web)把 https://chat.deepseek.com/ 收进 DSH Desktop 右侧 Sidebar 的 Browser 标签,并在 Composer 与 DeepSeek 页面之间做桥接;同时向宿主注册 web_review,让智能体可以把当前页面当作代码审查子代理来用。分类为客户端插件,依赖 DSH Desktop(Electron),支持 Windows、macOS、Linux。

这是什么

一句话:在同一 DSH 窗口里打开 DeepSeek 网页聊天,把最新回答拉回草稿,支持拖放文件进网页会话,并通过 web_review 把页面上的模型输出结构化回 Session。

插件以 DSH Desktop bundle 形式分发(仓库目录本身,不是 npm 包)。package.json 中包名为 @local/dsh-plugin-deepseek-web,当前资料版本为 1.6.0,许可证 MIT。

核心功能

侧栏启动器

侧栏底部、Settings 旁增加启动入口。点击后在自带的右侧 Sidebar Browser 中打开 https://chat.deepseek.com/,与当前 Session 并排;再次点击会聚焦已有标签,而不是重复开页。

Composer 桥接

Composer 工具行、Send 之前有一个小的「拉取」控件。一次点击会从 DeepSeek 面板读取最新回答,以可撤销的单次编辑插入当前草稿,便于把网页产出直接交给当前智能体。

桥接优先使用 DeepSeek 页内的 live 文本选区;无选区时取最后一块已渲染的回答。

web_review 审查工具

宿主侧注册 web_review:智能体可向同一 DeepSeek 页面发送提示,并把回答以结构化 findings 取回。输出格式、审查清单、 findings 数量等可在设置中配置(见下文)。

拖放文件进网页聊天

拖拽候选文件时,框架顶部会出现一条栏;只有在该栏上松开鼠标才会真正发送,避免误触短距离拖拽把文件交给页面。桥接会按顺序尝试:文件管理器/桌面的 File 对象、会话中的文件或 delivery 卡片、内联文件 mention/图片链接、仅显示文件名的引用(在 Session 目录内按 basename 搜索,深度 5,跳过 node_modules、.git、dist 等)。单文件大小上限可在设置中设为 1–24 MB。

登录持久化与状态点

为在重启后保持 DeepSeek 登录,插件会对桌面 app.asar 内一条等长 50 字节语句做改写(先备份 app.asar.orig-bak);若归档结构变化则拒绝写入。DSH 升级会替换 app.asar,状态点会反映补丁是否仍在位。

启动器右侧有 6 px 状态点(大小可在设置中改为 4、6、8 px):

颜色 含义
绿 归档中已包含持久化语句
红 语句丢失(例如升级覆盖)— 点击可请求重写;通常需重启 DSH 后生效
灰 尚未判定:先打开 DeepSeek 面板一次,或重启 DSH

红点若提示归档与补丁模板不再匹配,说明 DSH 构建改了目标语句,插件会拒绝写入,需等待插件侧更新补丁逻辑。

除 profile 与上述 asar 改写外,审查桥接仅在已打开的 DeepSeek 页面上输入并读回答,不向别处写文件。

安装与启用

  1. 将仓库下载或放到固定目录,例如 C:\plugins\deepseek-web-panel。
  2. 让 DSH 智能体通过 plugin_manager → install_bundle,传入该目录的绝对路径;会以 link: 依赖写入 profile,目录内改动即时生效。
  3. 重启 DSH。启动器出现在侧栏底部 Settings 旁。

手动方式:在 profile 的 package.json 增加 "@local/dsh-plugin-deepseek-web": "link:C:/path/to/deepseek-web-panel",在 dsh.profile.bundles 中列出该包并安装;cordis.patch.yml 即此 bundle 插入的配置行。

插件市场索引

在 Settings → Plugins → Discover 中添加下列之一(资料中 jsDelivr 镜像列在前,因部分网络无法访问 raw.githubusercontent.com):

https://fastly.jsdelivr.net/gh/LuoZIren/dsh-deepseek-web@main/market.json
https://gcore.jsdelivr.net/gh/LuoZIren/dsh-deepseek-web@main/market.json
https://raw.githubusercontent.com/LuoZIren/dsh-deepseek-web/main/market.json

市场条目以 commit 固定的 Git 包安装(git+https://github.com/LuoZIren/dsh-deepseek-web.git#<commit>);更新依赖索引中新 commit。安装机器需能访问 github.com。市场索引只是可配置的 JSON,无中央注册表。

要求:DSH Desktop(Electron)。登录补丁针对桌面 app.asar;DSH 升级会替换该文件,由状态点提示。

设置项

Settings → DeepSeek web chat 中的偏好按浏览器 profile 存储(键名 dsh.deepseek-web.settings.v1),修改即时生效,侧栏状态点随设置更新,无需重载。

主要分组包括:

  • Status dot:显示/隐藏、大小、光晕、呼吸节奏、是否跟随主题配色。
  • Web panel:拖放时是否在无面板时自动打开;最大文件 MB(1–24)。
  • Web review:输出格式(纯列表、带 severity 的 JSON、含 evidence 与 confidence 的严格 JSON)、随每次 web_review 发送的审查清单、findings 上限(1–10)、恢复内置清单。

默认审查清单设计参考 Alibaba 开源 Open Code Review 的检查域(正确性、资源与并发、错误处理、安全、兼容、性能、测试等),强调可证性而非猜测;措辞为本插件自有。「Restore defaults」恢复全部默认值。

典型用法

  1. 安装并重启后,点击侧栏底部 DeepSeek 启动器,在右侧 Browser 中登录并使用网页聊天。
  2. 在 DeepSeek 页得到回答后,在 Composer 点击桥接控件,将回答插入草稿,再继续与 Session 内智能体协作。
  3. 需要把本地或会话中的文件交给 DeepSeek:拖到面板顶部的拖放栏上松开(注意未打开面板且关闭「Open on drop」时会报错而非自动开页)。
  4. 在 Agent 侧调用宿主提供的 web_review,按设置中的清单与输出格式取回结构化 findings;可在设置里按项目改 checklist,或清空以仅保留固定格式规则。

Review 桥接的详细行为见仓库 README 中 Review bridge 一节(与 Host/Guest 分工相关)。

适用场景与注意

适合:已在 DSH Desktop 上开发、希望 DeepSeek 网页版与 Session 同屏、并偶尔用 DeepSeek 做可配置格式的代码审查输出的开发者。

注意:

  • 插件在当前 DSH 进程权限下运行;对 app.asar 的改写涉及桌面应用本体,安装前应阅读源码与 MIT 许可证,并理解升级 DSH 后可能需要点击红点重新补丁或等待插件适配新构建。
  • 市场安装依赖 GitHub 可达;本地 link: 安装不经过 npm 发布。
  • 社区目录页(SkillHub 等)与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」,索引由维护者自行发布。

结尾

dsh-deepseek-web 把 DeepSeek 网页聊天、Composer 回写、拖放附件和 web_review 收进同一 DSH 窗口,减少跨应用复制与重复登录的摩擦。目录与源码:

  • 目录页:https://www.skillhub.cn/plugins/LuoZIren/dsh-deepseek-web
  • GitHub:https://github.com/LuoZIren/dsh-deepseek-web
羽毛球分组比赛记分
小程序二维码

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

Xiaoye