关于 CompatLab
CompatLab 记录已发布 npm 包在固定版本的 Node.js、Bun 和 Deno 运行时中的加载表现,适用于查阅版本级证据的开发者与 Agent。报告区分实际观察结果、覆盖范围和环境限制。
主要功能
- 01在固定版本运行时探测软件包
- 02读取特定版本的报告与证据
- 03查看覆盖范围和环境限制
- 04通过命令行重现检查
适用场景
- 01采用软件包前查阅运行时加载证据
- 02比较特定软件包版本的报告
MCP 相关
它通过 Streamable HTTP 提供只读远程 MCP 服务。`check_package` 和 `get_report` 工具返回版本、运行时固定信息、覆盖范围及报告链接,不会提交扫描。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://compatlab.me/mcpclaude mcp add --transport http siddiksawani-compatlab https://compatlab.me/mcp{"mcpServers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}在 Cursor 中打开{"servers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}在 VS Code 中打开{"mcpServers":{"siddiksawani-compatlab":{"type":"http","url":"https://compatlab.me/mcp"}}}{"mcpServers":{"siddiksawani-compatlab":{"serverUrl":"https://compatlab.me/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | |
| version | string | 否 |
详细介绍
CompatLab
CompatLab 会在固定版本的 JavaScript 运行时中测试已发布的 npm 构件。报告会区分观察到的加载行为、覆盖范围和环境限制,不会据此笼统宣称兼容性。
生产域名:compatlab.me。解读通过的报告前,请先阅读方法说明。
Agent 可以通过匿名 API读取现有证据,也可以使用 Streamable HTTP 将远程 MCP 客户端连接到 https://compatlab.me/mcp。只读的 check_package 和 get_report 工具会返回确切版本、运行时固定版本、覆盖范围和报告链接;它们绝不会提交扫描。请参阅 MCP 设置与验证。缺少证据并不代表兼容性结论。
本地引擎会在禁用脚本的情况下解析并准备公开的 npm 构件,封存其依赖树,并在固定版本的 Node、Bun 和 Deno 运行时中进行探测。CLI 支持有界检查,以及显式复用快照或基于锁文件重建。Worker 包含主机所有权、容量预留、恢复机制和恶意代码资格验证。PostgreSQL 目录和私有控制服务提供事务式准入、持久租约、经身份验证的结果写入和快照本地调度。匿名网站支持发现、显式扫描请求、持久进度、报告矩阵、证据和复现文件下载。系统还包含 SSH 运维控制、部署打包、异地加密备份、保留策略和发布资格门禁;公开准入默认关闭。请参阅运维手册和资格验证记录。有关限制和先决条件,请参阅网站设置、报告、编排、目录与准入、Worker 生命周期、本地执行、准备和运行时配置。
开发
命名断言和 CI 构件扩展了维护者工作流。断言使用固定到提交的离线夹具,并单独提供行为证据。Linux/runsc CLI 可以检查发布前的归档文件,并使用独立的来源标识和调用方提供的来源信息。
公开的维护者专区即将推出。其可选的账户实现使用 GitHub App 登录、加密的 OAuth 令牌、实时仓库权限检查、撤销和账户配额,但此部署中仍禁用了登录和发布监控。公开报告仍为匿名。
请使用 .node-version 中指定的 Node.js 24.21.0 和 package.json 中指定的 pnpm 12.8.1。
corepack enable
pnpm install --frozen-lockfile
pnpm check
pnpm cli --help
pnpm cli doctor --json
pnpm check 会运行格式与 lint 检查、严格的工作区构建、测试类型检查以及单元测试/CLI 测试。直接运行 CLI 或测试前请先构建。在 macOS 和 Linux 上均可进行开发检查;运行 doctor、沙箱测试和本地 PostgreSQL 测试服务器需要 Docker 守护进程。有关单独的集成门禁,请参阅数据库资格验证。
doctor 会报告 Linux amd64 Docker 服务器是否注册了 runsc 运行时。缺少先决条件时,它会返回退出代码 1,并且绝不会执行包代码。通过检查并不代表主机已获得执行不可信代码的资格。系统不会回退到在开发者的计算机上运行软件包。
在已准备好的 Linux amd64 主机上运行 runsc:
pnpm build
pnpm test:sandbox
冒烟测试会构建一个固定摘要的夹具镜像,并检查 ESM/CommonJS 完成、模块故障、伪造标准输出成功、结果缺失和异常退出。测试仅使用自编夹具。CI 会在一次性 GitHub 托管的运行器上安装校验和固定版本的 gVisor;该安装程序不适用于开发或生产机器。
仓库结构
| 路径 | 实现的职责 |
|---|---|
apps/cli | 前置条件、检查、CI 归档、复现、SSH 管理和备份加密 |
apps/web | 匿名发现、扫描请求、持久化进度和报告页面 |
packages/engine | 注册表解析、分析、规划和有界探测编排 |
packages/catalog | PostgreSQL 身份、准入、租约、结果验证、恢复和缓存查询 |
packages/contracts | 规范词汇和有界完成验证 |
services/worker | 准备、密封存储、运行时监管和本地证据存储 |
services/control | 绑定到私有 WireGuard 的工作器 API 和协调 |
harnesses | 自动加载和独立命名的断言完成协议 |
services/maintainer | 发布协调、比较和独立重试的邮件 |
runtime-images | 固定摘要的最小运行时镜像配方 |
fixtures | 编写的模块/协议和准备归档样例 |
infra | 固定版本的服务打包、工作器配置、备份和恢复配置 |
scripts | 隔离、语料库、部署和恢复资格认证 |
docs | 架构、交付顺序、研究和决策记录 |
交付与贡献
十四个 PR 的交付计划涵盖公开 MVP 和受门控的维护者工作流。架构计划、PRD v1.1和研究笔记定义了设计。原始 PRD作为历史参考予以保留。
所有项目变更均使用功能分支和拉取请求。检查项和审查要求请参阅 CONTRIBUTING.md,报告安全问题请参阅 SECURITY.md。该仓库由 siddiksawani 维护,并采用 MIT 许可证。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。