# pi-dp-browser — DrissionPage 常驻浏览器 skill

基于 [DrissionPage](https://www.drissionpage.cn) 的常驻浏览器控制 skill,用于 pi coding agent。

## 功能

- 控制一个**常驻** Chrome 浏览器(默认调试端口 `9333`),脚本结束后浏览器不关闭
- 标签页、登录态、页面滚动状态在多次调用之间持续存在,手动操作浏览器也同步生效
- 支持:打开/切换标签页、点击、输入、下拉选择、按键、滚动、执行 JS、截图
- 页面快照只包含**人类可见**元素(链接/按钮/输入框/下拉/文本/标题/图片),不含 CSS/JS 内部信息

## 安装

作为 pi 包安装(推荐,安装后自动发现 skill):

```bash
pi install npm:pi-dp-browser
# 或 git 源:
pi install git:github.com/xing-shuyin/pi-dp-browser
```

也可以手动克隆到 pi 的技能目录:

```bash
cd ~/.pi/agent/skills
mkdir dp-browser && git clone <repo-url> dp-browser
```

需要 Python 3 + `drissionpage`(首次运行脚本会自动创建虚拟环境并安装,约 30 秒)。

## 用法

```bash
# 仓库内(相对仓库根):
python skills/dp-browser/scripts/dp_browser.py open https://example.com

# 或 pi 安装后(技能目录内):
python scripts/dp_browser.py snapshot -i   # 列出页面可交互元素
```

```bash
python .../dp_browser.py click 3          # 或 click 'text:Sign in'
python .../dp_browser.py input 'css:#q' 关键词
python .../dp_browser.py press Enter
python .../dp_browser.py snapshot         # 读取页面可见内容
```

所有命令输出 JSON(`{"ok": true/false, ...}`)。

## 命令速查

| 命令 | 说明 |
| --- | --- |
| `open <url>` | 当前标签页打开网址(自动补 `https://`) |
| `new <url>` | 新标签页打开 |
| `tabs` / `switch` / `close` | 标签页管理 |
| `snapshot` / `snapshot -i` | 页面可见内容 / 仅交互元素快照 |
| `click` / `input` / `select` / `check` / `type` / `press` / `hover` | 交互操作 |
| `scroll` | 滚动(up/down/top/bottom/to) |
| `js` / `jsx` | 执行 JS |
| `wait` / `wait_ele` | 等待 |
| `screenshot` | 截图 |
| `quit` | 关闭浏览器 |

详见 `SKILL.md`。
