dsh-plugin-browser
by xu1132
驱动无头 Playwright 浏览器的社区插件:渲染后页面文本、截图等
A DeepSeek Harness community plugin that drives a headless Playwright browser: rendered page text, screenshots
安装
dsh plugin --profile web add github:xu1132/dsh-plugin-browserGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
A DeepSeek Harness community plugin that drives a headless browser with Playwright. It registers six model-callable tools that let the model read JavaScript-rendered pages, take screenshots, and automate page interactions — the capabilities the built-in web_fetch (plain HTTP) cannot provide.
Tools
| Tool | What it does |
|---|---|
browser_navigate(url) |
Open a URL, wait for load, return rendered title, body text, and links |
browser_snapshot() |
Return the current page's rendered text (use between automation steps) |
browser_click(selector) |
Click an element (any Playwright CSS selector) |
browser_type(selector, text) |
Fill a text input |
browser_screenshot(path?) |
Save a viewport PNG; defaults to browser-<timestamp>.png in screenshotDir |
browser_close() |
Close the current browser session and release resources |
Each agent gets its own isolated browser session; calls without an agent share a default session. Sessions start lazily on first use and close when the plugin unloads.
Install
The plugin uses Playwright's bundled chromium by default. First-time setup installs the browser binary:
dsh plugin --profile demo add github:you/dsh-plugin-browser
npx playwright install chromium # from the profile directory
Then boot and ask the model, for example: "Open https://example.com and tell me what's on the page." The model calls browser_navigate and receives the rendered text.
Configure
Override the row in the profile's cordis.patch.yml:
- id: browser
name: dsh-plugin-browser
config:
timeoutMs: 30000 # navigation/click/type timeout
maxTextChars: 20000 # cap on extracted body text per snapshot
maxLinks: 20 # cap on links listed per snapshot
screenshotDir: . # default directory for screenshots
executablePath: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
executablePath points at a system browser instead of Playwright's bundled chromium — useful when you do not want the browser download.
Development
pnpm install
pnpm run typecheck
pnpm run build # emits lib/index.js and lib/index.d.ts
pnpm run test
The test suite boots a local HTTP server and drives the system Chrome (skipped when Chrome is absent), so it needs no browser download and no real network. With Playwright's bundled chromium instead, install it once: npx playwright install chromium.
Structure
browser/
├── package.json # bundle manifest (dsh.bundle), scripts, deps
├── cordis.patch.yml # the configuration layer the bundle inserts
├── src/index.ts # plugin: name / inject / Config / apply
├── src/session.ts # headless session + per-agent session manager
├── src/tools.ts # the six tool definitions
├── tests/browser.spec.ts
├── tsconfig.json
└── vitest.config.ts
License
原始 README: https://github.com/xu1132/dsh-plugin-browser/blob/main/README.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent