开发与工程 code-coveragecode-qualityunit-testingmcdcassertion-mappingtest-automationjev

Supercov

用可验证的质量评分和覆盖率缺口指导编码智能体逐步改进代码。

FollowAgents 评估 · FARS-2.1
谨慎使用
为什么不是更高等级:信任与安全维度为 16/29,未达「推荐」所需的 18/29,按「风险不做平均」下调推荐等级。
75/ 100 五分制 3.8 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全16 / 29 · 2.8/5

覆盖运行被描述为在隔离工作区内进行、默认不改写项目文件,CI 权限也仅为 contents: read;但工具会执行用户指定的测试命令,质量评分还会把源码内容发送给外部 Jev/TypeSafe AI,因而最小权限未获满分。README 清楚区分本地覆盖、包管理器联网和付费质量服务,但没有说明上传字段、保存期限、删除机制或密钥保护措施。清理提供 dry-run 和保留最近运行的选项,具有一定恢复保护,却没有针对代理所写测试的内建回滚或逐次确认。依赖中既有精确锁定也有宽松范围,工作流使用版本标签而非提交摘要,且材料未提供锁文件、漏洞扫描或供应链政策,因此依赖安全仅有薄弱证据。仓库、组织、问题入口和贡献者版权可识别,但发布者身份仍未知,维护归属并未完全落实到具体责任人。

2可靠稳定9 / 14 · 3.2/5

README、各生态清单、CI 工作流和示例对 1.0.1、运行方式及核心测试循环大体一致,并展示了广泛的静态测试脚本;但 PyPI 元数据标为 Pre-Alpha,而文档又广泛宣称多平台、多语言均已可用,成熟度表述存在张力。依赖和环境要求列得具体,平台二进制也按版本配套,但外部 API、注册表、测试框架及多语言工具链仍是可用性依赖,材料没有降级策略。文档说明失败测试、不完整证据和歧义范围会停止循环,但未给出实际错误消息实现或错误输出样例,因此失败消息只评为充分但不彻底。

3适用触发18 / 18 · 5.0/5

材料明确面向交互式编码代理、夜间剩余令牌循环和自动化软件工厂,并提供质量、覆盖、断言映射等不同场景。能力边界写得很清楚:Supercov 提供信号与证据,不托管、不调度也不替代代理;质量评分与覆盖运行的联网和账户需求也有区分。可复制提示词给出了只改测试、停止条件、目标选择和复跑验证等精确触发规则。语言、运行器、操作系统、架构、最低版本、安装渠道和归因边界均有详尽矩阵,因此这些标准可获满分。

4规范维护16 / 18 · 4.4/5

README 的结构、命令渐进层级、文档索引和支持矩阵组织良好;安装方式覆盖 npm、PyPI、RubyGems、Cargo、Go、Homebrew 和直接发布包,并注明前置版本。名称、模块路径和 1.0.1 版本在 Cargo、npm 及平台包之间稳定一致。示例丰富且有三平台教程工作流,但所给材料没有真正的 FAQ 内容,外链故障排查文档也未展开。限制条件、归因差异、完整性阻断项和即将支持的语言均有明确说明。MIT 许可证正文与所有清单一致。版本号和升级脚本存在,但没有提供变更日志、发布历史或兼容性迁移说明。问题跟踪地址和 Supercorp 支持声明提供了维护路径,不过版权仅写“contributors”,未明确具体维护者或响应承诺。

5有效结果10 / 13 · 3.8/5

文本输出短小、可分页并支持 JSON,能够定位文件、行、决策和运行差异;示例也展示了代理可直接消费的缺口和证明结果,因此输出可用性证据充分。相对传统覆盖报告的边际价值体现在结构化缺口、MC/DC、逐测试归因、断言映射及不可变运行记录,但这些广泛收益主要由项目自身陈述,所给示例只验证了一个很小的会话分支场景。成本披露包括质量评分约每 MB 一美分、内容缓存以及覆盖免费本地运行,但没有源材料内的基准数据、典型运行开销或存储增长数据,所以边际价值和成本收益均未获满分。

6证据核验6 / 8 · 3.8/5

质量结果被描述为可回到具体文件和问题,覆盖结果可查询运行、源码位置和运行间差异;工作流、测试脚本及教程前后测试文件也为部分主张提供交叉支持。但多语言、多平台、精确归因和“同一二进制”发布等大范围主张没有在所给文件中逐项获得实现代码、构建产物摘要或测试结果佐证,CI 配置本身也不等同于测试通过。事实与推断的分离较好:文档明确标出 agent-assessed 断言分数、aggregate 与 exact attribution 的边界、外部质量服务和本地覆盖之间的差异,以及证据不完整时的停止条件。

证据充分度: 评估于 2026年9月20日 审查版本 0f1a6a336413
使用前请注意
  • 质量评分会把源码交给 Jev/TypeSafe AI;在处理专有或敏感代码前,应先核实上传范围、保存期限、数据使用条款和删除机制。
  • 该工具会执行传入的完整测试命令,并让编码代理修改测试;应在受限工作区中运行,审查命令和补丁,并保留版本控制恢复点。
  • 安装涉及多个注册表和平台二进制,但材料未展示锁文件、产物校验摘要、依赖漏洞扫描或固定到提交的 CI 动作;高保障环境应补做供应链审查。
  • 多平台和多语言支持声明只能从配置和文档静态观察,不能视为本次评估已执行或独立复现。
  • PyPI 的 Pre-Alpha 分类与 1.0.1 及广泛“Available”声明并存,采用前应验证目标语言、运行器和平台组合。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Supercov 是一个面向编码智能体的本地 CLI,用于评估代码质量、运行项目已有的测试命令并生成可操作的覆盖率缺口。质量功能通过 Jev 检查各源文件,并输出由具体问题支撑的评分;该功能需要 TypeSafe AI API 密钥,按读取的源码量收费。覆盖率功能在隔离工作区中执行原有测试套件,不改写源码、测试、依赖、运行器配置或正常构建输出,并把证据保存在 `.supercov/` 下。它支持 JavaScript、TypeScript、Rust、Python、Ruby、Go、Java 和 Kotlin,可报告行、语句、函数、分支及 MC/DC 等覆盖义务。智能体可通过 `gaps` 选择目标、编写聚焦测试,再用 `diff` 证明覆盖率增益;断言映射还可记录断言具体检查了什么。Supercov 不托管或调度智能体,适合已有终端操作能力和完整测试命令的项目。

质量流程中,npx supercov quality 自动发现源码,把文件交给 Jev 回答一组是非问题,并汇总为可核查的文件级和项目级评分;quality gapsquality filequality patch 分别用于查看问题、检查单个文件和审查变更。覆盖率流程中,supercov -- <test-command> 在隔离工作区运行项目原有测试命令,预先根据源码结构确定覆盖义务,并收集行、语句、函数、分支、MC/DC、可选链、默认值、逻辑赋值及特定控制流路径的执行证据。runs latest gaps 把未覆盖路径压缩成小型、可分页的目标,diff <previous-run-id> latest 对比两次完整测试运行。每次正常运行还会创建断言映射;智能体可读取断言与执行源码、填写 assertions.json,再用 assertions validateassertions check --require-mappings 验证。运行证据存放在 .supercov/runs/<run-id>/,隔离构建缓存位于 .supercov/workspaces/

  1. 已有稳定测试命令的开发团队,希望让 Codex 或 Claude Code 根据实际覆盖证据每次补充一个有价值的测试。
  2. 维护安全关键或复杂条件逻辑的工程师,需要用 MC/DC 独立性见证定位普通行覆盖率无法揭示的遗漏路径。
  3. 代码库负责人希望用 Jev 对大量文件进行一致的质量筛查,并从最弱文件和具体问题类型开始重构。
  4. 自动化软件工厂希望为每轮智能体任务提供边界明确的测试目标,并保存可复查的运行与差异证据。
  5. 测试负责人需要追踪 Jest、Playwright、Vitest、Rust libtest、RSpec 等受支持运行器中的精确单测试归因或聚合结构覆盖。
  6. 团队希望为断言建立语义映射,区分代码被执行与结果确实被断言检查这两件事。

这个 Agent 有哪些优点和局限?

优点
  • 直接复用项目已有的完整测试命令,无需添加 import、自定义 reporter、配置文件或托管服务。
  • 覆盖率分母在运行前由源码结构确定,新增或删除测试不会悄悄改变 100% 的含义;证据缺失和范围歧义会保持可见。
  • 除行和分支外,还能追踪 MC/DC、可选链、默认值、逻辑赋值及零次迭代等细粒度路径。
  • 通过 gapsdiff 为编码智能体提供小型目标及前后对比证据,适合重复迭代。
  • 跨八种已支持语言提供同一原生 CLI,并覆盖 Linux、macOS 和 Windows 的 arm64、x64 架构。
  • 覆盖数据和工作区保存在本地 .supercov/;覆盖运行期间 CLI 不联系 Supercov 服务,也不改写项目文件。
局限
  • 质量评分依赖 TypeSafe AI 和 Jev,需要 API 密钥,并按读取的源码量产生费用。
  • npx 路径要求 Node.js 22 或更高版本;其他语言也有明确最低版本,例如 CPython 3.12、Go 1.22、JDK 17 和 Ruby 3.3。
  • 并非所有测试运行器都有精确的单测试归因;AVA 和 Mocha 仅提供聚合结构覆盖。
  • 断言映射中的语义判断需要智能体检查断言和源码、填写映射并确认 token,不是完全自动完成。
  • Zig、PHP 和 C 仍标为即将支持,当前不能作为已支持语言采用。
  • 工具不会托管、调度或替代编码智能体;持续运行仍需用户自己的智能体或软件工厂负责。

如何安装或部署这个 Agent?

使用 npm 的最短路径无需预先安装包,但要求 Node.js 22 或更高版本:npx supercov -- npm test。也可按项目语言安装或运行同一版本的原生二进制:uvx --from supercov-cli supercov -- pytestgem install supercov && supercov -- bundle exec rspeccargo binstall supercov && supercov -- cargo testgo run github.com/supercorp-ai/supercov/cmd/supercov@latest -- go test ./...,或 brew install supercorp-ai/tap/supercov。覆盖率测量不需要账户或配置文件。质量评分需要先取得 TypeSafe AI API 密钥并执行 export TYPESAFE_API_KEY=...npx 等包工具在本地尚无缓存时可能访问软件包注册表。

如何使用这个 Agent?

先运行项目信任的完整测试套件,例如 npx supercov -- npm test。随后执行 npx supercov runs latest 查看摘要,并用 npx supercov runs latest gaps --limit 10 选择一个有用的未覆盖目标。让编码智能体只修改测试并添加一个聚焦用例,然后再次运行相同的完整套件,最后执行 npx supercov diff <previous-run-id> latest 验证改进。质量检查可先设置 TYPESAFE_API_KEY,再运行 npx supercov quality;用 npx supercov quality gaps 查看触发的问题,或用 npx supercov quality patch 审查未提交工作或当前分支。若要补充断言语义,先运行 npx supercov runs latest assertions --json,固定返回的运行 ID,检查断言和源码,编辑 assertions.json,再依次执行 assertions validate --jsonassertions check --require-mappings --json

这个 Agent 与同类方案有什么区别?

与需要智能体加载大型 HTML 报告的传统覆盖率流程相比,Supercov 用可分页的 gaps 查询返回较小的具体测试目标,并用 diff 验证增益。与托管式覆盖服务相比,其覆盖运行保留在本地 .supercov/ 目录且不联系 Supercov 服务;但质量评分是另一条路径,依赖 TypeSafe AI 的 Jev API。它也不是测试运行器或智能体平台,而是包裹现有测试命令、生成质量与覆盖证据的 CLI。

常见问题

覆盖率功能需要账户或付费吗?
不需要。覆盖率功能是本地、免费、开源且采用 MIT 许可证;不要求账户、配置文件或托管服务。包管理器首次下载二进制时仍可能访问对应注册表。
质量评分如何收费?
质量评分需要 TypeSafe AI API 密钥。Jev 按读取内容收费,源码每兆字节约一美分;结果按文件内容缓存,后续运行通常只需为变更内容付费。
Supercov 会修改项目吗?
覆盖运行不会改写源码、测试、import、reporter 列表、运行器配置、依赖树或正常构建输出。Java/Kotlin 测量所需的构建调整发生在隔离工作区副本中。
测试失败或覆盖证据不完整时怎么办?
推荐的智能体循环应停止继续改动;失败测试、证据缺失、未插桩代码和范围歧义会保留为可见问题,而不会被舍入隐藏。
所有运行器都能显示每个测试覆盖了什么吗?
不能。Playwright、Vitest、Jest、node:test、Rust、RSpec 等列出的适配器支持精确归因;AVA 和 Mocha 只报告聚合结构覆盖。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents