返回插件库
dsh-browser 封面

dsh-browser

DSH 自包含浏览器运行时:内置 Playwright 内核,提供 browser 服务与 9 个交互工具

github.com/anweat/dsh-browser
28 MIT 作者 anweat 更新于

安装

dsh plugin --profile web add @anweat/dsh-browser

dsh-browser

把真实浏览器塞进 DSH:Playwright 内核开箱即用,一句 inject: ['browser'] 就能给任何插件接上浏览器能力。

解决什么问题

让 DSH 的 agent 操作真实网页,传统做法是全局安装 Playwright 等工具——环境、版本、内核下载都要手工维护,换个机器就崩。本插件把 Playwright(chromium 内核)与 OpenCLI 作为插件自身的 npm 依赖打包(优先用插件本地,缺省回退全局复用),对外提供一个 browser 服务 + 9 个交互式浏览器工具,把这条链路收敛成一个可注入的依赖。

chromium 内核永远复用共享缓存(约 400MB 的 %LOCALAPPDATA%\ms-playwright),不塞进插件、不重复下载,缺失时用 browser_install 一键补齐;配置 storageStatePath 指向登录态 JSON 后,还能以已登录身份抓取需要登录的受限页面。

核心功能

  • 9 个浏览器工具:browser_open(打开 URL)、browser_click(按 CSS 选择器点击)、browser_type(输入)、browser_scroll(纵向滚动触发懒加载)、browser_read(读文本)、browser_screenshot(全页截图)、browser_close、browser_status(运行时状态)、browser_install(补齐内核)
  • 可注入的 browser 服务:其他插件声明 inject: ['browser'] 即可消费,无需共享类型包,接口见 src/browser-service.ts
  • chromium 内核复用:共享缓存避免重复下载;缺失时 browser_install 一键补齐
  • 登录态复用:storageStatePath 指向 Playwright storageState JSON,复用已登录会话
  • 可配置:channel(chromium / 系统 Edge)、headless、opencliEnabled、autoInstall 等均可在 cordis.yml 中调整
  • 为组合插件供底座:dsh-web-search-pro 通过 inject: ['browser'] 驱动其 playwright / opencli 后端,不再依赖全局 CLI

快速上手

安装后重启 dsh web(web profile 关闭了 HMR):

dsh plugin --profile web add @anweat/dsh-browser
dsh --profile web

之后在对话里直接让 agent 打开网页、点击、截图即可;若 browser_status 报告缺内核,先执行一次 browser_install。需要抓登录页面时,用 npx playwright codegen --save-storage=storageState.json 生成登录态,把产物路径填进配置里的 storageStatePath。

适合谁

  • 需要 agent 完成网页操作、信息抓取与自动化巡检的用户
  • 开发组合插件的作者(如 dsh-web-search-pro 依赖它提供浏览器后端)
  • 不想手工维护全局 Playwright 环境、希望插件自包含的 DSH 用户
标签 工具集成 开发工具

内容根据项目 README 整理 · 版权归原作者所有

报告问题 / 申请下架

相关插件