OpenIngress:一款检测AI代理能否正常访问网站的开源工具
OpenIngress 通过模拟浏览器行为爬取网站,捕获 DOM、截图和无障碍快照,并进行静态可操作性分析和 LLM 引导的探索任务,帮助开发者发现并修复 AI 代理在网站导航中的断点。
随着 AI 代理越来越多地代替用户进行网页浏览、点击和表单填写,一个在浏览器中显示正常的网站可能对代理来说却难以操作。按钮没有标签、页面依赖 JavaScript 加载、链接未出现在代理可读取的页面结构中——这些问题都会导致代理导航失败。OpenIngress 正是为解决这一问题而生的开源工具。
OpenIngress 的核心流程分为四个阶段:爬取、分析、探索和报告。在爬取阶段,它使用 Playwright 进行广度优先搜索,获取页面的 DOM 树、屏幕截图和无障碍快照。这些数据被用于构建页面导航图。分析阶段则对爬取结果进行静态可操作性评估,包括标签覆盖率、hydration 状态检查以及差距分类,从而识别出诸如未标签按钮、仅通过 JavaScript 加载内容等常见问题。
接下来是探索阶段,开发者需要配置 LLM API 密钥(兼容 OpenAI、Azure、Gemini、Ollama 等)。OpenIngress 会利用 LLM 引导的探索任务,尝试模拟代理完成指定的导航或操作,并记录过程中的所有障碍和失败点。最后,报告阶段会生成详细的指标,包括页面覆盖率和导航断点,并支持 Markdown 格式导出,方便团队分享和迭代。
技术栈方面,OpenIngress 的后端采用 Flask 和 Gunicorn,自动化依赖 Playwright(Chromium),前端使用 Vue 3 和 Vite,数据存储默认使用本地文件系统,也可选 Supabase。快速启动只需复制 .env 文件,设置 LLM_API_KEY,然后执行 make install、make backend 和 make frontend 即可。默认爬取深度为 3 级,最多 100 个页面。
通过使用 OpenIngress,开发者可以在 AI 代理大规模部署之前,主动发现并修复网站的可操作性痛点,确保网站在代理驱动的浏览体验中表现良好,从而提升 AI 生态下的用户体验。