关于 squirrelscan
squirrelscan 是面向编码 Agent 的开源网站审计 CLI 和 MCP 服务,覆盖 SEO、无障碍、安全、性能及 Agent 体验,并为发现的问题提供修复建议。
主要功能
- 01覆盖 22 类的 300 多条规则
- 02审计 SEO、无障碍、安全和性能
- 03检查 Agent 体验
- 04提供适合 LLM 的修复建议
- 05支持 CLI、云端和本地审计
- 06提供多种报告格式
适用场景
- 01上线前审计网站
- 02发现无障碍和安全问题
- 03让编码 Agent 获取修复建议
- 04比较爬取结果以发现回归
MCP 相关
提供托管和本地 MCP 服务,供编码 Agent 及其他 MCP 客户端执行网站审计。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.squirrelscan.com/mcpclaude mcp add --transport http com-squirrelscan-squirrelscan https://mcp.squirrelscan.com/mcp{"mcpServers":{"com-squirrelscan-squirrelscan":{"type":"http","url":"https://mcp.squirrelscan.com/mcp"}}}在 Cursor 中打开{"servers":{"com-squirrelscan-squirrelscan":{"type":"http","url":"https://mcp.squirrelscan.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-squirrelscan-squirrelscan":{"type":"http","url":"https://mcp.squirrelscan.com/mcp"}}}{"mcpServers":{"com-squirrelscan-squirrelscan":{"serverUrl":"https://mcp.squirrelscan.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
27| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 要审计的网站 URL,例如 https://example.com(可省略 scheme)。 |
| kind | enum | 否 | 对网站分类:用户运营和监控的网站用 'owned',一次性审计的潜在客户或竞争对手用 'prospect'。可在 list_websites 中筛选,以确保清理潜在客户时不会误删运行中的网站。未分类的网站视为 'owned'。ephemeral 为 true 时忽略此项(临时网站不会加入列表)。owned | prospect |
| level | enum | 否 | 本次运行的审计级别:quick(25 个页面,不执行云端检查)、surface(100 个页面,执行云端检查和外部链接检查)或 full(500 个页面)。默认值:网站自身的级别。不要与 coverage 同时使用。quick | surface | full |
| scope | enum | 否 | 要审计的 URL 范围。'discover'(默认值)会跟踪从已发现页面出发的链接。'sitemap' 仅审计网站地图发布的 URL;当用户关心的 URL 列表就是站点地图,而通过链接发现会将预算花在其他页面时,应使用此选项。仅覆盖本次运行的网站已保存设置。discover | sitemap |
| render | boolean | 否 | 在无头浏览器中渲染页面(默认值为 true)。可检测依赖 JavaScript 的问题;每页会额外消耗额度。 |
| confirm | boolean | 否 | 批准额度消耗。设为 true 可立即开始。省略此参数时,超过自动运行阈值的审计会先返回估算费用,低于或等于阈值的审计仍会直接开始。 |
| coverage | enum | 否 | 已弃用,请改用 level。旧版云端深度:fast(10 个页面)、surface(50 个页面)、deep(250 个页面)或 full(500 个页面),均执行云端检查,并保留网站自身的覆盖设置。fast | surface | deep | full |
| ephemeral | boolean | 否 | 一次性检查:运行审计并返回报告,但不将网站添加到组织的网站列表,也不占用计划的网站名额。适用于用户只想“检查此 URL”且不会持续监控的情况。审计完成后会自动移除该网站;get_audit_status 和 get_report 仍可通过 run_id 使用。如果域名已注册,则忽略此项,审计会针对现有的受跟踪网站运行(绝不会删除任何内容),且响应会报告 ephemeral: false。 |
| max_pages | integer | 否 | 限制本次运行的爬取页面数。此值会覆盖 coverage 配置文件的页面数,因此 max_pages: 1 仅审计入口 URL,是费用最低的运行。若值超过计划的单次审计页面上限,则会限制为该上限并在通知中说明,而不会拒绝请求。 |
| max_credits | integer | 否 | 费用保护:最高估算费用超过此额度数时,拒绝启动。 |
| external_links | boolean | 否 | 检查本次运行中指向其他网站的链接:任意级别下均可设为 true;设为 false 则跳过(默认值:网站的设置)。云端验证的每个不同外部链接消耗 1 个额度(无法验证的链接不收费),每个运行页面预算最多计一个,且估算费用已包含此项。跳过的链接会在报告中列为未检查。 |
| internal_links | boolean | 否 | 检查爬取时未获取的内部链接目标状态(每个目标发送一次 HEAD 请求;仅当服务器拒绝 HEAD 时发送一个字节的 GET;跟随范围内的重定向;免费;绝不请求看起来像操作链接或携带令牌的链接)。默认值:网站的设置,除非关闭,否则为开启。若网站的链接在被请求时会改变状态,请传入 false。 |
详细介绍
squirrelscan
面向编码 Agent 的网站 QA 工具
squirrelscan 是一款开源 CLI 工具,可审计网站的 SEO、性能、安全性、无障碍性、Agent 体验及其他问题,并为编码 Agent 提供精确的修复方案。你可以通过 CLI、在编码 Agent 中、在云端或通过 MCP 运行它。
将编码 Agent 与确定性强、可扩展的审计工具结合起来。

使用已发布的 CLI(未登录,因此免费)和 Claude Code,在一个极小的测试网站上进行的真实运行。我们剪掉了 Agent 工作时的两分钟,因为没人想看着 Agent 思考。
功能
- 专为编码 Agent 打造 - Claude Code、Cursor、Codex 和任意编码 Agent 都可以使用技能执行审计、修复和重新审计循环。通过 CLI、托管或本地 MCP 服务,或 API 连接。
- 为你和编码 Agent 提供丰富的修复建议 - 每项发现都会说明如何修复,并以针对大模型优化的输出格式呈现,方便 Agent 应用;每条规则都有自己的文档页面。登录后,报告还会提供编辑摘要,说明应优先修复的问题,以及网站所使用的技术栈。
- 300 多条规则,22 个类别 - 覆盖 SEO、无障碍、性能、安全、内容等方面的审计规则。
- Agent 体验 - 审计 AI Agent 读取、发现和操作网站的能力:llms.txt、AGENTS.md、Markdown 响应,以及 AI 爬虫收到的内容。
- 链接检查与监控 - Perch 是一款云端链接检查工具,能区分失效链接和被拦截的链接,并在报告问题前确认故障。在 Pro 和 Team 方案中,定期审计会在链接失效时通过邮件通知你。
- 安全与网站完整性 - 检测钓鱼工具包、注入页面、泄露的凭据和缺失的安全标头。
- 实体图谱 - 将网站的 JSON-LD 汇总为一张图谱:网站是否只有一个身份,还是每个页面都创建了一个新身份。
- 云端浏览器渲染 - 登录后,页面会在云端的真实浏览器中渲染,因此单页应用和大量使用 JavaScript 的网站都能按照访客看到的样子接受审计,而且不会按页面额外收费。
- 云端审计 - AI 页面分析、定期审计、每个网站的问题跟踪器,以及可分享的报告。
- 智能爬取 - 快速且节省内存;支持通过 ETag、Last-Modified 和内容哈希进行增量爬取,并可从检查点恢复。
- 爬取历史与变更 - 跟踪网站演变、比较爬取结果并发现回归问题。
- 面向开发者的 CLI - 单个二进制文件、零依赖、Shell 补全和自更新。
- 多种输出格式 - Console、JSON、HTML、Markdown、Text、LLM、XML。
规则类别
按问题通常会造成的损失排序,而非按每个类别所含的规则数量排序。
| 类别 | 规则数 | 覆盖范围 |
|---|---|---|
| 可抓取性 | 20 | 搜索引擎和 Agent 是否能够访问并索引你的网站:robots.txt、站点地图的有效性和覆盖范围、可索引性冲突、重定向链和规范链接链、软 404 |
| 核心 SEO | 14 | 每个页面的基本要素:标题、元描述、H1、规范链接、字符集、文档类型声明、robots 元标签、Open Graph 和 Twitter 卡片,以及整个网站的规范格式漂移 |
| Agent 体验 | 17 | 网站是否已准备好让 AI Agent 阅读、发现内容并采取行动:GPTBot 和 Claude-User 是否能获取与浏览器相同的内容、AGENTS.md、llms.txt、Markdown 响应、API 和 MCP 发现机制、许可和 noai 信号、按抓取付费、响应令牌权重 |
| 网站完整性 | 9 | 网站遭到入侵的迹象:注入的门页、钓鱼工具包特征、混淆脚本、品牌冒充、伪装,以及已知恶意 URL |
| 安全性 | 22 | 传输和标头规范:HTTPS 和 HSTS、CSP、Cookie 标志、混合内容、子资源完整性、泄露的机密信息、Web 存储中的令牌、未受保护和降级的表单,以及开放的 GraphQL 内省和通过 GET 执行的变更 |
| 链接 | 13 | 内部和外部链接的健康状况:损坏和失效链接、目标已失效的页内锚点、重定向链、锚文本质量、孤立页和死胡同页、仅通过全站固定元素链接到的页面,以及 HTTPS 降级 |
| 内容 | 25 | 文本质量和真实性:常见拼写错误、重复的标题和描述、标题模板一致性、可读性、字数、新鲜度、标题层级、关键词堆砌、隐藏文本、占位媒体和联系信息、编码损坏 |
| 性能 | 30 | 核心网页指标和内容交付:LCP、CLS 和 INP 提示、TTFB、压缩、缓存、阻塞渲染的资源、DOM 大小、字体交付、旧版和未压缩的 JS/CSS |
| 可靠性 | 5 | 加载失败的脚本、样式表和字体(例如部署后返回 404 或 500 的第一方程序包,以及第三方资源和字体加载失败),还有会丢失提交内容的表单 |
| 图像 | 16 | 替代文本、现代格式、响应式 srcset、固有尺寸和宽高比不匹配、首屏上方与下方的延迟加载、文件大小 |
| 结构化数据 | 26 | JSON-LD 有效性和 Article、Product、FAQ、Review、Breadcrumb、Organization、LocalBusiness、Video 及站内搜索的富媒体搜索结果资格;页面所属类型应包含的标记;以及实体映射的 13 项全站检查:网站是否为自身声明了统一身份,还是每个页面都声明了新的身份;以及与所在页面无关的评分标记 |
| 无障碍 | 61 | WCAG 覆盖范围:ARIA 角色和名称、表单标签和自动完成令牌、颜色对比度、标题顺序、地标、表格和列表、焦点可见性、触控目标、字幕 |
| 移动端 | 8 | 视口配置、点按目标大小、易读的字号、水平滚动、缩放限制、小到在焦点时会缩放页面的表单字段、侵入式插页、Web 应用清单及其图标 |
| 社交媒体 | 5 | Open Graph 和 Twitter Card 的完整性、图像尺寸、规范 URL 匹配、社交资料链接,以及各页面之间不一致的网站固定元素资源 |
| URL 结构 | 9 | 长度、大小写、连字符用法、停用词、查询参数、特殊字符、尾部斜杠一致性、全站惯例一致性 |
| E-E-A-T | 15 | 经验、专业性、权威性和可信度信号:作者署名和资历、关于我们和联系页面、引文、编辑政策、免责声明、YMYL 检测 |
| 法律合规 | 4 | 隐私政策、服务条款、实际运行的 Cookie 同意机制、子处理方披露 |
| 国际化 | 2 | hreflang 正确性和文档语言声明 |
| 本地 SEO | 3 | 所有抓取页面中的 NAP(名称、地址、电话)一致性、地理元数据、服务区域商家 |
| 视频 | 3 | VideoObject 标记、字幕和无障碍支持、缩略图 |
| 分析 | 2 | 是否存在 Google Tag Manager,以及同意模式的接线配置 |
| 屏蔽 | 3 | 广告拦截器和隐私过滤器会为大量访客剥除的内容、链接和跟踪器 |
| 总计:22 个类别中的 300 多条规则 |
完整详情请参阅规则参考。
命令行工具
安装
粘贴到你的编码 Agent 中(Claude Code、Codex、Cursor、opencode 等):
Fetch and follow the setup instructions for squirrelscan at https://docs.squirrelscan.com/agent-setup/prompt.md
你的 Agent 会安装命令行工具、连接 MCP 并运行首次审计。你可以先准确查看它将遵循的内容。
macOS / Linux:
curl -fsSL https://install.squirrelscan.com | bash
Windows:
iwr -useb https://install.squirrelscan.com/install.ps1 | iex
Homebrew(macOS):
brew install --cask squirrelscan/tap/squirrel
该 cask 会安装一个启动器,首次使用时运行常规安装程序。之后,命令行工具会通过 squirrel self update 自行更新;brew upgrade 不会对其进行更新。
npm(所有平台):
npm install -g squirrelscan
npx(无需安装即可运行):
npx squirrelscan audit example.com
快速入门
# Audit a website
squirrel audit example.com
# Generate HTML report
squirrel audit example.com -f html -o report.html
# Pipe to Claude for AI analysis
squirrel audit example.com --format llm | claude
# Quick audit for a fast first look (other levels: surface, full)
squirrel audit example.com --level quick
# run only agent experience and performance rules
squirrel audit example.com --rule-include ax,performance
# login for cloud audits and cloud rendering
squirrel auth login
报告
报告包含健康评分和等级、按评分着色的 SEO、性能、安全性和 Agent Experience(AX)分组评分、按优先级排列的问题列表,以及每个问题对应的修复提示词,可复制后粘贴到编码 Agent 中。你可以将报告发布到 Web,与团队成员或编码 Agent 分享(其中嵌入了修复说明)。

添加到你的编码 Agent
squirrelscan 提供 MCP 服务(托管于 mcp.squirrelscan.com)、技能(自主审计与修复工作流),以及适用于 Claude Code 和 Cursor 的插件。Cursor 可通过上方徽章一键安装;其他平台只需复制粘贴一次。
Cursor
点击上方的 Add to Cursor 徽章,或手动将其添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"squirrelscan": { "url": "https://mcp.squirrelscan.com/mcp" }
}
}
技能:squirrel skills install
Claude Code
安装插件(包含技能和 MCP 服务):
/plugin marketplace add squirrelscan/skills
/plugin install squirrelscan@squirrelscan
或者只添加 MCP 服务:
claude mcp add --transport http squirrelscan https://mcp.squirrelscan.com/mcp
OpenAI Codex
将服务添加到 ~/.codex/config.toml:
[mcp_servers.squirrelscan]
url = "https://mcp.squirrelscan.com/mcp"
Codex 会从 ~/.agents/skills 读取 Agent Skills,因此也可以使用技能:squirrel skills install
opencode
将服务添加到 opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"squirrelscan": {
"type": "remote",
"url": "https://mcp.squirrelscan.com/mcp",
"enabled": true
}
}
}
任何 MCP 客户端
squirrelscan 已列入 MCP Registry,名称为 com.squirrelscan/squirrelscan。让任何客户端连接到远程服务:
https://mcp.squirrelscan.com/mcp
身份验证采用按用户进行的 OAuth(或将 squirrelscan API 密钥作为 Bearer 令牌传递)。技能遵循 Agent Skills 标准:squirrel skills install 会将其安装到 ~/.agents/skills/ 和 ~/.claude/skills/。
技能
有两项技能负责驱动 Agent 工作流。它们位于 squirrelscan/skills,其中还包括将这些技能与 MCP 服务打包在一起的 Claude Code、Cursor 和 Agent Plugins 软件包。squirrel skills install 会自行下载并验证这些技能;从 v0.0.99 开始,squirrel 的自动更新功能也会让它们保持最新。此前通过 npx skills 安装的技能将由此接管。
squirrelscan- 操作命令行工具:安装、登录、密钥、额度、运行审计、发布报告、实体映射、MCP 设置、配置和故障排除。audit-website- 完整的修复流程:审计、将问题映射到源文件、分批修复,并重新审计,直到网站评分良好。
squirrel skills install
然后,在你的 Agent 中:
Use the audit-website skill to audit this site and fix all issues but only crawl 10 pages
输出格式
| 格式 | 标志 | 使用场景 |
|---|---|---|
| 控制台 | (default) | 易于阅读的终端输出 |
| JSON | -f json | CI/CD、程序化处理 |
| HTML | -f html | 便于分享的可视化报告 |
| Markdown | -f markdown | 文档、GitHub |
| 文本 | -f text | 便于传递给大模型的简洁输出 |
| LLM | -f llm | 针对大模型优化的输出 |
| XML | -f xml | XML 输出 |
源代码与开发
本仓库中的完整本地 CLI、爬虫、审计引擎、规则、报告生成器、面向 CLI 的云客户端以及文档网站均为开源项目。托管 API、网站、仪表板和云工作器的实现则属于独立的私有服务。
先决条件:Bun 1.4.4 和 Git。
git clone https://github.com/squirrelscan/squirrelscan.git
cd squirrelscan
bun install --frozen-lockfile
bun run dev -- audit https://example.com --max-pages 10
运行与拉取请求中相同的检查:
bun run format:check
bun run lint
bun run typecheck
bun test
bun run build
bun run docs:check
bun run docs:build
提交拉取请求前,请参阅 CONTRIBUTING.md。贡献需要签署开发者原创证明(git commit -s)。
遥测
遥测默认启用,并且刻意保持精简:事件名称、CLI 版本、随机安装 ID 和有限的错误类别。不会发送 API 密钥、URL、报告内容或原始错误消息。执行 squirrel auth login 后,遥测请求会携带你的登录会话(登录时获取的 90 天登录令牌,绝不会是 API 密钥),以便将事件关联到你的账户;退出登录后,事件将以匿名方式发送。关闭遥测后不会发送任何数据。
使用以下命令永久禁用:
squirrel self settings set telemetry false
或者,设置 NO_TELEMETRY(任何已定义的值均有效,包括空值、0 或 false),或设置 DO_NOT_TRACK=1(或 true),即可针对任何一次调用禁用所有遥测和安装注册。项目也可以在 .squirrel/settings.json 中设置 "telemetry": false 以选择退出:
NO_TELEMETRY=1 squirrel audit https://example.com
链接
如果 squirrelscan 发现了你的 Agent 遗漏的问题,请在 GitHub 上点星,帮助其他开发者发现它。
许可证
CLI 和本仓库内容均采用 MIT 许可证授权。squirrelscan 名称和徽标受 TRADEMARKS.md 约束。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。