/* eslint-disable react-dom/no-dangerously-set-innerhtml */ import { useState } from 'react' import { Link, useSearchParams } from 'wouter' import { PageAgent } from '@/PageAgent.js' import Footer from './components/Footer' import Header from './components/Header' const injection = encodeURI( "javascript:(function(){var s=document.createElement('script');s.src=`https://dev.g.alicdn.com/dt/page-use.js/0.0.1/lib/page-agent.umd.cjs?t=${Math.random()}`;s.setAttribute('crossorigin', true);s.onload=()=>console.log('PageAgent ready!');document.head.appendChild(s);})();" ) const injectionQwen = encodeURI( "javascript:(function(){var s=document.createElement('script');s.src=`https://dev.g.alicdn.com/dt/page-use.js/0.0.1/lib/page-agent.umd.cjs?t=${Math.random()}&model=qwen-plus-latest`;s.setAttribute('crossorigin', true);s.onload=()=>console.log('PageAgent ready!');document.head.appendChild(s);})();" ) const injectionA = ` ✨PageAgent ✨PageAgent (Qwen) ` export default function HomePage() { const [task, setTask] = useState('进入文档页,打开数据脱敏相关的文档,帮我总结成 markdown') const [params, setParams] = useSearchParams() const isOther = params.has('try_other') const [activeTab, setActiveTab] = useState<'try' | 'other'>(isOther ? 'other' : 'try') const handleExecute = async () => { if (!task.trim()) return let pageAgent: PageAgent if (window.pageAgent && !window.pageAgent.disposed) { pageAgent = window.pageAgent } else { pageAgent = new PageAgent({ // 把 react 根元素排除掉,挂了很多冒泡时间导致假阳 interactiveBlacklist: [document.getElementById('root')!], language: 'zh-CN', }) window.pageAgent = pageAgent } const result = await pageAgent.execute(task) console.log(result) } return (
{/* Hero Section */}
{/* Background Pattern */}
UI Agent in your webpage

让你的 Web 应用
拥有 AI 操作员

🪄 一行 CDN 引入 ,为任何网站添加智能 UI Agent。
用户/答疑机器人给出文字指示,AI 帮你操作页面。

{/* Try It Now Section - Tab Card */}
{/* Tab Headers */}
{/* Tab Content */}
{activeTab === 'try' && (
setTask(e.target.value)} placeholder="输入您想要 AI 执行的任务..." className="w-full px-4 py-3 pr-20 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:ring-2 focus:ring-blue-500 focus:border-transparent resize-none text-sm mb-0" data-page-agent-not-interactive />
)} {activeTab === 'other' && (
{/* 左侧:操作步骤 */}
{/* Keyboard Shortcut Hint */}

步骤 1: 显示收藏夹栏

Ctrl + Shift + B ⌘ + Shift + B
{/* Draggable Bookmarklet */}

步骤 2:{' '} 拖拽下面按钮到收藏夹栏

{/* Usage Instructions */}

步骤 3:{' '} 在任何网页点击收藏夹中的按钮即可使用

{/* 右侧:注意事项 */}

⚠️ 注意

  • 仅做技术评估,链接定期失效,成功率待提升
  • 仅支持单页应用,页面跳转后需要重新注入
  • 仅识别文本,不识别图像,不支持拖拽等复杂交互
  • 详细使用限制参照{' '} 《文档》
  • 部分网站通过 CSP 屏蔽了链接嵌入,无法注入
  • 基准测试使用 gpt-4.1-mini ,qwen 成功率略低,若卡住请刷新
)}
  • 无需后端
  • 支持私有模型
  • 无痛脱敏
  • DOM 智能操作
{/* Features Section */}
{/* Feature 1 */}

智能 DOM 理解

基于 DOM 分析,高强度脱水。无需视觉识别,纯文本实现精准操作。

{/* Feature 2 */}

安全可控集成

支持操作黑白名单、数据脱敏保护。注入自定义知识库,让 AI 按你的规则工作。

{/* Feature 3 */}

零后端部署

CDN 直接引入,自定义 LLM 接入点。从 OpenAI 到 qwen3,完全由你掌控。

{/* Feature 4 */}

普惠智能交互

为复杂 B端系统、管理后台提供自然语言入口。让每个用户都能轻松上手。

{/* Use Cases Section */}

应用场景

从简单的表单填写到复杂的业务流程,AI 都能理解并执行

{/* Use Case 1 */}
1

对接答疑机器人

把你的答疑助手变成全能Agent。客服机器人不再只说"请先点击设置按钮然后点击...",而是直接帮用户现场操作。

{/* Use Case 2 */}
2

交互升级/智能化改造

一行代码,老应用变身Agent,产品专家帮用户操作复杂 B 端软件。降低人工支持成本,提高用户满意度。

{/* Use Case 3 */}
3

产品教学

向用户演示交互过程,边做边教。例如让AI演示"如何提交报销申请"的完整操作流程。

{/* Use Case 4 */}
4

无障碍支持

为视障用户、老年用户提供自然语言交互,对接屏幕阅读器或语音助理,让软件人人可用。

) }