Web Workbench:DeepSeek Harness 的浏览器操作与文档读取插件

前言

DeepSeek Harness(DSH)的桌面端工具链已经可以调度外部服务,但面对需要 JavaScript 渲染、登录态保持或本地文件处理的场景时,现有方案仍显不足。web_search 与 web_fetch 适合静态或简单接口,却无法处理复杂的表单、验证码、登录流程或本地文档。本插件为 DSH Desktop 0.2.1-rc.2 提供原生浏览器交互能力,将真实浏览器、PDF 解析、OCR 和视频帧提取纳入同一调度体系。

插件定位

Web Workbench 是面向 DSH 的 Cordis 原生插件,注册 13 个工具,复用 Harness 的工具调度、会话日志和系统提示词接口。它使用 Playwright 启动真实 Edge/Chromium 浏览器,通过右侧栏“AI 浏览器”展示实时画面,支持人工接管登录、验证码与 MFA,并将结果回流给 AI 工具链。插件在 Host 进程中使用浏览器、网络和文件 API,但不替代 DSH 的权限策略。

核心能力

  • 真实浏览器打开与渲染:支持需要 JavaScript 的网站,返回渲染后的正文、元素引用与标签页。
  • 表单与页面交互:使用最近一次快照中的元素 ref 执行点击、翻页、输入、选择、提交、滚动、切换标签页等操作;操作后返回新快照,旧 ref 失效。
  • 人工接管与登录:在右侧栏“AI 浏览器”中点击“接管浏览器”,手动登录网站、处理验证码/MFA;登录状态按会话隔离,同一会话重开保留。
  • 文件上传与下载:通过“选择文件”将本地文件放入当前会话暂存区,再上传到网页;网页下载列表可在“下载文件”中查看并保存。
  • PDF 全文提取:下载后按页解析,支持页码与文字分页;扫描页可启用 OCR。
  • 图片文字识别:内置英文和简体中文 OCR 语言包,运行时无需联网下载。
  • PDF/网页核对与视频帧:通过 pdf_render 将指定页转 PNG,或对网页截图;通过 video_inspect 读取格式与时长,用 video_frame 按时间点提取帧。
  • HTTP 流式下载与浏览器会话:web_download_file 支持流式大小限制、重定向验证、取消与残缺清理,设置 use_browser_session:true 可附加当前站点 Cookie。

插件不能保证所有站点接受自动化,也不能绕过验证码、MFA、订阅权限或付费墙。图片 OCR 不等于语义理解,当前不包含语音转写与额外视觉模型。

安装与启用

Windows 独立安装器

确保已打开过一次 DSH Desktop,然后克隆仓库并在终端执行:

git clone https://github.com/CoraEJones/dsh-web-workbench.git
cd dsh-web-workbench
.\Install.cmd

安装器会调用官方 dsh plugin --profile desktop add <压缩包> --ignore-scripts,同时安装插件依赖。它不手工覆盖 profile 配置,不修改全局权限,不需要管理员账号。安装后通过 web_workbench_status 验证工具可用。

通过 Harness 管理入口

在提供 plugin_manager 工具的聊天中,发送:

请用 plugin_manager 安装插件:action=install_bundle,target=github:CoraEJones/dsh-web-workbench。
使用当前 desktop profile,不手工改 profile 的 package.json 或 cordis.patch.yml。
安装后检查 application 和 warnings,再核对 web_workbench_status、web_browser_open、web_browser_action、web_download_file、pdf_read、image_read。
调用 web_workbench_status 验证工具可用。只有实际生效后才报告已安装;如需重启请明确告诉我。

安装后,点击“打开 AI 浏览器”即可使用。

典型用法

读取论文 PDF

打开这篇论文的页面,用真实浏览器查找并下载我有权访问的 PDF,读取全文,按页码整理原理和实验参数。遇到登录或验证码先把浏览器交给我,完成后继续。

表单填写与提交

打开这个网站,替我填好表单。提交前先让我检查内容,确认后再提交,并核对成功回执。

本地文件处理

先调用 web_workbench_status 获得本会话暂存目录,将 PDF、图片或视频文件复制到该目录,再使用 pdf_read、image_read 或 video_frame 读取内容。工具仅能读取和上传该目录内的文件。

设置与运行条件

通过 Harness 的插件设置修改 Config,无需改源码:

  • dataDir:用户目录下 .dsh/web-workbench
  • headless:true(后台运行并在侧栏显示同一浏览器);false 可额外显示独立窗口
  • browserChannel:msedge(也可用 chrome 或空字符串使用 Playwright Chromium)
  • timeoutMs:30000
  • maxFileBytes:100 MiB
  • maxTextChars:每次 20000 字符
  • ocrLanguage:eng+chi_sim(支持 eng、chi_sim)
  • ffmpegPath / ffprobePath:可设为绝对路径
  • verifyOnLoad:false(是否运行显式 Host 自检)

运行环境要求 Node.js >=22.13;视频工具需要 FFmpeg/ffprobe 可用。

适用场景与注意

  • 适合需要真实浏览器渲染、登录态保持、复杂表单或本地文档处理的 DSH 代理开发。
  • 插件在 Host 进程中使用浏览器、网络和文件 API,不是操作系统沙箱;插件会读取外部不可信数据,需在系统提示词中明确其边界。
  • 不要分享包含浏览器 profile 或 auth-state.json 的数据目录;不要将数据目录加入版本库。

小结

Web Workbench 将真实浏览器、PDF 解析、OCR 和视频帧提取纳入 DSH 工具链,支持人工接管与 AI 自动化的混合协作。通过统一的工具接口和会话隔离,开发者可以在不离开 DSH 的前提下完成从网页操作到本地文档处理的闭环。

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

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

Xiaoye