拓冰建站拓冰建站
首页 / 资讯中心 / 正文

camofox-browser /tabs端点详解:创建、列表、统计、关闭全覆盖

camofox-browser /tabs端点详解创建、列表、统计、关闭全覆盖【免费下载链接】camofox-browserStealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.项目地址: https://gitcode.com/GitHub_Trending/ca/camofox-browsercamofox-browser是一个面向 AI Agent 的隐身无头浏览器服务基于 CamoufoxC 级指纹伪造的 Firefox 分支可绕过 Cloudflare 和各类反爬检测。它的/tabs端点是整个服务的核心入口一个 URL 前缀就涵盖了标签页的创建、列表、统计、关闭四大操作是 Agent 管理浏览任务的总开关。一、为什么标签页是核心在 camofox-browser 中每个用户拥有一个会话session会话内按sessionKey划分标签页组每个标签页tab由唯一的tabId标识。所有浏览器操作——导航、截图、点击、提取数据——都挂在具体的tabId上。因此/tabs端点群就是 Agent 浏览生命周期的起点和终点POST/tabs→ 创建标签页GET/tabs→ 列出所有打开的标签页GET/tabs/:tabId/stats→ 查询标签页运行统计DELETE/tabs/:tabId→ 关闭单个标签页DELETE/tabs/group/:listItemId→ 一键关闭整组标签页路由实现集中在 server.js完整接口契约可查看自动生成的 openapi.json 或交互式文档 docs/api.html。二、创建标签页POST /tabs创建标签页是发起任何浏览任务的第一步server.js#L2816。必填字段字段说明userId会话所有者标识sessionKey标签页组标识兼容旧字段listItemId可选字段字段说明url创建后立即跳转的初始 URL会做合法性校验trace开启 Playwright 追踪截图DOM 快照网络只能在会话首个标签页创建时开启创建成功后返回{ tabId: …, url: about:blank }几个值得注意的机制失败自动换代理重试如果初始导航遇到代理错误或超时服务会静默轮换代理并重试server.js#L2884Agent 通常无感知。SSL 证书错误不重试会直接返回502并标记recoverable: false。追踪限制对已有会话追加trace会返回409需要先DELETE /sessions/:userId重建会话。 另有一个兼容旧版 OpenClaw 格式的别名端点POST/tabs/openserver.js#L5831只要求userIdurl两个字段标记为已废弃新接入建议使用POST /tabs。三、列出标签页GET /tabs想看看某个用户当前开了哪些页面带上userId查询参数即可server.js#L5766GET /tabs?userIdagent-001返回结构非常直观{ running: true, tabs: [ { tabId: …, targetId: …, url: https://example.com, title: Example Domain, listItemId: default } ] }running服务是否处于运行状态tabs每个标签页的实时 URL、页面标题通过 Playwright 实时读取、所属分组。若该userId尚无会话返回{ running: true, tabs: [] }不会报错对 Agent 轮询非常友好。四、标签页统计GET /tabs/:tabId/statsAgent 运行到一半时需要知道这个标签页干了多少活。统计端点server.js#L4845一次返回GET /tabs/{tabId}/stats?userIdagent-001字段含义url当前所在页面visitedUrls该标签页访问过的全部 URL 历史toolCalls累计工具调用次数导航、点击等downloadsCount已捕获的下载文件数refsCount当前快照元素引用e1、e2…的数量sessionKey/listItemId所属标签页组这个端点特别适合做任务进度巡检例如 Agent 批量抓取 20 个页面时定期调用 stats 就能发现哪个标签页卡住visitedUrls停止增长、哪个已经产生下载。五、关闭标签页DELETE /tabs/:tabId单标签页关闭server.js#L5149DELETE /tabs/{tabId}?userIdagent-001服务端会完整清理资源中断进行中的导航、清空下载记录、释放页面、移除锁并同步更新指标。当整个标签页组为空时该组也会自动删除。返回{ok: true}即使用户不存在该标签页也会返回ok方便做幂等清理。整组关闭DELETE /tabs/group/{listItemId}?userId…server.js#L5211一次性关掉某分组下的所有标签页任务结束时推荐使用比逐个删除更高效。六、标签页数量限制与自动回收camofox-browser 有两级数量上限lib/config.js#L117-L118可通过环境变量覆盖每会话上限MAX_TABS_PER_SESSION默认10全局上限MAX_TABS_GLOBAL默认50达到上限时的行为很聪明优先回收自动关闭会话中最老、无活跃操作的标签页为新标签页腾出空间回收失败才拒绝仅当无法回收时返回429Maximum tabs per session reached。这意味着 Agent 可以放心连续开页服务会帮你控制内存水位而不是简单地把请求打回去。七、常见错误码速查状态码场景建议处理400缺少userId/sessionKey或 URL 非法检查请求体字段404tabId不存在或会话已结束重新 GET/tabs确认409对已有会话追加trace先删除会话再重建429标签页上限且无法回收关闭闲置标签页或调大配置502目标站点 SSL 证书错误code: ssl_error不可重试记录并跳过八、动手试试本地拉起服务只需三行命令git clone https://gitcode.com/GitHub_Trending/ca/camofox-browser cd camofox-browser npm install npm start # 服务运行在 http://localhost:9377然后打开交互式 API 文档http://localhost:9377/docs由 docs/openapi.json 自动生成就能在线调试本文介绍的全部/tabs端点。总结/tabs端点用最小的接口面覆盖了标签页的完整生命周期POST 创建带自动代理重试→ GET 列表轮询友好→ stats 统计进度巡检→ DELETE 关闭支持整组清理配合两级数量限制与最老标签页自动回收机制让 AI Agent 既能连续开页、又不会撑爆内存。掌握这一个端点群就掌握了 camofox-browser 的浏览任务管理骨架 【免费下载链接】camofox-browserStealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.项目地址: https://gitcode.com/GitHub_Trending/ca/camofox-browser创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门