2026-02-14 16:23:34 +08:00
import { Link } from 'wouter'
2026-02-27 19:46:44 +08:00
import { Heading } from '@/components/Heading'
2026-01-30 16:47:23 +08:00
import { useLanguage } from '@/i18n/context'
2025-10-22 22:35:25 +08:00
2025-09-29 16:33:15 +08:00
export default function LimitationsPage() {
2026-01-30 16:47:23 +08:00
const { isZh } = useLanguage ()
2025-10-22 22:35:25 +08:00
2025-09-29 16:33:15 +08:00
return (
< div className = "max-w-4xl mx-auto" >
< div className = "mb-8" >
2025-10-22 22:35:25 +08:00
< h1 className = "text-4xl font-bold mb-4 text-gray-900 dark:text-white" >
2026-01-30 15:13:31 +08:00
{ isZh ? '使用限制' : 'Limitations' }
2025-10-22 22:35:25 +08:00
</ h1 >
2026-01-30 15:13:31 +08:00
< p className = "text-xl text-gray-600 dark:text-gray-300" >
{ isZh
2026-02-14 16:23:34 +08:00
? 'Page Agent 基于 DOM 理解网页并执行操作。这决定了它的能力边界。'
: 'Page Agent understands web pages via DOM and performs actions accordingly. This defines its capability boundary.' }
2026-01-30 15:13:31 +08:00
</ p >
2025-09-29 16:33:15 +08:00
</ div >
< div className = "prose prose-lg dark:prose-invert max-w-none" >
2026-02-14 16:23:34 +08:00
{ /* PageAgent.js vs PageAgentExt */ }
2026-02-27 20:36:00 +08:00
< Heading id = "pageagent-js-vs-pageagentext" className = "text-2xl font-bold mb-3" >
2026-02-14 16:23:34 +08:00
{ isZh ? 'PageAgent.js vs PageAgentExt' : 'PageAgent.js vs PageAgentExt' }
2026-02-27 19:46:44 +08:00
</ Heading >
2026-02-14 16:23:34 +08:00
< p className = "text-gray-600 dark:text-gray-300 mb-4" >
{ isZh
? 'PageAgent.js 是核心库,运行在页面内。PageAgentExt 是可选的浏览器扩展,提供额外的浏览器级控制能力。'
: 'PageAgent.js is the core library running inside a page. PageAgentExt is an optional browser extension that adds browser-level control.' }
</ p >
< div className = "overflow-x-auto mb-6" >
< table className = "w-full text-sm border-collapse" >
< thead >
< tr className = "border-b border-gray-200 dark:border-gray-700" >
< th className = "text-left py-3 pr-4" ></ th >
< th className = "text-left py-3 px-4 font-semibold" > PageAgent . js </ th >
< th className = "text-left py-3 pl-4 font-semibold" >
PageAgentExt { ' ' }
< Link
2026-02-27 19:46:44 +08:00
href = "/features/chrome-extension"
2026-02-14 16:23:34 +08:00
className = "text-xs font-normal text-blue-600 dark:text-blue-400 hover:underline"
>
{ isZh ? '了解更多' : 'learn more' }
</ Link >
</ th >
</ tr >
</ thead >
< tbody className = "text-gray-600 dark:text-gray-300" >
< tr className = "border-b border-gray-100 dark:border-gray-800" >
< td className = "py-3 pr-4 font-medium text-gray-900 dark:text-white" >
{ isZh ? '接入方式' : 'Integration' }
</ td >
< td className = "py-3 px-4" >
{ isZh ? '网站开发者主动集成' : 'Site developer integrates the library' }
</ td >
< td className = "py-3 pl-4" >
{ isZh ? '用户安装浏览器扩展' : 'User installs a browser extension' }
</ td >
</ tr >
< tr className = "border-b border-gray-100 dark:border-gray-800" >
< td className = "py-3 pr-4 font-medium text-gray-900 dark:text-white" >
{ isZh ? '可操作范围' : 'Scope' }
</ td >
< td className = "py-3 px-4" >
{ isZh ? '当前页面(为 SPA 设计)' : 'Current page (designed for SPAs)' }
</ td >
< td className = "py-3 pl-4" >
{ isZh ? '任意网页、多标签页' : 'Any web page, multi-tab' }
</ td >
</ tr >
< tr >
< td className = "py-3 pr-4 font-medium text-gray-900 dark:text-white" >
{ isZh ? '额外能力' : 'Extra capabilities' }
</ td >
< td className = "py-3 px-4" > — </ td >
< td className = "py-3 pl-4" >
{ isZh ? '新建/切换/关闭标签页' : 'Open / switch / close tabs' }
</ td >
</ tr >
</ tbody >
</ table >
2025-09-29 16:33:15 +08:00
</ div >
2026-02-14 16:23:34 +08:00
{ /* Interaction Limitations */ }
2026-03-04 21:13:10 +08:00
< Heading id = "interaction-capabilities" className = "text-2xl font-bold mb-3 mt-6" >
2026-02-14 16:23:34 +08:00
{ isZh ? '交互能力' : 'Interaction Capabilities' }
2026-02-27 19:46:44 +08:00
</ Heading >
2025-09-29 16:33:15 +08:00
< div className = "bg-gray-50 dark:bg-gray-800 rounded-lg p-6 mb-6" >
2026-02-14 16:23:34 +08:00
< div className = "grid md:grid-cols-2 gap-6" >
< div >
< h3 className = "font-semibold mb-3 text-green-700 dark:text-green-400" >
{ isZh ? '支持' : 'Supported' }
</ h3 >
< ul className = "space-y-1.5 text-sm" >
{[
isZh ? '点击、文本输入、选择' : 'Click, text input, select' ,
isZh ? '页面滚动(垂直 / 水平)' : 'Scroll (vertical / horizontal)' ,
isZh ? '表单提交、焦点切换' : 'Form submit, focus' ,
2026-03-21 02:53:00 +08:00
isZh ? '同源 iframe(仅单层)' : 'Same-origin iframe (single level only)' ,
2026-02-14 16:23:34 +08:00
isZh ? '执行 JavaScript(可选)' : 'Execute JavaScript (opt-in)' ,
]. map (( text ) => (
< li key = { text } className = "flex items-center text-gray-700 dark:text-gray-300" >
< span className = "mr-2 text-green-600 dark:text-green-400" > ✓ </ span >
{ text }
</ li >
))}
</ ul >
2025-09-29 16:33:15 +08:00
</ div >
2026-02-14 16:23:34 +08:00
< div >
< h3 className = "font-semibold mb-3 text-red-700 dark:text-red-400" >
{ isZh ? '不支持' : 'Not supported' }
</ h3 >
< ul className = "space-y-1.5 text-sm" >
{[
isZh ? '悬停、拖拽、右键菜单' : 'Hover, drag & drop, right-click' ,
isZh ? '键盘快捷键' : 'Keyboard shortcuts' ,
isZh ? '坐标定位操作' : 'Position-based control' ,
2026-03-21 02:53:00 +08:00
isZh ? '嵌套 iframe、跨域 iframe' : 'Nested iframes, cross-origin iframes' ,
2026-02-14 16:23:34 +08:00
isZh ? '绘图操作' : 'Drawing' ,
2026-03-16 19:45:14 +08:00
isZh
? 'Monaco、CodeMirror 等需要通过 JS 实例控制的编辑器'
: 'Monaco, CodeMirror and other editors that require JS instance access' ,
2026-02-14 16:23:34 +08:00
]. map (( text ) => (
< li key = { text } className = "flex items-center text-gray-700 dark:text-gray-300" >
< span className = "mr-2 text-red-600 dark:text-red-400" > ✗ </ span >
{ text }
</ li >
))}
</ ul >
2025-09-29 16:33:15 +08:00
</ div >
</ div >
</ div >
2026-02-14 16:23:34 +08:00
{ /* Understanding Limitations */ }
2026-03-16 19:45:14 +08:00
< Heading id = "text-based-approach" className = "text-2xl font-bold mb-3 mt-6" >
{ isZh ? '基于文本的方案' : 'Text-Based Approach' }
2026-02-27 19:46:44 +08:00
</ Heading >
2025-09-29 16:33:15 +08:00
2026-03-04 21:13:10 +08:00
< p className = "mb-2 font-medium" >
{ isZh
? 'Page Agent 不使用多模态模型,不截图,没有视觉能力。仅通过 DOM 结构理解页面。'
: 'Page Agent does not use multimodal models, does not take screenshots, and has no visual capability. It reads pages through DOM structure only.' }
</ p >
< p className = "mb-2 font-medium" >
{ isZh
? '图片、Canvas、WebGL、SVG 等视觉内容无法被识别。页面的语义化程度和可访问性直接影响 AI 的理解准确性。'
: 'Images, Canvas, WebGL, SVG and other visual content cannot be recognized. Page semantic quality and accessibility directly affect AI accuracy.' }
</ p >
< p className = "mb-2 font-medium" >
{ isZh
? '反常识的交互逻辑、纯视觉的操作提示、快速出现消失的元素等都会降低自动化成功率。语义化的 HTML 和良好的可访问性会显著提升效果。'
: 'Counter-intuitive interactions, visual-only cues, and rapidly appearing/disappearing elements reduce automation success. Semantic HTML and good accessibility significantly improve results.' }
</ p >
2025-09-29 16:33:15 +08:00
</ div >
</ div >
)
}