抓虾浏览器插件:DSH 下的 API 优先网页自动化与工作流

前言

在 DeepSeek Harness(DSH)里做网页采集或填表,常见做法是让 Agent 反复「观察页面 → 点选填表」,或自己接 Playwright、再单独做预览和人工登录。链路长、接口线索难沉淀,也不易把验证过的步骤复用到下一次会话。

抓虾浏览器插件(dsh-crawshrimp-browser)是面向 DSH 的社区工作流类插件,由 howtimeschange 维护。它把浏览器操作、实时预览、人工接管、上传下载、业务核验和可复用工作流收进同一个包,按「观察 → API 优先执行 → 业务核验 → 流程沉淀」组织 Agent 行为;可独立运行,只需 DSH、Node.js 和本机 Chrome/Chromium,无需抓虾后端。

这是什么

dsh-crawshrimp-browser 是社区插件,当前版本 v0.3.0,适配 DSH 0.2.1-alpha.4。单个包提供工具注册、DSH Web 实时预览面板、内置 Skill crawshrimp-browser 以及抓虾官方图标资源。

与「只堆 DOM 点击」相比,v0.3.0 强调先理解页面再执行:探查 DOM、框架与端点线索,生成页面模型和策略 bundle;优先走页面模块/客户端调用与同源登录态请求,接口不明确时再捕获网络证据并回退 DOM。数据清洗与 CSV/Excel 导出由抓虾数据插件负责,Word/PowerPoint 由抓虾 Office 插件负责;网页自动化集中在本浏览器插件。

核心功能

浏览器工具与权限

插件注册以 crawshrimp_browser_ 为前缀的工具,覆盖打开/导航、观察、点击、填充、选择、按键、等待、截图、关闭页面,以及便携脚本的列表、离线校验与隔离执行。

基础交互类工具包括:

  • crawshrimp_browser_open / navigate:打开或导航到 http/https 地址
  • crawshrimp_browser_observe:返回有长度上限的正文与可操作元素引用(ref)
  • crawshrimp_browser_click / fill / select / press / wait:基于 ref 或 CSS 选择器操作
  • crawshrimp_browser_screenshot:有大小上限的 PNG;纯观察不弹审批
  • crawshrimp_browser_pages / close:会话内页面列表与关闭

v0.3.0 新增能力(后缀接在同一前缀后)包括:probe(页面/框架/端点探查与策略 bundle)、evaluate / request(有审批的页面 JS / 同源 API)、capture_requests(有界网络证据)、upload / download(工作区与页面文件传输及 SHA-256 回执)、verify / journal(结构化核验与会话证据日志)、workflow(步骤沉淀与复用)、adapter(草稿、隔离测试、本地发布)。

打开、导航、点击等写操作遵循 DSH 原生权限;选择「完全权限」(danger-full-access + never)后可自动执行。列页面、观察、等待、截图为只读,不弹审批。观察得到的 ref 仅在当前 observation 轮次有效,页面变化后需重新观察。

内置 Skill 与实时预览

同包向 DSH 注册 Skill 名 crawshrimp-browser,Agent 可通过 skill 工具或技能菜单加载,内容覆盖 API 优先、核验、沉淀、人工登录接管与便携脚本,仅使用本插件工具。

DSH Web profile 下,包内客户端通过 Chromium CDP 推送实际 Playwright 页面画面。右侧面板选择「实时浏览器」即可看多标签预览;「接管操作」可人工点击、输入,完成后「恢复 Agent」归还控制。previewEnabled 默认为 true,设为 false 可禁用预览注册;纯 CLI profile 仍保留全部工具。

便携脚本与阶段执行

支持适配器目录(manifest.yaml + 任务 .js),脚本在校验后于隔离 BrowserContext 中执行,支持有界翻页、next_phase、reload_page、abort 及受控文件/网络动作。上传下载、结构化核验与 workflow 沉淀与上述工具一致,受阶段、分页、时间和输出上限约束。

安装与启用

环境要求:Node.js ^22.19.0 || >=24.0.0,本机已安装 Chrome 或 Chromium;包内仅含 Playwright 驱动,不含浏览器二进制。

使用 DSH 官方插件加载器安装到 Web profile:

dsh plugin --profile web add -w github:howtimeschange/dsh-crawshrimp-browser#v0.3.0
dsh --profile web

加载器会应用包内 cordis.patch.yml,常见配置项包括 channel、headless、maxPages、scriptTimeoutMs、workspaceDir、adapterRoots 等。需指定可执行文件时可在 profile overlay 中设置 executablePath(优先于 channel)或 cdpEndpoint;已有 Playwright 导出的登录态可配置只读 storageStatePath(≤5 MiB)。需要可见登录时可设 headless: false。

典型用法

  1. 按上文命令安装插件并启动 dsh --profile web。
  2. 在会话中让 Agent 加载 crawshrimp-browser Skill,再打开目标网页(例如调用 crawshrimp_browser_open)。
  3. 从右侧面板选择「实时浏览器」查看页面;需人工登录或改页面时用「接管操作」,完成后「恢复 Agent」。
  4. 复杂电商或表格页可配置便携脚本适配器:先用 crawshrimp_browser_script_list / script_validate 发现与校验,再用 script_run 在隔离上下文执行并保存 JSON artifact;探查与 API 优先路径可配合 probe、capture_requests、request 等工具。

脚本与页面工具复用同一会话的浏览器连接,但每次脚本运行会新建独立 BrowserContext,不会占用交互式 DSH 预览页。

适用场景与注意

适合在 DSH 内做网页自动化、电商页面数据采集(表格读取、有界翻页、参数校验)、以及需要「看得见页面、能人工接管」的 Agent 协作。与数据包、Office 包分工明确时,可把导出与文档生成留给对应插件。

安装前请自行查看 GitHub 仓库 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,写操作与 evaluate/request 等仍受 DSH 审批策略约束;无审批服务时会 fail closed。社区插件目录 SkillHub 条目 与 DeepSeek / 幻方无官方从属关系,不宜当作官方应用商店。

本地开发验证可使用仓库内的 npm ci、npm run check、npm test;测试会启动无头 Chrome 访问本地合成页面,不访问真实电商站点。

结尾

抓虾浏览器插件把 API 优先自动化、实时预览、人工接管、文件传输、核验与工作流沉淀放在 DSH 一条链路上,且无需抓虾后端。若要进一步了解工具列表与 Skill 示例,可阅读仓库内 skills/crawshrimp-browser/SKILL.md 与 Harness 源码能力对照。

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

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

Xiaoye