Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
日本語の概要は準備中です。原文の説明を表示しています。
Embed alibaba/page-agent into your own web application — a pure-JavaScript in-page GUI agent that ships as a single script tag or npm package and lets end-users drive the UI with natural language. No Python, no headless browser, no extension required.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
alibaba/page-agent (https://github.com/alibaba/page-agent, 17k+ stars, MIT) is an in-page GUI agent written in TypeScript. It lives inside a webpage, reads the DOM as text (no screenshots, no multi-modal LLM), and executes natural-language instructions like "click the login button, then fill username as John" against the current page. Pure client-side — the host site just includes a script and passes an OpenAI-compatible LLM endpoint.
Load this skill when a user wants to:
/v1/chat/completionsFastest way to see it work. Uses alibaba's free testing LLM proxy — for evaluation only, subject to their terms.
Add to any HTML page (or paste into the devtools console as a bookmarklet):
<script src="https://cdn.jsdelivr.net/npm/page-agent@1.8.0/dist/iife/page-agent.demo.js" crossorigin="true"></script>
A panel appears. Type an instruction. Done.
Bookmarklet form (drop into bookmarks bar, click on any page):
javascript:(function(){var s=document.createElement('script');s.src='https://cdn.jsdelivr.net/npm/page-agent@1.8.0/dist/iife/page-agent.demo.js';document.head.appendChild(s);})();
Inside an existing web project (React / Vue / Svelte / plain):
npm install page-agent
Wire it up with your own LLM endpoint — never ship the demo CDN to real users:
import { PageAgent } from 'page-agent'
const agent = new PageAgent({
model: 'qwen3.5-plus',
baseURL: 'https://dashscope.aliyuncs.com/compatible-mode/v1',
apiKey: process.env.LLM_API_KEY, // never hardcode
language: 'en-US',
})
// Show the panel for end users:
agent.panel.show()
// Or drive it programmatically:
await agent.execute('Click submit button, then fill username as John')
Provider examples (any OpenAI-compatible endpoint works):
| Provider | baseURL | model |
|---|---|---|
| Qwen / DashScope | https://dashscope.aliyuncs.com/compatible-mode/v1 | qwen3.5-plus |
| OpenAI | https://api.openai.com/v1 | gpt-4o-mini |
| Ollama (local) | http://localhost:11434/v1 | qwen3:14b |
| OpenRouter | https://openrouter.ai/api/v1 | anthropic/claude-sonnet-4.6 |
Key config fields (passed to new PageAgent({...})):
model, baseURL, apiKey — LLM connectionlanguage — UI language (en-US, zh-CN, etc.)Security. Don't put your apiKey in client-side code for a real deployment — proxy LLM calls through your backend and point baseURL at your proxy. The demo CDN exists because alibaba runs that proxy for evaluation.
Use this when the user wants to modify page-agent itself, test it against arbitrary sites via a local IIFE bundle, or develop the browser extension.
git clone https://github.com/alibaba/page-agent.git
cd page-agent
npm ci # exact lockfile install (or `npm i` to allow updates)
Create .env in the repo root with an LLM endpoint. Example:
LLM_MODEL_NAME=gpt-4o-mini
LLM_API_KEY=sk-...
LLM_BASE_URL=https://api.openai.com/v1
Ollama flavor:
LLM_BASE_URL=http://localhost:11434/v1
LLM_API_KEY=NA
LLM_MODEL_NAME=qwen3:14b
Common commands:
npm start # docs/website dev server
npm run build # build every package
npm run dev:demo # serve IIFE bundle at http://localhost:5174/page-agent.demo.js
npm run dev:ext # develop the browser extension (WXT + React)
npm run build:ext # build the extension
Test on any website using the local IIFE bundle. Add this bookmarklet:
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(s);})();
Then: npm run dev:demo, click the bookmarklet on any page, and the local build injects. Auto-rebuilds on save.
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 bundle returns the literal values from .env.)
Monorepo with npm workspaces. Key packages:
| Package | Path | Purpose |
|---|---|---|
page-agent | packages/page-agent/ | Main entry with UI panel |
@page-agent/core | packages/core/ | Core agent logic, no UI |
@page-agent/mcp | packages/mcp/ | MCP server (beta) |
| — | packages/llms/ | LLM client |
| — | packages/page-controller/ | DOM ops + visual feedback |
| — | packages/ui/ | Panel + i18n |
| — | packages/extension/ | Chrome/Firefox extension |
| — | packages/website/ | Docs + landing site |
After Path 1 or Path 2:
baseURL, or a bad API key)baseURLAfter Path 3:
npm run dev:demo prints Accepting connections at http://localhost:5174curl -I http://localhost:5174/page-agent.demo.js returns HTTP/1.1 200 OK with Content-Type: application/javascriptnew PageAgent({apiKey: ...}) ships in your JS bundle. Always proxy through your own backend for real deployments..env in Path 3 — Vite only reads env at startup.^22.13.0 || >=24. Node 20 will fail npm ci with engine errors.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
日本語の概要は準備中です。原文の説明を表示しています。
专为追求倍速增长的初建学校设计的教师选、育、用、留四环节体系。基于科德高中融合部真实管理经验,结合十部AI Agent架构,将人才管理从校长个人经验升级为可继承、可协同、可沉淀的组织能力。
日本語の概要は準備中です。原文の説明を表示しています。
115 网盘智能管理:扫码登录、文件浏览、搜索、转存、离线下载、智能整理。适用于"登录 115"、"查看文件"、"搜索 xxx"、"转存链接"、"磁力链接"、"整理文件"等场景。
日本語の概要は準備中です。原文の説明を表示しています。
12306-specific knowledge for booking train tickets via the Android app. Covers UC WebView virtual list behavior, proven booking flow, and common pitfalls. Uses appium-android-adb bridge OR direct uiautomator2 for all interaction.
日本語の概要は準備中です。原文の説明を表示しています。
Connect to 163/126/yeah.net (Coremail) email via IMAP, read inbox, search emails, and send emails via SMTP. Activate when user asks to check email, read mail, send email, or monitor inbox on 163/126/yeah.net accounts. Handles the Coremail-specific IMAP ID command requirement that causes "Unsafe Login" errors in standard clients.
日本語の概要は準備中です。原文の説明を表示しています。
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in, and reading/injecting secrets for commands.
日本語の概要は準備中です。原文の説明を表示しています。