前言¶
DeepSeek Harness 的核心理念是“一切皆插件”。在开发需要联网能力的智能体时,单纯的文本对话无法满足操作动态网页、处理表单或抓取实时数据的需求。dsh-tool-playwright 插件填补了这一空白,它让 AI 拥有真实的浏览器控制权,能够像人一样打开网页、点击按钮、切换标签页并读取页面内容。
插件介绍¶
dsh-tool-playwright 是微软 playwright-mcp 的原生移植版。它不需要独立的进程或服务器,直接运行在 DeepSeek Harness 内部。插件默认使用 Chromium 浏览器,采用 MIT 许可证。
安装与启用¶
安装该插件需要经过三个步骤:克隆代码、本地链接引用、重启 Harness。
- 克隆代码
从 GitHub 克隆插件文件夹。
git clone https://github.com/cheng-nan01/dsh-tool-playwright.git
- 本地引用安装
使用link:方式将克隆的文件夹注册到 Harness 的web配置文件中。注意不要移动或删除克隆后的文件夹。
dsh plugin --profile web add link:/full/path/to/the/cloned/plugin/folder
*(请将 `link:` 后的路径替换为你实际的文件夹路径,例如 `link:D:\my-plugins\dsh-tool-playwright`)*
- 重启 Harness
插件被加入启动列表后,必须重启 Harness 进程才能生效。
# 停止当前进程 (Ctrl+C)
# 重新启动
pnpm dsh web
核心功能¶
该插件提供了一整套浏览器操作工具,主要分为以下几类:
- 页面导航与操作:
browser_navigate(打开网页)、browser_back(后退)、browser_forward(前进)、browser_reload(刷新)、browser_wait_for(等待页面加载)。 - 交互操作:
browser_click(点击)、browser_type(输入文本)、browser_type_submit(输入并提交表单)、browser_select_option(选择下拉选项)、browser_hover(悬停)、browser_focus(聚焦)、browser_press_key(按键盘)、browser_drag(拖拽)、browser_upload_file(上传文件)。 - 内容查看:
browser_snapshot(获取页面结构快照,供 AI 读取)。 - 标签页管理:
browser_tab_new(新建标签页)、browser_tab_switch(切换标签页)、browser_tab_close(关闭标签页)、browser_tab_list(列出所有标签页)。 - 窗口与输出:
browser_resize(调整窗口大小)、browser_screenshot(截图)、browser_pdf(保存为 PDF)。 - 网络与调试:
browser_console_messages(读取控制台信息)、browser_network_requests(查看网络请求)。 - 高级功能:
browser_evaluate(执行 JS 代码)、browser_storage_state(管理存储状态)、browser_init_script(注入脚本)、browser_tracing_start/stop(性能追踪)。注:高级功能默认关闭,需手动开启。
典型用法¶
在 Harness 的 Web 界面(通常为 http://127.0.0.1:3080)中,AI 可以直接调用上述工具。常见的调用方式包括:
- 打开网页:
browser_navigate搭配目标 URL。 - 点击按钮:
browser_click,AI 会根据页面快照中的ref(序号)或 CSS 选择器定位元素。 - 填写表单:
browser_type或browser_type_submit。 - 查看结构:
browser_snapshot,AI 读取结构化列表来决定下一步操作。 - 多标签页操作:
browser_tab_switch在不同页面间切换。 - 截图反馈:
browser_screenshot用于确认操作结果或作为日志附件。
配置与注意事项¶
插件使用 cordis.patch.yml 进行配置。注意,Patch 配置会覆盖而非合并原有配置,因此修改时通常需要重写整个配置块。
示例配置(添加到 $DSH_HOME/profiles/<name>/cordis.patch.yml):
- id: dsh-tool-playwright
config:
browser: chromium # 浏览器引擎:chromium / firefox / webkit / msedge
headless: false # false = 显示浏览器窗口,true = 后台运行
viewport:
width: 1280 # 窗口宽度
height: 720 # 窗口高度
timeoutMs: 30000 # 单次操作超时时间(毫秒)
capabilities:
screenshot: true # 允许截图
pdf: true # 允许导出 PDF
network: true # 允许查看网络请求
关键注意事项:
- 运行环境:插件运行在 Harness 进程内部,不需要额外部署服务器。
- 权限与安全:
browser_evaluate(执行任意代码)功能默认关闭,这是出于安全考虑,仅在信任的环境下建议开启。 - 配置生效:修改配置后必须重启 Harness。
- 安装方式:使用
link:安装是创建快捷方式,代码不会复制,因此不要移动插件源码文件夹。 - 许可证:MIT 许可证(语义源自 playwright-mcp,实现为原创)。
总结¶
dsh-tool-playwright 为 DeepSeek Harness 提供了标准化的浏览器自动化能力。它将原本依赖外部 MCP 服务器的方案整合为 Harness 原生插件,简化了部署流程。对于需要构建具备真实互联网交互能力的智能体,这是一个必要的工具组件。