# CFspider 智能浏览器 API 文档 CFspider 智能浏览器提供了一套完整的 AI 工具 API,用于自动化浏览器操作。 ## 目录 - [页面状态工具](#页面状态工具) - [导航工具](#导航工具) - [点击工具](#点击工具) - [输入工具](#输入工具) - [页面分析工具](#页面分析工具) - [标签页管理](#标签页管理) - [视频分析工具](#视频分析工具) - [技能系统](#技能系统) --- ## 页面状态工具 ### get_current_page 获取当前页面的状态信息。在执行操作前调用此工具检查页面状态,避免重复操作。 **参数**: 无 **返回示例**: ``` [当前页面状态] URL: https://www.jd.com/ 标题: 京东(JD.COM)-正品低价、品质保障 域名: www.jd.com 路径: / 加载状态: 已完成 视频: 检测到视频元素 页面预览: 多快好省... ``` --- ## 导航工具 ### navigate_to 导航到指定 URL。会自动检测是否已在目标页面,避免重复导航。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | url | string | 是 | 目标 URL | **示例**: ```json { "url": "https://cn.bing.com" } ``` **返回**: - 成功: `已跳转到 https://cn.bing.com` - 已在目标页面: `[已在目标页面] 当前已经在 bing.com 了` --- ## 点击工具 ### click_text 点击包含指定文本的元素。这是最常用的点击方式。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | text | string | 是 | 要点击的文本内容 | **示例**: ```json { "text": "京东" } ``` ### click_element 使用 CSS 选择器点击元素。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | selector | string | 是 | CSS 选择器 | **示例**: ```json { "selector": "#search-btn" } ``` ### click_by_index 通过索引点击元素。需要先调用 `scan_interactive_elements` 获取元素列表。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | category | string | 是 | 元素类别: inputs, buttons, links, selects | | index | number | 是 | 元素索引号(从1开始) | **示例**: ```json { "category": "links", "index": 3 } ``` ### visual_click 使用视觉模型精确定位并点击元素。适用于 DOM 查找失败的情况。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | target | string | 是 | 目标描述(如"红色登录按钮") | **示例**: ```json { "target": "蓝色的搜索按钮" } ``` ### click_search_button 专门用于点击搜索按钮。自动识别页面上的搜索按钮并点击。 **参数**: 无 --- ## 输入工具 ### input_text 在输入框中输入文本。自动查找并聚焦输入框。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | text | string | 是 | 要输入的文本 | | selector | string | 否 | 可选的 CSS 选择器 | **示例**: ```json { "text": "Python 教程" } ``` --- ## 页面分析工具 ### scan_interactive_elements 扫描并列出页面上所有可交互元素(按钮、链接、输入框等)。 **参数**: 无 **返回示例**: ``` INTERACTIVE ELEMENTS ON PAGE: INPUTS (2): 1. [text] id=search placeholder="搜索" 2. [password] id=password BUTTONS (3): 1. "登录" id=login-btn 2. "注册" 3. "搜索" LINKS (10): 1. "首页" 2. "产品" ... ``` ### get_page_content 获取页面的主要文本内容。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | max_length | number | 否 | 最大字符数(默认500) | ### read_full_page 使用视觉模型阅读完整页面内容。会自动滚动页面并分析每一屏。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | max_scrolls | number | 否 | 最大滚动次数(默认10) | ### find_element 根据描述查找元素。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | description | string | 是 | 元素描述(如"搜索按钮") | ### check_element_exists 检查指定元素是否存在并可见。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | selector | string | 是 | CSS 选择器 | --- ## 标签页管理 ### new_tab 新建标签页。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | url | string | 否 | 新标签页要打开的 URL | ### switch_tab 切换到指定标签页。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | index | number | 否 | 标签页索引(从0开始) | | title | string | 否 | 标签页标题关键词 | ### close_tab 关闭标签页。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | index | number | 否 | 要关闭的标签页索引(默认当前) | ### list_tabs 列出所有打开的标签页。 **参数**: 无 --- ## 视频分析工具 ### summarize_video 总结页面上正在播放的视频内容。通过抽取关键帧进行视觉分析。 **参数**: | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | frame_count | number | 否 | 要分析的帧数(默认10,最多40) | | focus | string | 否 | 分析重点(如"人物"、"教程步骤") | **示例**: ```json { "frame_count": 20, "focus": "产品演示" } ``` **返回示例**: ``` [视频分析] 时长: 5分30秒 | 分析帧数: 20 关键帧内容: [0:33] 讲师介绍项目背景 [1:06] 展示代码编辑器 [1:39] 演示运行效果 ... [总结] 这是一个编程教程视频,讲师演示了如何创建一个 React 组件... ``` --- ## 技能系统 ### 技能匹配 系统会根据用户指令和当前域名自动匹配相关技能,提供操作建议。 ### 技能学习 - **成功操作**: 40% 概率保存学习记忆 - **失败操作**: 20% 概率保存教训 - **熟练度提升**: 使用次数越多,技能熟练度越高 ### 熟练度等级 | 等级 | 条件 | 说明 | |------|------|------| | 新手 | 使用 < 5 次 | 刚开始学习 | | 入门 | 使用 < 20 次或成功率 < 60% | 有一些经验 | | 熟练 | 使用 < 50 次或成功率 < 80% | 能够较好完成 | | 精通 | 使用 < 100 次或成功率 < 90% | 很少出错 | | 大师 | 使用 >= 100 次且成功率 >= 90% | 炉火纯青 | ### 遗忘曲线 - 超过一周不用:置信度每周下降 2% - 超过一个月不用:置信度每月下降 5% - 低置信度模式可能被随机"遗忘" --- ## 错误处理 ### 连接错误 当网络连接失败时,会显示重试按钮,用户可以选择重试。 ### 登录选择 当检测到登录页面时,会弹出选择按钮: - **自动登录**: AI 记住账号信息并自动登录 - **手动登录**: 用户手动登录,AI 不记住信息 --- ## 数据存储 所有学习数据永久保存在用户目录: | 文件 | 说明 | |------|------| | `skills.json` | 技能学习数据 | | `learning-memory.json` | 操作记忆 | --- ## 更新日志 查看 [UPDATE_LOG.md](../cfspider-browser/UPDATE_LOG.md) 了解最新更新。