Metadata-Version: 2.4
Name: mooncat-browser-client
Version: 0.4.11
Summary: All-in-one MoonCat local browser service and Python client
License-Expression: MIT
Project-URL: Homepage, https://github.com/NINTING/mooncat-browser
Project-URL: Repository, https://github.com/NINTING/mooncat-browser
Project-URL: Issues, https://github.com/NINTING/mooncat-browser/issues
Keywords: browser,automation,mooncat,browserd
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: httpx<1,>=0.27.0
Requires-Dist: markdownify<2,>=0.13.0
Requires-Dist: nodejs-wheel<25,>=24.16.0

# MoonCat Browser

这是包含本地浏览器服务和 Python 客户端的一体化安装包。复杂的浏览器逻辑运行在
统一的 browserd 后端中。

## 安装

```powershell
pip install mooncat-browser-client
```

不需要另外安装 Node.js 或 npm。安装完成后直接启动，Chrome 会自动打开：

```powershell
mooncat-browser start
```

也可以启动后直接打开指定网页：

```powershell
mooncat-browser start --url https://example.com
```

然后运行 Python：

```python
from browser import Browser

browser = Browser()
tab = browser.new_tab("https://example.com")
print(browser.inner_text(tab, "body"))
```

`new_tab()` 返回包含 `pageHandle` 的标签信息。为方便使用，`operate()`、`click()`、
`fill()` 等方法既接受完整标签信息，也接受其中的 `pageHandle`。

## 服务地址

默认连接 `http://127.0.0.1:17322`。可直接指定外部服务端口：

```python
browser = Browser(host="192.168.1.20", port=17322)
```

也可使用完整地址：

```python
browser = Browser(base_url="http://192.168.1.20:17322")
```

支持环境变量：

- `MOONCAT_BROWSERD_BASE_URL`
- `MOONCAT_BROWSERD_HOST`
- `MOONCAT_BROWSERD_PORT`

常用命令：

```powershell
mooncat-browser health
mooncat-browser stop
```

## 独立 Chrome 与插件

每个实例使用独立的 Chrome profile、插件目录、功能端口和插件端口：

```powershell
mooncat-browser init work --port 18322 --health-port 18440 --extension-port 18321
mooncat-browser prepare-extension work
mooncat-browser start work --route-mode cdp
```

第一次在新打开的 Chrome 中进入 `chrome://extensions`，打开开发者模式，加载
`prepare-extension` 打印的目录。安装后停止实例，再走插件模式启动：

```powershell
mooncat-browser stop work --port 18322 --health-port 18440 --extension-port 18321
mooncat-browser start work --port 18322 --health-port 18440 --extension-port 18321 --route-mode extension
```

安装包内的 Browser Skill：

```powershell
mooncat-browser skills
```

## 后端接口

客户端提供浏览器打开/关闭、标签页、通用页面操作、Cookie、下载任务和自动下载设置接口。
页面动作统一通过 `operate()` 发送给 browserd，Python 侧不重复实现浏览器逻辑。
