dsh-webds-bridge:用网页版 DeepSeek 做讨论,把进度交给 DSH 主会话执行

前言

在 DSH 里做智能体开发时,常见分工是:主模型负责调工具、改文件,但长上下文自由讨论往往更适合网页版 DeepSeek;网页版本身又没有 DSH 的工具与文件权限。若只靠 API,长讨论会占额度;若只在主会话里聊,上下文和成本都容易顶不住。

下面介绍社区插件 dsh-webds-bridge(维护者 Sum556677):在 DSH 侧栏用内置浏览器打开网页版 DeepSeek,通过纯 DOM 自动化收发消息,把讨论进度按别名归档为本地记忆,再注入主会话,让本地模型带着上下文继续干活。分类为「记忆」,当前 npm 版本为 0.1.2,要求 DSH Desktop 0.2.1-rc.2 及以上(README 写明 0.2.1-rc.2 实测通过)。

这是什么

dsh-webds-bridge 是一条「网页版纯文本讨论 → 总结归档 → 主会话执行」的桥接插件:不依赖网页版私有接口,也不需要 API Key,走的是侧栏 <webview> 里的真实网页会话。

闭环可以概括为:

网页版纯文本讨论  →  总结归档(按别名,如 projects/alpha.md)  →  主会话带着进度调用工具执行

插件以单 npm 包同时提供 Host 与 Client,安装时通过自带的 cordis.patch.yml 自动插入两条 loader,一般无需手改 cordis.patch.yml。

核心功能

纯 DOM 自动化(Client)

在侧栏浏览器里模拟操作网页版 DeepSeek:

  • 通过 ctx.sidebarRight.openTab('browser', …) 拉起页面,在 DOM 中定位 webview[data-sidebar-browser-frame]。
  • 用 webview.executeJavaScript 写入输入、派发事件并发送;轮询 .ds-markdown 等待流式回复稳定。
  • 从渲染后的 DOM 还原 fenced 代码块;按回复长度累加 token 估算,达到阈值可触发自动续接(总结 → 新开对话 → 接力)。
  • 新建对话时会对「开启新对话」做多级点击兜底,并在 5 秒内确认 URL 或消息区变化,否则停止,避免盲发。

记忆与注入(Host)

  • 保存记忆:总结经约 1800 字符智能截断后原子写入 progress.md(或按别名写入 projects/ 下对应 .md),旧内容归档到 history/(保留最近 20 份)。
  • 动态注入:通过 ctx.systemPrompt.context 注入进度,progress.md 变更后下一次组装即可生效。
  • 执行注入:ctx.sessionController.prompt() 把进度作为用户消息投递到当前主会话(RPC execute)。

多对话别名

不同话题用不同别名,避免切换网页会话后互相覆盖。例如默认别名 progress 对应 <root>/progress.md,别名 alpha 对应 <root>/projects/alpha.md。保存与执行始终作用于当前选中的同一别名;上次选择在 config.json 的 lastKey 中,重启后恢复。别名会经 normalizeMemoryKey() 校验,防止路径穿越。

设置页与会话栏

设置界面左侧出现「DSH 网页版桥接」面板(登录状态、Token 估算、打开网页版、保存/执行/续接、阈值与记忆目录等)。会话标题栏右侧提供 存记忆 | 执行 | 续接 三个按钮,与设置页共用同一套逻辑。

存储目录与迁移

记忆根目录优先级为:DSH_WEBDS_MEMORY_DIR 环境变量 > config.json 的 memoryDir > 默认 $DSH_HOME/dsh_memory。指针文件固定在 $DSH_HOME/dsh_memory/config.json。面板支持迁移并切换或仅切换目录,迁移时复制并做 size + SHA-256 校验,不删除源目录。

安装与启用

安装前请完全退出 DSH(托盘右键退出),否则可能出现 EPERM: rename package.json。官方一键安装命令为:

dsh plugin --profile desktop add dsh-webds-bridge

若使用其他 profile,将 desktop 换成你的 profile 名。升级到最新版:

dsh plugin --profile desktop add dsh-webds-bridge@latest

装完后须从托盘彻底重启 DSH(README 注明 Ctrl+Shift+R 无效)。自检:设置里应有「DSH 网页版桥接」;会话标题栏应有 存记忆 | 执行 | 续接。若无,可先执行 dsh plugin --profile desktop why dsh-webds-bridge 确认安装,并检查 profile 的 package.json 中 dsh.profile.bundles 是否包含 dsh-webds-bridge。

典型用法

  1. 重启 DSH 后,在侧栏打开网页版 DeepSeek,手动登录一次(每次进程重启后需重登,见下文注意)。
  2. 在网页版里做长文本讨论;需要落盘时,在设置页或标题栏点「存记忆」,选好别名(可选 projects/某话题)。
  3. 回到主会话,点「执行」,把当前别名下的进度作为用户消息注入,由 DSH 主模型带着上下文调工具。
  4. 若 token 估算接近阈值,可用「续接」或依赖自动续接流程,避免单对话过长。

面板里可调整 Token 阈值、预览已有记忆、更换或迁移存储根目录。

适用场景与注意

适合谁:希望在网页版 DeepSeek 上免费或低成本做长讨论,又要把结论交给 DSH 本地模型执行的场景;需要按话题隔离多份「讨论进度」、避免覆盖的用户。

登录态:每次重启 DSH 都要在侧栏网页版重新登录。原因是 DSH 为侧栏浏览器访客分配的是非持久化、每次启动随机 UUID 的分区,Cookie 与 localStorage 无法在重启间复用;这是 DSH 桌面端设计,插件侧 README 结论为不可行绕过,除非改 DSH 本体。

权限与安全:插件以当前 DSH 进程权限运行,记忆文件写在配置的根目录下。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认别名与目录配置符合你的安全预期。

生态说明:DSH 社区插件目录(如 SkillHub 上的条目)由社区维护,与 DeepSeek / 幻方无官方从属关系;安装命令以 README 为准,勿凭仓库名自行拼接 github:owner/repo 形式。

结尾

dsh-webds-bridge 把网页版 DeepSeek 的讨论能力与 DSH 的工具执行接成一条链:DOM 自动化、多别名记忆、设置页与标题栏操作,且无需 API Key。若你已在用 DSH 0.2.1-rc.2+,可按上文命令安装并从托盘重启后试用。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye