page-agent
Integrates a JavaScript GUI agent into web applications, enabling users to interact with the UI using natural language commands.
Install this skill
Security score
The page-agent skill was audited on May 17, 2026 and we found 21 security issues across 4 threat categories, including 1 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 141 | javascript:(function(){var s=document.createElement('script');s.src=`http://localhost:5174/page-agent.demo.js?t=${Math.random()}`;s.onload=()=>console.log('PageAgent ready!');document.head.appendChild |
Curl to non-GitHub URL
| 173 | 2. `curl -I http://localhost:5174/page-agent.demo.js` returns `HTTP/1.1 200 OK` with `Content-Type: application/javascript` |
Access to .env file
| 74 | apiKey: process.env.LLM_API_KEY, // never hardcode |
Access to .env file
| 112 | Create `.env` in the repo root with an LLM endpoint. Example: |
Access to .env file
| 146 | **Warning:** your `.env` `LLM_API_KEY` is inlined into the IIFE bundle during dev builds. Don't share the bundle. Don't commit it. Don't paste the URL into Slack. (Verified: grepping the public dev bu |
Access to .env file
| 182 | - **Restart dev server** after editing `.env` in Path 3 — Vite only reads env at startup. |
External URL reference
| 47 | <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/iife/page-agent.demo.js" crossorigin="true"></script> |
External URL reference
| 55 | javascript:(function(){var s=document.createElement('script');s.src='https://cdn.jsdelivr.net/npm/[email protected]/dist/iife/page-agent.demo.js';document.head.appendChild(s);})(); |
External URL reference
| 73 | baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1', |
External URL reference
| 89 | | Qwen / DashScope | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen3.5-plus` | |
External URL reference
| 90 | | OpenAI | `https://api.openai.com/v1` | `gpt-4o-mini` | |
External URL reference
| 91 | | Ollama (local) | `http://localhost:11434/v1` | `qwen3:14b` | |
External URL reference
| 92 | | OpenRouter | `https://openrouter.ai/api/v1` | `anthropic/claude-sonnet-4.6` | |
External URL reference
| 98 | - Allowlist and data-masking hooks exist for locking down what the agent can touch — see https://alibaba.github.io/page-agent/ for the full option list |
External URL reference
| 117 | LLM_BASE_URL=https://api.openai.com/v1 |
External URL reference
| 123 | LLM_BASE_URL=http://localhost:11434/v1 |
External URL reference
| 133 | npm run dev:demo # serve IIFE bundle at http://localhost:5174/page-agent.demo.js |
External URL reference
| 141 | javascript:(function(){var s=document.createElement('script');s.src=`http://localhost:5174/page-agent.demo.js?t=${Math.random()}`;s.onload=()=>console.log('PageAgent ready!');document.head.appendChild |
External URL reference
| 172 | 1. `npm run dev:demo` prints `Accepting connections at http://localhost:5174` |
External URL reference
| 173 | 2. `curl -I http://localhost:5174/page-agent.demo.js` returns `HTTP/1.1 200 OK` with `Content-Type: application/javascript` |
External URL reference
| 189 | - Docs: https://alibaba.github.io/page-agent/ |