前言¶
做网页自动化、爬虫或压测时,如果所有请求共用同一个 User-Agent 和固定视口,很容易被风控一眼认出是脚本流量。手工维护 UA 列表既费事,也很难贴近真实浏览器的版本与分辨率分布。下面介绍 SkillHub 上的社区 Skill「爬虫/自动化 防封指纹伪装(UA+分辨率池)」:把按市占加权的 UA 与分辨率做成可调用数据池,供 Agent 或本地脚本随机或按类型取用。
这是什么¶
坐标:@user_3ff3c268/browser-fingerprint-pool
版本:1.2.1(来源:community,分类:dev-programming)
维护方:SkillHub 发布者 user_3ff3c268(页面标注为 WeituoAI 作者)
该 Skill 面向「需要像真用户一样轮换浏览器身份」的场景:内置 88+ 条桌面端 User-Agent(按 Chrome、Edge、Firefox、Safari、Opera、Linux 等分类),以及 87 个按权重分布的屏幕分辨率;支持随机获取与按浏览器类型获取。标签 requires_api_key=false,不依赖外部 API Key。SkillHub 页面显示评分 100000、下载 5586(统计以 SkillHub 为准)。
技能说明写明:数据为纯本地、不联网;实现形态为「纯数据 + 纯函数」,文档示例基于 Node ESM(fingerprint-pool.mjs),零依赖。UA 与分辨率数据抽取自 caijiqi-kaifa/electron/data/user-agents.ts 与 resolutions.ts(见 SKILL.md 说明)。
核心功能¶
根据 SKILL.md,已核实能力如下:
- User-Agent 池:
allUserAgents为合并后的全部 UA(88+);getRandomUserAgent()随机返回一条;getUserAgentByType(type)按类型取 UA,type为'chrome' | 'firefox' | 'edge' | 'safari' | 'opera' | 'random'。 - 分辨率池:
allResolutions为带权重重复的分辨率字符串数组(87 个);getRandomResolution()返回{ width, height };getRandomResolutionString()返回如'1920x1080';parseResolution(str)解析分辨率字符串;uniqueResolutions为去重列表,便于 UI 展示。 - Agent 触发:自然语言中可使用「随机 UA」「随机 user-agent」「UA 池」「分辨率池」「指纹池」「浏览器指纹」「随机视口」「随机浏览器配置」等表述,引导模型按技能文档操作。
需要强调的是:技能只提供身份数据,不包含向浏览器上下文注入的逻辑;文档建议与 playwright-stealth 等方案配合,才能把 UA、视口等真正写入自动化环境。
安装与启用¶
安装 SkillHub CLI¶
若尚未安装 CLI,可先检查版本:
command -v skillhub && skillhub --version
未安装时,可按 SkillHub 官方安装说明执行完整安装(CLI + 默认 Skill):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
仅安装 CLI 时:
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash -s -- --cli-only
安装本 Skill¶
安装时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。常用路径示例:
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或项目下的.agents/skills/
安装命令(与 skillhub search 输出一致):
skillhub install browser-fingerprint-pool --namespace user_3ff3c268 --dir ~/.cursor/skills
也可将下面提示词交给 AI,让其按 SkillHub 安装说明 完成安装:
请根据 https://skillhub.cn/install/skillhub.md,安装 `@user_3ff3c268/browser-fingerprint-pool`。
安装完成后,在对应 Agent 中启用或刷新 skills 配置(各客户端步骤以各自文档为准)。
典型用法¶
技能文档中的 Node ESM 调用示例如下。路径 ./scripts/fingerprint-pool.mjs 以技能包内布局为准;若你通过 Agent 使用,通常由模型按 SKILL.md 生成或引用等价逻辑。
import { getRandomUserAgent, getUserAgentByType, allUserAgents,
getRandomResolution, getRandomResolutionString, parseResolution, uniqueResolutions }
from './scripts/fingerprint-pool.mjs';
getRandomUserAgent(); // 随机 UA
getUserAgentByType('firefox'); // 指定类型 UA
allUserAgents.length; // 88+
getRandomResolution(); // { width, height }
getRandomResolutionString(); // '1920x1080'
parseResolution('1366x768'); // { width:1366, height:768 }
uniqueResolutions; // 去重后的分辨率列表(用于 UI 展示)
在对话侧,可直接描述需求,例如:「从 UA 池随机取一个 Chrome 的 user-agent,并给 Playwright 配一个按权重随机的 1920 级分辨率视口。」Agent 在加载本 Skill 后,应按上述 API 与注意事项给出可落地的配置片段。
技能说明还将本能力定位为「拟人化浏览器采集闭环」中的指纹步骤;若流程涉及 Windows 桌面精确点击,文档另提到可配合 @user_3ff3c268/windows-screen-coordinate(屏幕坐标助手),与本技能无强制绑定。
适用场景与注意¶
适合谁
- 爬虫工程师、RPA 开发者,需要在脚本或 Agent 生成代码时快速轮换 UA 与视口尺寸。
- 海外社媒或多账号运营场景下,希望请求头与分辨率分布更接近真实桌面用户(仍以目标站点规则与合规要求为准)。
限制与注意
- 仅提供数据与函数接口说明,不替代站点 ToS、反爬策略或法律咨询;能否「防封」取决于整体策略(代理、频率、行为拟人等),不能单靠 UA 池保证。
- 文档示例为桌面端 UA;移动端指纹不在本技能描述范围内。
- 注入浏览器上下文需自行结合 Playwright、Puppeteer 等与 stealth 类方案;本 Skill 不内置注入逻辑。
- 下载包以 SkillHub 分发内容为准;若本地包仅含
SKILL.md,应以文档 API 为准,并在实际工程中落实fingerprint-pool.mjs或等效实现。
结尾¶
「爬虫/自动化 防封指纹伪装(UA+分辨率池)」把真实浏览器份额思路下的 UA 与分辨率池封装成 Agent 可识别的 Skill,减少手写常量、统一随机与按类型取值方式。需要安装或查看详情时,可访问 SkillHub 页面:
- https://www.skillhub.cn/skills/user_3ff3c268/browser-fingerprint-pool
- https://api.skillhub.cn/user_3ff3c268/browser-fingerprint-pool