关于 smolanalytics: analytics you ask from your editor, answers CI-tested to match the dashboard
smolanalytics 将自然语言编写的端到端测试交由 Agent 在真实浏览器中运行,并支持后续回放通过的测试。它面向希望在编辑器或 CI 中核验网页行为的开发者,MCP 工具可查询测试并判断是否可发布。
主要功能
- 01用一句自然语言描述端到端测试
- 02在真实浏览器中执行测试
- 03通过后记录并回放测试
- 04区分失败、过期、错误和不稳定状态
- 05在拉取请求中发布测试结果评论
适用场景
- 01验证价格页显示月费
- 02在每次拉取请求中运行测试套件
- 03从编辑器检查测试列表与发布状态
MCP 相关
提供 `run_tests`、`can_i_ship` 和 `list_tests` 三个 MCP 工具,供编辑器中的客户端运行测试、查看测试并检查发布状态。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 应用运行的位置,例如 http://localhost:3000 |
| since | string | 否 | 可选的 git 引用:仅运行此更改可能导致失败的测试,例如 'main' |
| suite | string | 否 | .md 测试文件所在的文件夹(默认:tests/) |
| maxCalls | number | 否 | 本次运行的模型调用次数上限。0 表示不设上限。 |
详细介绍
npx smolanalytics test --url https://yourapp.com --test "the pricing page shows a monthly price"
一个测试就是 Markdown 文件中的一个句子。Agent 会打开真实浏览器,通过其无障碍树读取页面,弄清楚如何完成句子所述的操作,然后给出判定。这里没有测试代码,因此按钮位置变动时也无需更新选择器。
通过的运行会被记录下来,此后的每次运行都会回放该记录,完全不调用模型。只有当记录不再适用于你的应用时,Agent 才会再次介入。
**五种判定,绝不混淆:**通过、失败、过时、出错、不稳定。只有失败才表示你的应用存在问题。记录不再适用时,判定为过时,绝不会作为 Bug 报告;运行器无法完成时,判定为出错,绝不会计入你的失败统计。
每个拉取请求上
test --suite tests/ --url <preview> --comment 会运行一个目录中的句子,并在拉取请求上发布一条评论,每次推送都会就地更新:指出哪里出了问题、最可能相关的文件,以及支持这一推测的证据。退出码为 0(正常)、1(你的应用未通过测试)和 2(运行器无法完成)。工作流文件见文档。
在你的编辑器中(MCP)
{ "mcpServers": { "smolanalytics": { "command": "npx", "args": ["-y", "smolanalytics", "mcp"] } } }
提供三个工具:run_tests、can_i_ship 和 list_tests。已列入官方 MCP Registry,名称为 io.github.Arjun0606/smolanalytics。
以证据取代空口断言
smolanalytics.com/proof 是一个 GitHub Action,每晚都会针对两个在线网站运行本产品自己的测试套件,并公布每项判定,包括失败的判定。该页面上的内容均非手工编写。
费用
CLI 可在你的机器或 CI 运行器上使用你自己的 ANTHROPIC_API_KEY 运行。首次运行一个测试的费用大致相当于一次 Agent 对话;回放无需任何费用。在 smolanalytics.com 上使用托管服务的费用为每月 19 美元,包含 100 个经过测试的拉取请求;可先享受 14 天试用,无需提供银行卡信息。这是商业软件,并非开源软件。
CLI 完整参考:cli/README.md。有问题?请访问: smolanalytics.com/contact。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。