From efe131660ad174f9fa3ecfefbcea5c266e16513e Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Wed, 21 Jan 2026 00:44:09 +0800 Subject: [PATCH 1/5] fix: demo not showing panel; docs updated --- AGENTS.md | 22 ++++------------------ CONTRIBUTING.md | 4 ++-- package.json | 2 +- packages/page-agent/src/demo.ts | 1 + 4 files changed, 8 insertions(+), 21 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f4a0b94..7080d09 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -72,28 +72,14 @@ const pageInfo = await this.pageController.getPageInfo() 3. **LLM Processing**: AI returns action plans (page-agent) 4. **Indexed Operations**: PageAgent calls PageController by element index -### IIFE Builds (`packages/page-agent/dist/iife/`) - -Two IIFE builds for script tag usage: - -| Build | File | Description | -| ----- | -------------------- | -------------------------------- | -| Demo | `page-agent.demo.js` | Auto-init with built-in test API | -| Full | `page-agent.js` | Exposes `PageAgent` class only | - -Demo build supports query params (e.g., `?model=gpt-4&lang=en-US`). - -Build with `npm run build:iife --workspace=page-agent`. - ## Key Files Reference ### Page Agent (`packages/page-agent/`) -| File | Description | -| ------------------------ | -------------------------------------------- | -| `src/PageAgent.ts` | ⭐ Main class with UI, extends PageAgentCore | -| `src/entry-iife.ts` | IIFE entry (exposes PageAgent class) | -| `src/entry-iife-demo.ts` | IIFE demo entry (auto-init with demo API) | +| File | Description | +| ------------------ | -------------------------------------------- | +| `src/PageAgent.ts` | ⭐ Main class with UI, extends PageAgentCore | +| `src/demo.ts` | IIFE demo entry (auto-init with demo API) | ### Core (`packages/core/`) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 500da7b..473e537 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -122,13 +122,13 @@ npm start - Start and serve a local `iife` script ```bash - npm run dev:iife # Serving IIFE with auto rebuild at http://localhost:5174/page-agent.js + npm run dev:demo # Serving IIFE with auto rebuild at http://localhost:5174/page-agent.demo.js ``` - Add a new bookmark ```javascript - javascript:(function(){var s=document.createElement('script');s.src=`http://localhost:5174/page-agent.js?t=${Math.random()}`;s.onload=()=>console.log(%27PageAgent ready!%27);document.head.appendChild(s);})(); + javascript:(function(){var s=document.createElement('script');s.src=`http://localhost:5174/page-agent.demo.js?t=${Math.random()}`;s.onload=()=>console.log(%27PageAgent ready!%27);document.head.appendChild(s);})(); ``` - Click the bookmark on any page to load Page-Agent diff --git a/package.json b/package.json index de85d57..90afcd0 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "build:website": "npm run build:website --workspace=@page-agent/website", "build:libs": "npm run build --workspaces --if-present", "build": "npm run build:libs && npm run build:website", - "dev:iife": "npm run dev:iife --workspace=page-agent", + "dev:demo": "npm run dev:demo --workspace=page-agent", "version": "node scripts/sync-version.js", "lint": "eslint .", "prepare": "husky" diff --git a/packages/page-agent/src/demo.ts b/packages/page-agent/src/demo.ts index 9b39a79..21f220d 100644 --- a/packages/page-agent/src/demo.ts +++ b/packages/page-agent/src/demo.ts @@ -41,6 +41,7 @@ setTimeout(() => { // Create agent window.pageAgent = new PageAgent(config) + window.pageAgent.panel.show() console.log('šŸš€ page-agent.js initialized with config:', window.pageAgent.config) }) From c781eba986a4373afe6c5dc9e8004fc92ef84ece Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Wed, 21 Jan 2026 01:08:19 +0800 Subject: [PATCH 2/5] feat: fixed version in CDN URL --- .vscode/settings.json | 1 + README-zh.md | 10 +++++----- README.md | 10 +++++----- packages/website/src/constants.ts | 5 +++-- scripts/sync-version.js | 26 ++++++++++++++++++++++++++ 5 files changed, 40 insertions(+), 12 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index db6a62e..49c7951 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,6 +6,7 @@ "HITL", "innerhtml", "llms", + "npmmirror", "onwarn", "opensource", "qwen", diff --git a/README-zh.md b/README-zh.md index 6e6e49b..feba89e 100644 --- a/README-zh.md +++ b/README-zh.md @@ -37,17 +37,17 @@ ```html ``` > āš ļø **ä»…ē”ØäŗŽęŠ€ęœÆčÆ„ä¼°ć€‚** Demo ęØ”åž‹ęœ‰é€ŸēŽ‡é™åˆ¶å’Œä½æē”Øé™åˆ¶ļ¼Œē”Ÿäŗ§ēŽÆå¢ƒčÆ·ä½æē”Ø NPM ę–¹å¼ć€‚ -| 镜像 | URL | -| ------ | ----------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/latest/files/dist/iife/page-agent.demo.js | +| 镜像 | URL | +| ------ | ----------------------------------------------------------------------------------------- | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js | ### NPM 安装 diff --git a/README.md b/README.md index 972414b..b131e8b 100644 --- a/README.md +++ b/README.md @@ -37,17 +37,17 @@ Fastest way to try PageAgent: ```html ``` > āš ļø **For technical evaluation only.** Demo model has rate limits and usage restrictions. Use NPM for production. -| Mirrors | URL | -| ------- | ----------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/latest/files/dist/iife/page-agent.demo.js | +| Mirrors | URL | +| ------- | ----------------------------------------------------------------------------------------- | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js | ### NPM Installation diff --git a/packages/website/src/constants.ts b/packages/website/src/constants.ts index c8d6afe..a13c948 100644 --- a/packages/website/src/constants.ts +++ b/packages/website/src/constants.ts @@ -1,7 +1,8 @@ // Demo build (auto-init with demo LLM, for quick testing) -export const CDN_DEMO_URL = 'https://cdn.jsdelivr.net/npm/page-agent/dist/iife/page-agent.demo.js' +export const CDN_DEMO_URL = + 'https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js' export const CDN_DEMO_CN_URL = - 'https://registry.npmmirror.com/page-agent/latest/files/dist/iife/page-agent.demo.js' + 'https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js' // Demo LLM for website testing export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM' diff --git a/scripts/sync-version.js b/scripts/sync-version.js index 3c69208..9025984 100644 --- a/scripts/sync-version.js +++ b/scripts/sync-version.js @@ -96,6 +96,32 @@ for (const pkg of packages) { hasChanges = true } +// Update CDN URLs in documentation and source files +const oldVersion = rootPkg.version === newVersion ? newVersion : rootPkg.version +const CDN_DEMO_URL_OLD = `https://cdn.jsdelivr.net/npm/page-agent@${oldVersion}/dist/iife/page-agent.demo.js` +const CDN_DEMO_URL_NEW = `https://cdn.jsdelivr.net/npm/page-agent@${newVersion}/dist/iife/page-agent.demo.js` +const CDN_DEMO_CN_URL_OLD = `https://registry.npmmirror.com/page-agent/${oldVersion}/files/dist/iife/page-agent.demo.js` +const CDN_DEMO_CN_URL_NEW = `https://registry.npmmirror.com/page-agent/${newVersion}/files/dist/iife/page-agent.demo.js` + +const filesToUpdateCdn = ['README.md', 'README-zh.md', 'packages/website/src/constants.ts'] + +for (const relPath of filesToUpdateCdn) { + const filePath = join(rootDir, relPath) + if (!existsSync(filePath)) continue + + let content = readFileSync(filePath, 'utf-8') + const original = content + + content = content.replaceAll(CDN_DEMO_URL_OLD, CDN_DEMO_URL_NEW) + content = content.replaceAll(CDN_DEMO_CN_URL_OLD, CDN_DEMO_CN_URL_NEW) + + if (content !== original) { + writeFileSync(filePath, content) + console.log(chalk.green('āœ“') + ` ${chalk.bold(relPath)}: CDN URLs updated`) + hasChanges = true + } +} + console.log(chalk.green.bold(`\nāœ“ Version synced: ${newVersion}\n`)) // Show git commands hint From bc7ccf47ff0c85af4785f62e1a2325e977847d41 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Wed, 21 Jan 2026 01:15:58 +0800 Subject: [PATCH 3/5] fix: handle version in sync script --- scripts/sync-version.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/sync-version.js b/scripts/sync-version.js index 9025984..0ce5b28 100644 --- a/scripts/sync-version.js +++ b/scripts/sync-version.js @@ -9,6 +9,7 @@ import chalk from 'chalk' import { existsSync, readFileSync, readdirSync, writeFileSync } from 'fs' import { dirname, join } from 'path' +import { exit } from 'process' import { fileURLToPath } from 'url' const __dirname = dirname(fileURLToPath(import.meta.url)) @@ -17,10 +18,16 @@ const rootDir = join(__dirname, '..') // Parse arguments const versionArg = process.argv[2] +if (!versionArg) { + console.log(chalk.yellow('āš ļø No version specified.\n')) + exit(1) +} + // Read root package.json const rootPkgPath = join(rootDir, 'package.json') const rootPkg = JSON.parse(readFileSync(rootPkgPath, 'utf-8')) -const newVersion = versionArg || rootPkg.version +const oldVersion = rootPkg.version +const newVersion = versionArg console.log(chalk.cyan.bold('\nšŸ“¦ Syncing version\n')) @@ -69,7 +76,6 @@ for (const pkg of packages) { if (!existsSync(pkgPath)) continue const pkgJson = JSON.parse(readFileSync(pkgPath, 'utf-8')) - const oldVersion = pkgJson.version let pkgChanged = false // Update package version @@ -97,7 +103,6 @@ for (const pkg of packages) { } // Update CDN URLs in documentation and source files -const oldVersion = rootPkg.version === newVersion ? newVersion : rootPkg.version const CDN_DEMO_URL_OLD = `https://cdn.jsdelivr.net/npm/page-agent@${oldVersion}/dist/iife/page-agent.demo.js` const CDN_DEMO_URL_NEW = `https://cdn.jsdelivr.net/npm/page-agent@${newVersion}/dist/iife/page-agent.demo.js` const CDN_DEMO_CN_URL_OLD = `https://registry.npmmirror.com/page-agent/${oldVersion}/files/dist/iife/page-agent.demo.js` From 3a3bb0e58ca187766b597a9aa0687eec0822f1c7 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Wed, 21 Jan 2026 01:23:07 +0800 Subject: [PATCH 4/5] fix: use spaces for JSON formatting in version sync script --- scripts/sync-version.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/sync-version.js b/scripts/sync-version.js index 0ce5b28..2267b59 100644 --- a/scripts/sync-version.js +++ b/scripts/sync-version.js @@ -34,7 +34,7 @@ console.log(chalk.cyan.bold('\nšŸ“¦ Syncing version\n')) // Update root package.json if new version specified if (versionArg) { rootPkg.version = newVersion - writeFileSync(rootPkgPath, JSON.stringify(rootPkg, null, '\t') + '\n') + writeFileSync(rootPkgPath, JSON.stringify(rootPkg, null, ' ') + '\n') console.log(chalk.green('āœ“') + ` ${chalk.bold('root')} → ${chalk.yellow(newVersion)}`) } else { console.log(chalk.dim(' root:') + ` ${chalk.yellow(newVersion)} ${chalk.dim('(source)')}`) @@ -94,7 +94,7 @@ for (const pkg of packages) { continue } - writeFileSync(pkgPath, JSON.stringify(pkgJson, null, '\t') + '\n') + writeFileSync(pkgPath, JSON.stringify(pkgJson, null, ' ') + '\n') console.log( chalk.green('āœ“') + ` ${chalk.bold(pkgJson.name)}: ${chalk.dim(oldVersion)} → ${chalk.yellow(newVersion)}` From 897b9190445fc685e8c6e0ebf4c1e477c5743d90 Mon Sep 17 00:00:00 2001 From: Simon <10131203+gaomeng1900@users.noreply.github.com> Date: Wed, 21 Jan 2026 01:23:42 +0800 Subject: [PATCH 5/5] chore(version): bump version to 1.0.0-beta.2 --- README-zh.md | 6 +++--- README.md | 6 +++--- package-lock.json | 28 +++++++++++++-------------- package.json | 2 +- packages/core/package.json | 6 +++--- packages/llms/package.json | 2 +- packages/page-agent/package.json | 10 +++++----- packages/page-controller/package.json | 2 +- packages/ui/package.json | 2 +- packages/website/package.json | 2 +- packages/website/src/constants.ts | 4 ++-- 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/README-zh.md b/README-zh.md index feba89e..e1d07b8 100644 --- a/README-zh.md +++ b/README-zh.md @@ -37,7 +37,7 @@ ```html ``` @@ -46,8 +46,8 @@ | 镜像 | URL | | ------ | ----------------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.2/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.2/files/dist/iife/page-agent.demo.js | ### NPM 安装 diff --git a/README.md b/README.md index b131e8b..3cc2bbf 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Fastest way to try PageAgent: ```html ``` @@ -46,8 +46,8 @@ Fastest way to try PageAgent: | Mirrors | URL | | ------- | ----------------------------------------------------------------------------------------- | -| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js | -| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js | +| Global | https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.2/dist/iife/page-agent.demo.js | +| China | https://registry.npmmirror.com/page-agent/1.0.0-beta.2/files/dist/iife/page-agent.demo.js | ### NPM Installation diff --git a/package-lock.json b/package-lock.json index 2e2b8e8..dd6a3a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "root", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "root", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT", "workspaces": [ "packages/page-controller", @@ -8142,18 +8142,18 @@ }, "packages/core": { "name": "@page-agent/core", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT", "dependencies": { - "@page-agent/llms": "1.0.0-beta.1", - "@page-agent/page-controller": "1.0.0-beta.1", + "@page-agent/llms": "1.0.0-beta.2", + "@page-agent/page-controller": "1.0.0-beta.2", "chalk": "^5.6.2", "zod": "^4.3.5" } }, "packages/llms": { "name": "@page-agent/llms", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT", "dependencies": { "chalk": "^5.6.2", @@ -8161,20 +8161,20 @@ } }, "packages/page-agent": { - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT", "dependencies": { - "@page-agent/core": "1.0.0-beta.1", - "@page-agent/llms": "1.0.0-beta.1", - "@page-agent/page-controller": "1.0.0-beta.1", - "@page-agent/ui": "1.0.0-beta.1", + "@page-agent/core": "1.0.0-beta.2", + "@page-agent/llms": "1.0.0-beta.2", + "@page-agent/page-controller": "1.0.0-beta.2", + "@page-agent/ui": "1.0.0-beta.2", "chalk": "^5.6.2", "zod": "^4.3.5" } }, "packages/page-controller": { "name": "@page-agent/page-controller", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT", "dependencies": { "ai-motion": "^0.4.8" @@ -8182,12 +8182,12 @@ }, "packages/ui": { "name": "@page-agent/ui", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "license": "MIT" }, "packages/website": { "name": "@page-agent/website", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "dependencies": { "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-separator": "^1.1.8", diff --git a/package.json b/package.json index 90afcd0..10e2f4d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "root", "private": true, - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "workspaces": [ "packages/page-controller", diff --git a/packages/core/package.json b/packages/core/package.json index e40bcc6..6cca22a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/core", "private": false, - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "main": "./dist/esm/page-agent-core.js", "module": "./dist/esm/page-agent-core.js", @@ -45,7 +45,7 @@ "dependencies": { "chalk": "^5.6.2", "zod": "^4.3.5", - "@page-agent/llms": "1.0.0-beta.1", - "@page-agent/page-controller": "1.0.0-beta.1" + "@page-agent/llms": "1.0.0-beta.2", + "@page-agent/page-controller": "1.0.0-beta.2" } } diff --git a/packages/llms/package.json b/packages/llms/package.json index c5724d8..ce9aca9 100644 --- a/packages/llms/package.json +++ b/packages/llms/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/llms", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "main": "./dist/lib/page-agent-llms.js", "module": "./dist/lib/page-agent-llms.js", diff --git a/packages/page-agent/package.json b/packages/page-agent/package.json index 53d710d..fb90250 100644 --- a/packages/page-agent/package.json +++ b/packages/page-agent/package.json @@ -1,7 +1,7 @@ { "name": "page-agent", "private": false, - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "main": "./dist/esm/page-agent.js", "module": "./dist/esm/page-agent.js", @@ -46,9 +46,9 @@ "dependencies": { "chalk": "^5.6.2", "zod": "^4.3.5", - "@page-agent/llms": "1.0.0-beta.1", - "@page-agent/page-controller": "1.0.0-beta.1", - "@page-agent/core": "1.0.0-beta.1", - "@page-agent/ui": "1.0.0-beta.1" + "@page-agent/llms": "1.0.0-beta.2", + "@page-agent/page-controller": "1.0.0-beta.2", + "@page-agent/core": "1.0.0-beta.2", + "@page-agent/ui": "1.0.0-beta.2" } } diff --git a/packages/page-controller/package.json b/packages/page-controller/package.json index 350b421..653580b 100644 --- a/packages/page-controller/package.json +++ b/packages/page-controller/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/page-controller", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "main": "./dist/lib/page-controller.js", "module": "./dist/lib/page-controller.js", diff --git a/packages/ui/package.json b/packages/ui/package.json index 5c3d025..2c02547 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -1,6 +1,6 @@ { "name": "@page-agent/ui", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "main": "./dist/lib/page-agent-ui.js", "module": "./dist/lib/page-agent-ui.js", diff --git a/packages/website/package.json b/packages/website/package.json index ec3ce5b..9fabc97 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -1,7 +1,7 @@ { "name": "@page-agent/website", "private": true, - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "type": "module", "scripts": { "dev": "vite --host 0.0.0.0", diff --git a/packages/website/src/constants.ts b/packages/website/src/constants.ts index a13c948..f24b8f7 100644 --- a/packages/website/src/constants.ts +++ b/packages/website/src/constants.ts @@ -1,8 +1,8 @@ // Demo build (auto-init with demo LLM, for quick testing) export const CDN_DEMO_URL = - 'https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.1/dist/iife/page-agent.demo.js' + 'https://cdn.jsdelivr.net/npm/page-agent@1.0.0-beta.2/dist/iife/page-agent.demo.js' export const CDN_DEMO_CN_URL = - 'https://registry.npmmirror.com/page-agent/1.0.0-beta.1/files/dist/iife/page-agent.demo.js' + 'https://registry.npmmirror.com/page-agent/1.0.0-beta.2/files/dist/iife/page-agent.demo.js' // Demo LLM for website testing export const DEMO_MODEL = 'PAGE-AGENT-FREE-TESTING-RANDOM'