mirror of
https://github.com/violettoolssite/CFspider.git
synced 2026-04-04 18:59:02 +08:00
CFspider 智能浏览器 API 文档
CFspider 智能浏览器提供了一套完整的 AI 工具 API,用于自动化浏览器操作。
目录
页面状态工具
get_current_page
获取当前页面的状态信息。在执行操作前调用此工具检查页面状态,避免重复操作。
参数: 无
返回示例:
[当前页面状态]
URL: https://www.jd.com/
标题: 京东(JD.COM)-正品低价、品质保障
域名: www.jd.com
路径: /
加载状态: 已完成
视频: 检测到视频元素
页面预览: 多快好省...
导航工具
navigate_to
导航到指定 URL。会自动检测是否已在目标页面,避免重复导航。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 目标 URL |
示例:
{
"url": "https://cn.bing.com"
}
返回:
- 成功:
已跳转到 https://cn.bing.com - 已在目标页面:
[已在目标页面] 当前已经在 bing.com 了
点击工具
click_text
点击包含指定文本的元素。这是最常用的点击方式。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 要点击的文本内容 |
示例:
{
"text": "京东"
}
click_element
使用 CSS 选择器点击元素。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| selector | string | 是 | CSS 选择器 |
示例:
{
"selector": "#search-btn"
}
click_by_index
通过索引点击元素。需要先调用 scan_interactive_elements 获取元素列表。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| category | string | 是 | 元素类别: inputs, buttons, links, selects |
| index | number | 是 | 元素索引号(从1开始) |
示例:
{
"category": "links",
"index": 3
}
visual_click
使用视觉模型精确定位并点击元素。适用于 DOM 查找失败的情况。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| target | string | 是 | 目标描述(如"红色登录按钮") |
示例:
{
"target": "蓝色的搜索按钮"
}
click_search_button
专门用于点击搜索按钮。自动识别页面上的搜索按钮并点击。
参数: 无
输入工具
input_text
在输入框中输入文本。自动查找并聚焦输入框。
参数:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| text | string | 是 | 要输入的文本 |
| selector | string | 否 | 可选的 CSS 选择器 |
示例:
{
"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 | 否 | 分析重点(如"人物"、"教程步骤") |
示例:
{
"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 了解最新更新。