dootask/resources/ai-kb/zh/concept/ai-assistant/page-context-tool.md
kuaifan 88fed0744c feat(ai-assistant): 页面操作穿透到当前微应用 iframe 内部
- 新增 active-context.js:按 microApps 解析最前的同源微应用 iframe(src 匹配 + contentDocument 同源探测),给出 doc/frameKey
- 采集器/执行器从只认主 document 泛化为按 el.ownerDocument 自适应,覆盖主文档与 iframe;视口与事件构造器取元素所在 window
- operation-module 加 scope(auto/main/app)、跨源/未就绪降级、frame 标注,并存活动上下文供失效守卫
- ai-kb 同步 page-action / page-context-tool / element-action 三 chunk

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 07:02:35 +00:00

2.6 KiB
Raw Permalink Blame History

id, title, type, feature, scope, locale, aliases, related_tools, related_pages, prerequisites, negative, last_verified
id title type feature scope locale aliases related_tools related_pages prerequisites negative last_verified
ai-assistant.page-context-tool.concept AI 怎么知道你在哪个页面 concept ai-assistant end-user zh
AI 看页面
页面上下文
AI 怎么知道当前页
AI 读取页面
AI 上下文采集
应用市场已安装 ai 插件
应用市场已安装 mcp_server 插件
仅当用户在 AI 浮窗当前会话所在的浏览器/桌面端窗口时才能采集
不能跨标签 / 跨设备同步采集,每个 socket 只对应一个页面
不读取密码框/被遮挡元素/隐藏元素
跨源(外部站点)微应用 iframe 的内部无法采集,会提示改用数据命令
v1.7.90

AI 怎么知道你在哪个页面

定义

当你在 AI 浮窗里问"这页有什么操作""帮我点这页的某个按钮"时AI 助手会向你当前的浏览器/桌面端页面请求页面上下文,包括:当前路由名(如 manage-project、URL、标题、可交互元素清单带 ref / name / role、该页可用的高层动作。结果由前端 page-context-collector.js 实时收集后回传给 AI。

返回字段

  • page_type:路由名(如 manage-task
  • page_url / page_title
  • elements可交互元素ref / name / role
  • total_count / has_more / offset:分页
  • available_actions:该页可用的高层动作(如项目页可 open_task
  • ref_mapref → 定位信息
  • frame:本次采集所在上下文——scopemain 主界面 / app 微应用)、app_name(微应用时的应用名)、operable(是否可操作)

调用模式

  • 轻量interactive_only=true + max_elements=20
  • 完整:默认前 100 个(含内容)
  • 搜索:传 query 先关键词后向量匹配
  • 采集范围:默认采集"用户最前面看到的"页面——有同源微应用插件在最前打开时采集其 iframe 内部,否则采集主界面;也可指定只采主界面。跨源微应用读不到内部,会返回 operable:false 并提示降级。

隐式触发

用户在浮窗里问"这个页面有什么操作"、"帮我点这页的某按钮"、"切到下一项目"时AI 都会先采集当前页面上下文再决定下一步。

不支持

  • 不返回每个元素的位置坐标(仅 selector
  • 不会返回 input 框的当前值(不读取用户私有输入)
  • 不能在弹窗/抽屉之外拿到全屏快照(仅 DOM 节点)

相关