Metadata-Version: 2.4
Name: auto-playwright-web
Version: 0.1.0
Summary: Add your description here
Requires-Python: <3.13,>=3.12
Description-Content-Type: text/markdown
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: apscheduler>=3.10.4
Requires-Dist: fastapi>=0.115.0
Requires-Dist: httpx>=0.27.0
Requires-Dist: loguru>=0.7.2
Requires-Dist: playwright>=1.45.0
Requires-Dist: pytest>=8.2.0
Requires-Dist: pytest-asyncio>=0.24.0
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: uvicorn>=0.30.0

﻿# Auto Playwright Web

多用户 Playwright 脚本管理平台，后端使用 FastAPI，前端使用 Vite + Vue 3 + Element Plus + Monaco Editor。

## 默认账号

- 管理员：`admin / admin123`
- 测试内存仓储还包含普通用户：`demo / demo123`

生产 MySQL 首次初始化请先创建业务库，再执行：

```bash
mysql -uroot -p123456 auto_playwright_web < app/scripts/init_db.sql
```

## 本地开发

```bash
uv sync
uv run uvicorn app.main:app --reload
cd frontend
npm install
npm run dev
```

默认 API 前缀为 `/api`，前端开发服务器会代理到 `http://127.0.0.1:8000`。

## AI 生成脚本

管理员可以在脚本编辑抽屉里点击“AI 生成”，根据需求自动生成完整脚本草稿，包括脚本编码、名称、参数定义、超时时间和 Python Playwright 源码。后端不使用 OpenAI SDK，而是通过 HTTP 调用 Chat Completions 接口，并以流式响应填充前端编辑器。启用前需要配置：

```bash
OPENAI_API_KEY=你的 OpenAI API Key
OPENAI_MODEL=gpt-5.4-mini
OPENAI_BASE_URL=https://api.openai.com/v1
```

`OPENAI_MODEL` 和 `OPENAI_BASE_URL` 都可以按部署环境覆盖。

## 脚本约定

脚本由管理员维护，所有用户共享。脚本入口必须为：

```python
async def main(params: dict) -> dict:
    print("print 输出会进入 stdout_text")
    return {"ok": True}
```

建议脚本使用 `logging` 输出排查日志，平台同时兼容 `print`。`print` 会进入 stdout，`logging` 默认进入 stderr。
