46915964e12140a7f09a4f6e7e0af58c91cfcc1e
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
University Playwright Codegen Agent
构建于 Agno 的自动化代码生成代理:输入海外大学官网的根地址,即可生成一份使用 Playwright 的 Python 脚本,脚本会抓取各学院/研究生院下的硕士项目网址以及项目中列出的导师(Supervisor/Faculty)个人信息页面。本项目使用 uv 进行依赖管理,ruff 做静态检查,ty 负责类型检查,并提供了一个基于 Typer 的 CLI。
Features
- ✅ Agno Agent:利用
output_schema强制结构化输出,里程碑式地生成ScriptPlan并将其渲染为可执行脚本。 - ✅ Playwright sampling:计划生成前会用 Playwright 对站点进行轻量抓取,帮助 Agent 找到关键词与导航策略。
- ✅ Deterministic script template:脚本模板包含 BFS 爬取、关键词过滤、JSON 输出等逻辑,确保满足“硕士项目 + 导师”需求。
- ✅ uv + ruff + ty workflow:开箱即用的现代 Python 工具链。
Getting started
-
创建虚拟环境并安装依赖
uv venv --python 3.12 uv pip install -r pyproject.toml playwright install # 安装浏览器内核 -
配置大模型 API key
- OpenAI:
export OPENAI_API_KEY=... - Anthropic:
export ANTHROPIC_API_KEY=... - 可通过环境变量
CODEGEN_MODEL_PROVIDER在openai与anthropic之间切换。
- OpenAI:
-
运行 CLI 生成脚本
uv run university-agent generate \ "https://www.example.edu" \ --campus "Example Campus" \ --language "English" \ --max-depth 2 \ --max-pages 60运行完成后会在
artifacts/下看到生成的 Playwright 脚本,并在终端展示自动规划的关键词与验证步骤。 -
执行 Ruff & Ty 检查
uv run ruff check uvx ty check
Project structure
├── README.md
├── pyproject.toml
├── src/university_agent
│ ├── agent.py # Agno Agent 配置
│ ├── cli.py # Typer CLI
│ ├── config.py # pydantic Settings
│ ├── generator.py # Orchestration 引擎
│ ├── models.py # 数据模型(请求/计划/结果)
│ ├── renderer.py # ScriptPlan -> Playwright script
│ ├── sampler.py # Playwright 采样
│ ├── templates/
│ │ └── playwright_script.py.jinja
│ └── writer.py # 将脚本写入 artifacts/
└── 任务1.txt
Tips
university-agent generate --help查看所有 CLI 选项,可选择跳过采样或导出规划 JSON。- 如果 Agno Agent 需使用其他工具,可在
agent.py中自行扩展自定义tool。 - Playwright 采样在某些环境中需要额外的浏览器依赖,请根据官方提示执行
playwright install。
Happy building! 🎓🤖
Languages
Python
89.8%
TypeScript
6.4%
Jinja
3.2%
Batchfile
0.2%
Dockerfile
0.2%
Other
0.1%