关于 Kilotest
Kilotest 是面向前端团队和 AI 平台的网页质量测试与报告服务。它组合 12 种规则引擎评估无障碍性、可用性和 Web 标准,也能测试仅在内网可访问的页面。
主要功能
- 01测试无障碍性、可用性和 Web 标准
- 02组合 12 种规则引擎
- 03通过 Testaro 工作进程执行测试
- 04通过网页、API 和 MCP 提供报告
- 05测试内网工作进程可访问的页面
适用场景
- 01检查网页的无障碍问题
- 02核查 HTML、CSS、ARIA 和 WCAG
- 03从内网工作进程测试内部页面
MCP 相关
Kilotest 提供基于可流式传输 HTTP 的 MCP 服务,地址为 https://kilotest.com/mcp,供 AI 平台和模型调用网页测试服务。该端点无需身份验证。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://kilotest.com/mcpclaude mcp add --transport http jrpool-kilotest https://kilotest.com/mcp{"mcpServers":{"jrpool-kilotest":{"type":"http","url":"https://kilotest.com/mcp"}}}在 Cursor 中打开{"servers":{"jrpool-kilotest":{"type":"http","url":"https://kilotest.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"jrpool-kilotest":{"type":"http","url":"https://kilotest.com/mcp"}}}{"mcpServers":{"jrpool-kilotest":{"serverUrl":"https://kilotest.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
12此工具无需参数。
详细介绍
Kilotest
用于测试和报告前端 Web 质量的集成服务
功能
此应用使用 12 种规则引擎组成的集成,对网页的前端质量进行测试(即无障碍性、易用性和 Web 标准,包括 HTML、CSS、ARIA 和 WCAG)。
Kilotest 使用的测试范式在以下论文中有探讨:
Kilotest 为人类用户提供 Web 服务,为 AI 平台提供 MCP 服务(可流式传输的 HTTP,无需身份验证),并提供用于编程访问的 API。
Kilotest 的测试由一个或多个工作进程(测试 Agent)执行。它们从 Kilotest 获取任务、执行任务,并将结果报告发送回 Kilotest。这些 Agent 是 Testaro 包的实例。因此,Kilotest 测试的页面无需位于公共互联网,只需能被为 Kilotest 执行测试的 Testaro 工作进程访问即可。因此,在专用内部网中运行的一个或多个 Testaro 工作进程,既可以测试内部页面,也可以测试从内部网可访问的外部页面。
活跃的 Kilotest 生产实例可能需要多个 Testaro 工作进程来处理负载,因为测试一个网页通常需要 2 到 4 分钟,而且每个工作进程一次只测试一个页面。
在本地使用 1 个工作进程快速入门
安装
在以下步骤中,主机 T 和 K 可以是同一台主机,也可以是两台不同的主机。主机 T 可以运行 Debian stable、Ubuntu LTS、Windows 或 macOS。主机 K 可以是任何能够运行最新 LTS 版本 Node.js 的服务主机。如果主机 T 和 K 不同,则两者都必须允许 https 流量,且主机 K 必须允许来自主机 T 的 https 请求。
- 将 Testaro 项目 克隆到主机
T上的新目录中。 - 在该目录中安装 Testaro 依赖项:
npm install。 - 更新 Testaro 依赖项并重新构建:
npm run deps。 - 将 Kilotest 仓库克隆到主机
K上的新目录中。 - 在该目录中安装 Kilotest 依赖项:
npm install。 - 将
kilotest目录中的env.testaro文件复制到testaro目录中的.env,并将.env中的__placeholder__值替换为实际值。 - 将
kilotest目录中的env.example文件复制到同一目录下新建的.env文件中,并将.env中的__placeholder__值替换为实际值。TESTARO_WORKERS是一个 JSON 对象,将每个 Testaro 工作进程的 ID 映射到包含其secret和name的对象;工作进程的 ID 和密钥必须与该工作进程.env中的NETWATCH_URL_WORKER_ID和NETWATCH_URL_AUTH值相匹配。工作进程使用 HTTP BasicAuthorization标头(id:secret,经 base64 编码)对每个请求进行身份验证;截至目前,已发布的 Testaro 软件包尚未发送此标头,因此此方案需要相应更新 Testaro 的netWatch.js请求代码(仅需发送该标头;无需更改 Testaro 对任务或报告的处理方式)。ID 是凭据,绝不会公开;Kilotest 会将name写入任务和报告的sources.worker属性,而 Testaro 不会读取或修改该属性,因此它与sources.agent(Testaro 自有、未经信任且由其自行报告的标签,Kilotest 会忽略)是不同的属性。请选择一个适合出现在 Kilotest 提供的每份报告中的name。ALLOW_INTERNAL_TARGETS控制此部署是否可能被诱导去测试位于私有、环回或链路本地地址的页面;更改其默认值前,请参阅SERVICE.md。
用法
- 在
testaro目录中,让 Testaro 开始监听任务:node call netWatch true nn true,其中nn是两次检查新任务之间等待的秒数。请注意,Kilotest 承诺几乎立即审核,并在批准后立即执行测试和复测的“指令”,通常总耗时为 2 到 4 分钟。这一承诺意味着nn必须保持较小。建议设为 10 到 20。 - 在
kilotest目录中,启动 Kilotest 服务:node index。
参与贡献
欢迎贡献!你可以使用 GitHub issues 发起讨论并提出更改建议。如果你想贡献代码,请 fork 此仓库并创建 pull request。
将 Kilotest 作为服务运行
有关如何将 Kilotest 作为服务运行的说明,请参阅 SERVICE.md 文件。
将 Kilotest 用作 AI 工具
Kilotest 不仅是一个 Web 应用,也是一个 API 和 MCP 服务。AI 平台和模型可以通过这些接口使用 Kilotest。
使用 kilotest.com 上 MCP 服务的模型可访问以下公共 URL:https://kilotest.com/mcp。该 MCP 服务已在多个注册目录中登记。详情请参阅 AI-TOOLS.md。
更多文档:
- 教程:授权 AI 助手使用 Kilotest
- AI-TOOLS.md:Kilotest 如何实现 MCP 协议
- Kilotest 功能概要
- llms.txt:面向大模型的基础文档
- llms-full.txt:面向大模型的完整文档
- lhm.plugin.json:在 LobeHub MCP Market 注册的文档
维护
以下是维护当前部署的 Kilotest 时需要执行的常规步骤。
无 API 变更
在功能分支中进行更改,且不涉及任何 API 或工具契约变更时:
- 暂存并提交所有更改,也可选择推送。
- 执行
npm run prePR -- <level>(major、minor或patch)。 - 提交拉取请求。
- 所有检查通过后,将更改压缩合并到
main,并在 GitHub 上删除功能分支。 - 执行
npm run postPR(使用交互式浏览器身份验证)。 - 等待
npmjs.com完成发布处理。 - 使用
git pull、npm ci和pm2 restart kilotest(但不要运行npm audit fix),在公共服务上部署更新后的main分支。
API 变更
在功能分支中进行 API 或工具契约变更时:
lhm.plugin.json:将其转换为与api/schemas.ts和mcp.ts相匹配。llms.txt、llms-full.txt、capability.md、README.md:更新参数名称和路径名称。- 暂存并提交所有更改,也可选择推送。
- 执行
npm run prePR -- <level>(major、minor或patch)。 - 提交拉取请求。
- 所有检查通过后,将更改压缩合并到
main。 - 执行
npm run postPR(使用交互式浏览器身份验证)。 - 等待
npmjs.com完成发布处理。 - 使用
git pull、npm ci和pm2 restart kilotest(但不要运行npm audit fix),在公共服务上部署更新后的main分支。 - 访问 RapidAPI Studio,并通过上传重新生成的
openapi-3.0.yaml,在Hub Listing→Definitions→CI/CD→Import OpenAPI中更新 API 定义。
如果任何步骤失败,请参阅 docs/AI-TOOLS.md 中的详细故障排除说明。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。