dsh-browser

by ben7am1n

工具与能力github收录于 08-23

DeepSeek Harness 的浏览器自动化:Playwright 驱动的浏览器工具族,agent 可填表、点流程、抓 SPA 内容

Browser automation for DeepSeek Harness: a Playwright-powered browser tool family so the agent can drive real web pages — fill forms, click through flows, scrape SPA content,…

安装

dsh plugin --profile web add github:ben7am1n/dsh-browser

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

Browser automation for DeepSeek Harness: a Playwright-powered browser_* tool family so the agent can drive real web pages — fill forms, click through flows, scrape SPA content, and take screenshots it can then view with read_image.

Install

dsh plugin --profile <name> add dsh-browser

The plugin depends on playwright-core (bundled with the package) and needs a Chromium-based browser. It tries chromium, then chrome, then msedge channels automatically; if none is found:

npx playwright install chromium

or configure launch.executablePath / launch.channel in the plugin config.

Tools

Tool Purpose
browser_open Open (or reuse) the browser, optionally navigate to a URL
browser_navigate Navigate the current page and wait for load
browser_click Click an element by CSS selector
browser_type Type text into an input (optionally press Enter)
browser_select Select option(s) in a <select>
browser_screenshot Capture a PNG to <workspace>/browser-screenshots/; view it with read_image
browser_eval Evaluate JavaScript in the page, return JSON
browser_get_text / browser_get_html Read visible text or outer HTML
browser_wait Wait for slow pages / lazy content
browser_close Close the browser (reopenable by any tool)
browser_install Explain or verify browser availability

The browser persists across tool calls — open once, drive many times, close when done.

Configuration

Field Default Meaning
launch.executablePath — Absolute path to a browser binary (takes precedence)
launch.channel auto (chromium → chrome → msedge) Browser channel
launch.navigationTimeoutMs — Default navigation/action timeout
launch.viewport 1280×800 Page viewport
screenshotDir browser-screenshots Screenshot directory under the workspace
# profile cordis.patch.yml
- id: browser
  config:
    launch:
      channel: chrome
      navigationTimeoutMs: 30000

Notes

  • Runs headless by default; a headed mode may come later.
  • Screenshots land in the calling agent's workspace so the model can read them with read_image.

License

MIT

原始 README: https://github.com/ben7am1n/dsh-browser/blob/main/README.md ↗