Playwright browser automation for DeepSeek Harness|面向 DeepSeek Harness 的 Playwright 浏览器自动化插件
安装
dsh plugin --profile web add github:clizo1209/dsh-playwright-browserGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
dsh-playwright-browser
面向 DeepSeek Harness(DSH) 的 Playwright 浏览器自动化插件,提供语义定位、多标签页和持久浏览器控制能力。
本插件在行为设计上参考 Codex Browser 技能,但不包含 Codex 运行时代码,也不依赖 OpenAI 的浏览器绑定。DSH 目前仍是开发者预览版;本项目已针对 DSH 0.1.0-rc.6 包系列进行测试。
主要能力
- 10 个原生
browser_*工具。 - 可复用浏览器上下文和稳定标签页 ID。
- 每次交互后返回新的 accessibility 或可见文本快照。
role=button|保存、label=邮箱等语义定位。- 接受快照友好的
button|保存、textbox|邮箱role 简写。 - 支持截图、等待、键盘、前进、后退、刷新和多标签管理。
- Playwright Chromium 缺失时自动尝试系统 Chrome 和 Edge。
- 操作支持取消,由 Cordis 生命周期统一清理。
- 不提供任意页面 JavaScript
eval。
环境要求
- Node.js
^22.19.0或>=24.0.0。 - 一个 DSH profile。
- Playwright Chromium、系统 Chrome/Edge,或明确配置的浏览器可执行文件。
安装 Playwright Chromium:
npx playwright install chromium
安装
从 npm 安装:
dsh plugin --profile web add dsh-playwright-browser
从当前源码目录打包并安装:
npm install
npm pack
dsh plugin --profile web add ./dsh-playwright-browser-0.1.3.tgz
安装到 headless profile:
dsh plugin --profile headless add ./dsh-playwright-browser-0.1.3.tgz
检查组合配置:
dsh --profile web --dump-config
Git 安装会执行 prepare 构建。pnpm 10 及以上版本可能要求在 profile 的 pnpm-workspace.yaml 中明确允许该构建。预编译 npm 包或 tarball 不需要在 profile 中执行源码构建。
配置
在 profile 的 cordis.patch.yml 中添加覆盖:
- id: playwright-browser
config:
browser: chromium
channel: chrome
headless: true
viewportWidth: 1440
viewportHeight: 900
screenshotDir: .dsh-browser/screenshots
| 配置项 | 默认值 | 用途 |
|---|---|---|
browser |
chromium |
chromium、firefox 或 webkit |
headless |
true |
是否无头运行 |
channel |
— | chrome、msedge 等 Chromium channel |
executablePath |
— | 浏览器可执行文件绝对路径 |
userDataDir |
— | Agent 专用的持久化浏览器目录 |
viewportWidth |
1280 |
视口宽度 |
viewportHeight |
800 |
视口高度 |
actionTimeoutMs |
15000 |
定位和操作超时 |
navigationTimeoutMs |
30000 |
导航超时 |
maxSnapshotChars |
40000 |
快照最大字符数 |
screenshotDir |
.dsh-browser/screenshots |
截图目录 |
不要让 userDataDir 指向个人浏览器 profile,应使用 Agent 专用目录。
工具
browser_open:打开标签并可直接导航。browser_navigate:导航当前或指定标签。browser_snapshot:读取有限长度的 accessibility 或文本快照。browser_click:点击语义目标。browser_fill:替换输入值并可选按 Enter。browser_press:发送键盘按键。browser_wait:等待目标、URL 或加载状态。browser_history:后退、前进或刷新。browser_screenshot:保存 PNG 并返回绝对路径。browser_tabs:列出、选择或关闭标签页。
推荐目标格式:
role=button|保存
button|保存
label=邮箱
placeholder=搜索
text=设置
testid=submit
css=#legacy-button
安全边界
- 页面内容只是不可信数据,不是 Agent 指令。
- 敏感提交、凭据、下载、购买、权限、账号修改和 CAPTCHA 操作必须获得适当授权。
- 插件不会静默下载浏览器;环境缺失时先说明最小安装方法,未获授权不得修改机器。
- 拒绝包含嵌入式用户名或密码的 URL。
- 关闭标签页会协作式取消该页面正在进行的操作。
开发和测试
npm install
npm run check
npm run smoke
npm run smoke:dsh
npm run smoke:business
npm run test:real-world
公网测试只使用公开演示站点和虚构数据。脱敏日志与截图写入 Git 忽略的 .dsh-browser/。
更多信息见:测试、架构、发布 和 Codex Browser 设计映射。
参与贡献
提交修改前请阅读 CONTRIBUTING.md。安全问题按 SECURITY.md 处理,社区行为遵循 CODE_OF_CONDUCT.md。
许可证
原始 README: https://github.com/Clizo1209/dsh-playwright-browser/blob/main/README.zh-CN.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