mcpField
J
JAIPilot

JAIPilot

远程服务
github.com开发工具63 周前更新

关于 JAIPilot

JAIPilot 是面向 Java 开发者的测试生成与维护 CLI,也可接入编码 Agent。它能生成、修复和验证测试,并在代码修改前后建立行为基线。

主要功能

  1. 01生成 Java 单元测试
  2. 02提升代码覆盖率
  3. 03修复失败测试并稳定易变测试
  4. 04运行当前改动的测试
  5. 05重构前锁定行为基线
  6. 06验证测试及覆盖率报告

适用场景

  1. 01为 Java 类生成测试
  2. 02为选定代码提升覆盖率
  3. 03修复构建中的失败测试
  4. 04重构前记录现有行为并回归验证

MCP 相关

可选 MCP 模式可让 Codex、Claude Code 等 Agent 调用 JAIPilot。测试和命令在本地运行,用于建立行为基线并验证 Agent 的代码修改。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.jaipilot.com/functions/v1/jaipilot/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

JAIPilot

JAIPilot — 更快的 Java 测试、更高的覆盖率、更少的缺陷

让测试坚不可摧。
测试速度提升约 5 倍。
企业级单元测试。目标行覆盖率达到 90%+。

你的 Java 测试专家,直接在终端中为你服务。 生成、修复并验证测试。减少提示词,强化断言。

以结果为导向。选择目标,选中代码,获取经过验证的测试。 从 CLI 开始使用。想在编码 Agent 中使用 JAIPilot 时,再添加 MCP。

下载 CLI · 开始使用 · MCP 配置 · JAIPilot.com

看看它的运行效果

Apache Kafka

JAIPilot 实际终端录屏:将 Apache Kafka 的 Deadline 和 LockUtils 测试行覆盖率从 34.3% 提升至 97.1%

在 1 分 53 秒内,将两个类的行覆盖率从 34.3% 提升至 97.1%。 新增 13 项测试;模块中的 949 项测试全部通过。

Spring Petclinic — 100% 覆盖率

JAIPilot 在 Spring Petclinic 上运行 coverage_100 工作流的实际终端录屏,行覆盖率在 3 分 21 秒内从 85.7% 提升至 100%

在 3 分 21 秒内,将整个项目的行覆盖率从 85.7% 提升至 100%。 通过 coverage_100 新增 36 项测试;111 项测试全部通过。

保留生产代码。录屏均为实际操作;GIF 会缩短空闲等待时间。所报告的时间为完整任务耗时,使用了预热的构建缓存;结果可能有所不同。命令、录屏和完整测量数据 →

工作原理

前沿大模型推理能力。经过优化的测试工具。针对不同目标定制的提示词。托管服务中的并行工作进程。 独立的类任务可以并发运行;本地执行使用你的工具链和受支持的硬件并行能力。

  1. 检查你的代码、构建配置和测试框架。
  2. 生成或修复测试,覆盖行为、边界和失败路径,并提供有意义的断言。
  3. 验证测试:运行针对性测试、最终回归测试套件,并在配置后生成新的覆盖率报告。

generate_tests、improve_coverage 和 lock_behavior 的目标行覆盖率为 90%+,在配置覆盖率后针对所选生产代码进行测量。系统会报告覆盖缺口和阻碍因素。编辑前必须先通过行为基线测试。

目标工作流
生成单元测试generate_tests
提升覆盖率improve_coverage
修复失败的测试fix_tests
稳定不稳定的测试stabilize_flaky_tests
测试当前更改test_current_changes
重构前锁定行为lock_behavior
目标行覆盖率达到 100%coverage_100

安装

需要 Git、JDK 和项目所用的构建工具。

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/JAIPilot/jaipilot/main/install.sh | sh

Windows(PowerShell)

irm https://github.com/JAIPilot/jaipilot/releases/latest/download/install.ps1 | iex

npm

npm install -g jaipilot

Homebrew(macOS / Linux)

brew install JAIPilot/tap/jaipilot

登录后,在你的 Java 仓库中运行:

jaipilot auth login
jaipilot run improve_coverage --class com.acme.OrderService

使用同一个 JAIPilot 账户、订阅和额度。工作流运行前会自动检查更新。

安装路径、手动更新和故障排除 →

使用 CLI

jaipilot run generate_tests --class com.acme.OrderService
jaipilot run test_current_changes --all
jaipilot run lock_behavior --path src/main/java/com/acme

范围可选整个仓库、类、路径或选定行。接受更改前,请检查结果和 git diff。

若要在单模块 Maven 项目中获取全新的、经过验证的覆盖率目标:

jaipilot run improve_coverage --all --coverage-target 80

Maven 适配器还支持本地覆盖率检查和测试生成:

./mvnw com.jaipilot:jaipilot-maven-plugin:1.2.1:check -Djaipilot.coverage.line=80
./mvnw com.jaipilot:jaipilot-maven-plugin:1.2.1:run -Djaipilot.coverage.line=80

Maven 适配器 1.2.1 已发布到 Maven Central。在 Windows PowerShell 中使用 mvnw.cmd。适配器配置、类/分支目标及支持的 JaCoCo 规则 →

所有命令、范围、JSON 输出和退出代码 →

如果我的编码 Agent 已经会编写测试,为什么还要使用 JAIPilot?

测试速度更快。覆盖率更高。测试更强。编码 Agent 的工作量更少。

  • 测试速度比通用编码 Agent 快约 5 倍。 优化后的提示词、工具和并行工作进程负责整个测试工作流。实际运行时间因项目而异。CLI 示例:Kafka 达到 97.1% 覆盖率,用时 1m 53s;Petclinic 达到 100%,用时 3m 21s。
  • 行覆盖率目标为 90% 以上。 针对所选行为、边界和失败路径编写有意义的断言,并使用你配置的覆盖率工具进行测量。
  • 回归保护更强。 编辑前锁定行为;之后验证原始测试。我们配对的 Codex 示例中,保存的测试捕获了 10 个注入故障中的 7 个,而 Codex 单独使用时为 3 个。
  • 节省 Token。 将测试规划、生成和修复交给 JAIPilot 的优化服务处理。这可以减少编码 Agent 的测试上下文、Token 用量和成本;可使用 JAIPilot 额度。
实测示例:Codex 搭配 JAIPilot

同一次重构。两个全新的 Codex 会话。两个 Kafka 工具类。MCP 会话自动使用 JAIPilot,无需仓库指令文件或额外的测试提示词。

保存的回归测试套件Codex 单独使用Codex + JAIPilot
通过的 JUnit 测试316
所选 Deadline 类的行覆盖率47.1%100%
两个 fixture 类的行覆盖率40%65.7%
两个 fixture 类的分支覆盖率30%80%
保存的测试捕获的注入故障3/107/10

多出 13 个可复用测试。多捕获 4 个刻意引入的错误。 使用相同的模型、设置、初始测试和预热构建缓存。这只是一个配对示例,结果可能有所不同。

90% 的目标适用于所选代码。 Deadline:100%(17/17 行)。合并后的 65.7%(23/35) 包含未作为目标的 LockUtils,其覆盖行数保持在 6/18。

方法、证据和复现 →

面向编码 Agent 的 MCP

可选:让 Codex、Claude Code 或其他 MCP Agent 更擅长 Java 测试。 在编辑前为其提供经过测试的基线,并用真实失败指导修复。

  1. 锁定: lock_behavior 会在修改生产代码前创建并运行特征测试;配置后以 90% 以上的行覆盖率为目标。
  2. 编辑: 你的编码 Agent 修改生产代码。基线测试保持不变。
  3. 验证: verify_behavior 重新运行原始基线。你的 Agent 会调查失败,并在完成前修复意外变更。

通过的测试只保护其实际覆盖的行为。对于有意进行的行为变更,请检查旧的预期结果。

Codex

codex mcp add jaipilot -- jaipilot mcp --repo /absolute/path/to/java-repository

Claude Code

claude mcp add --transport stdio jaipilot -- jaipilot mcp --repo /absolute/path/to/java-repository

启动新的 Agent 会话。MCP 指令和工具描述中包含此工作流。无需仓库指令文件。 测试和命令在本地运行。作业在后台运行;每条本地命令默认限时 1 小时。

需要包含 mcp 命令的构建版本。源代码设置、工具约定和超时选项 →

本地执行与隐私

构建和测试在本地运行。所选源代码、项目上下文和命令输出会发送到 JAIPilot 托管服务及模型提供商。登录凭据保留在本地,并仅授予用户权限。

隐私详情 · 提问 · 报告问题 · 私下报告漏洞

MIT 许可证 · JAIPilot.com

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。