跳至主要内容

webforJ 的 AI 工具

您的 AI 助手编写 Java 代码。 现在可以检查了。

AI 编码工具速度很快,但其输出仍需检查。webforJ 为它们提供编写、检查和审查的闭环:可查阅的真实 API、可遵循的正确工作流,以及无需浏览器即可返回通过或失败结果的测试。

适用于 Claude Code、GitHub Copilot、Cursor、Gemini 和 Codex。

$claude plugin marketplace add webforj/webforj-ai
$claude plugin install webforj@webforj-ai
#在 Claude Code 中验证
>/plugin
>/mcp
webforj 显示在“已安装”下方
plugin:webforj:webforj-mcp 显示在已连接的服务器下
文档中的安装命令。一次安装即可获取 MCP 服务器和 Agent Skills。

为什么使用循环

AI 智能体生成的 Java 代码常见的三种问题及对应检查方法

当编码代理没有可查阅的资料时,只能凭记忆编写。提醒它谨慎并不能解决这些问题。每种失误都需要单独检查,而 webforJ 用相应的工具填补每个漏洞。

  1. 01
    无需检查

    它调用了一个不存在或曾经存在过的 API。

    真实 API

    MCP 服务器会搜索 webforJ 知识库,让智能体读取签名,而非凭记忆回忆。

    阅读文档
  2. 02
    无需检查

    它遵循通用的 Java 习惯,而非框架约定。

    合适的工作流程

    智能体技能指导智能体如何处理表单、安全、样式、计时器等。

    阅读文档
  3. 03
    无需检查

    它生成的代码虽然能编译,但用户点击时却毫无作用。

    通过或不通过

    TestBed 会在普通的 JUnit 测试中运行视图,让智能体能够验证自己的工作。

    阅读文档

循环

编写、检查、审阅

智能体编写视图和测试、运行测试,并查看通过或失败结果。逐步演示一个真实界面,从提示词到测试通过。

你的提示词

在 /greeting 添加 webforJ 问候视图,包含姓名字段、“问候”按钮,以及显示“你好”和姓名的段落。

视图是一个带有路由的 Java 类

除此之外无需任何内容:屏幕与代码之间不需要模板、JavaScript 或 REST 层。

连接 MCP 服务器后,智能体已在写入 Composite、Button 和 @Route 前查询过它们。

GreetingView.java
@Route("greeting")
public class GreetingView extends Composite<Div> {
private final TextField name = new TextField("Name");
private final Paragraph message = new Paragraph();
private final Button greet =
new Button("Greet", ButtonTheme.PRIMARY, e -> greet());

public GreetingView() {
getBoundComponent().add(name, greet, message);
}

private void greet() {
message.setText("Hello, " + name.getValue() + "!");
}
}
第 1 阶段,共 3 阶段

这些部件

循环后方的三块物件

  1. AI 插件捆绑包MCP 服务器智能体技能
  2. TestBed
  3. craftforJ Assistant

01 webforJ AI 插件

一次安装,兼得两部分

该插件集成了 MCP 服务器和 Agent Skills。两者协同,让原本靠猜测 webforJ 约定的助手转而遵循这些约定。

在提示中提及 webforJ,即可引导助手使用插件,而非通用 Java 知识。

安装插件

安装位置

  • Claude Code市场命令
  • GitHub Copilot CLI市场命令
  • VS Code + Copilot聊天:从源代码安装插件
  • Gemini CLI扩展安装
  • OpenAI Codex CLI市场命令,然后输入 /plugins
  • Cursor, Kiro, Goose, Junie, Antigravity手动配置

提示词所追寻的

  • 将此自定义元素库封装为 webforJ 组件。创建组件技能
  • 使用 DWC 设计令牌设置此视图样式。应用样式技能
  • 搭建名为 CustomerPortal 的新 webforJ 侧边栏项目。MCP 项目脚手架生成器
  • 根据品牌色 #6366f1 生成主题MCP 主题生成器
  • 查找 webforJ 中有关 @Route 和路由的文档。MCP 知识搜索

01a MCP 服务器,AI 插件的一部分

助手直接读取真实 API,而非凭记忆调用。

Model Context Protocol 是一项开放标准,让 AI 助手按需调用外部工具。webforJ MCP 服务器基于真实框架提供答案,涵盖文档、设计令牌、组件样式和项目脚手架。

验证可在发布前捕获拼写错误和虚构令牌,避免 CSS 静默失效。

查看服务器能做什么
  1. 指定正确的 webforJ 版本

    有 pom.xml 时会读取该文件,否则会询问你。此后的回答都会针对你的版本。

  2. 在知识库中查找信息

    关于 API 的问题、指南、代码示例或 Kotlin DSL,答案均来自真实框架。

    如何在 webforJ 中使用 @Route 设置路由?
  3. 生成新项目骨架

    适用于 hello-world、blank、tabs 或 sidemenu,并采用 webforj 或 webforj-spring 版本的正确 Maven 原型命令。

    使用 sidemenu 原型创建一个名为 CustomerPortal 的 webforJ 项目
  4. 生成 DWC 主题

    基于单一品牌色生成主色、成功、警告、危险、信息、默认和灰色调色板,并自动确保文本对比度。

    根据品牌色 #6366f1 生成 webforJ 主题
  5. 正确设置 DWC 组件样式

    编写任何 CSS 之前,请先阅读 CSS 自定义属性、Shadow Parts、反射属性和插槽。

    dwc-button 提供哪些 CSS 变量和部件?
  6. 验证设计令牌

    对照真实的 --dwc-* 目录检查 CSS、Java 或 Markdown,并标记未知名称、建议更正。

    检查 app.css 中是否存在未知的 --dwc-* 令牌
仅限 Claude Code 中的 MCP 服务器
claude mcp add webforj-mcp https://mcp.webforj.com/mcp -t http -s user
插件是推荐的安装方式。此命令仅连接服务器:https://mcp.webforj.com/mcp。

01b 智能体技能,AI 插件的一部分

为当前任务选择合适的工作流

MCP 服务器提供准确信息。技能会告诉助手何时查找信息、采用哪种方法,以及按什么顺序操作。

技能遵循开放的 Agent Skills 标准。当你的提示与某项技能匹配时,助手会自动加载该技能。

浏览技能
  • webforj-adding-servlets

    在 webforJ UI 旁提供 REST endpoints、webhooks 和 custom servlets。

    添加 REST 端点 /api/orders。
  • webforj-building-forms

    数据绑定、Jakarta 验证、掩码输入框和响应式表单布局。

    创建绑定到我的 User bean 的注册表单。
  • webforj-creating-components

    来自 Custom Elements、JavaScript 库或组合的可复用 Java 组件。

    将这些 webforJ 组件组合成可复用的卡片。
  • webforj-handling-timers-and-async

    使用 Interval、Debouncer、Environment.runLater 和 PendingResult,而非原始计时器和线程。

    每 30 秒刷新此仪表板。
  • webforj-localizing-apps

    消息资源包、运行时语言切换和浏览器区域设置检测。

    添加英语和西班牙语支持。
  • webforj-securing-apps

    登录、注销、基于角色的访问控制和默认安全的路由。

    保护 /admin,仅允许具有 ADMIN 角色的用户查看。
  • webforj-styling-apps

    主题、调色板和组件样式,验证每个 --dwc-* 令牌。

    将此应用设为蓝色主题。
  • webforj-upgrading-versions

    使用官方 webforj-rewrite OpenRewrite 规则进行主版本升级。

    将此应用从 webforJ 25 升级到 26。

02 TestBed

无需浏览器或服务器,即可明确判定通过或失败

视图在普通 JUnit 测试中运行。组件会像在应用中一样挂载、触发事件并导航。

每次交互都会在测试执行下一行之前完成,因此无需等待,也不会偶发失败。Spring Boot 应用使用 webforj-spring-testbed 模块。

阅读 TestBed 指南
  1. 查找ComponentLocator

    根据组件类型及其显示内容,以用户识别它的方式进行描述。

  2. 执行UserInteraction

    仅执行用户能够进行的操作。点击已禁用的按钮会导致测试失败。

  3. 检查verifyThat

    检查用户会看到的内容;失败时会指出组件名称和两个值。

pom.xml
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-testbed-junit</artifactId>
<scope>test</scope>
</dependency>
版本由 webforJ BOM 提供。通过 archetype 创建的项目已导入该 BOM。

03 craftforJ Assistant

运行中应用内的编码智能体

它可以自由编写 Java,每次编辑后都会先编译,再应用到运行中的应用。应用更改会重启应用,重启后代理会继续执行计划。

它随 webforJ 一同提供,因此无需安装。craftforJ 不附带自有模型:添加受支持提供商的 API 密钥,或将其连接到通过 Ollama 在本地运行的模型。

了解助手
居住于
AI 插件您的编辑器
craftforJ Assistant正在运行的应用
读取
AI 插件您的源文件
craftforJ Assistant让你的应用上线,呈现真实数据
由…验证
AI 插件您的下一次构建
craftforJ Assistant每次编辑都要编译后才能查看效果
适用于
AI 插件从零开始构建新内容
craftforJ Assistant理解、修复并基于当前应用进行原型设计
craftforJ 助手在执行操作前于对话记录中询问,并提供“应用”、“允许本次聊天”和“关闭”选项。
助手在执行操作前,会直接在对话记录中询问。
webforj.conf
webforj.debug = true
webforj.devtools.craftforj.enabled = true
craftforJ 仅在开发环境中运行。按 Alt + Shift + D 打开,然后切换到 AI Assistant 标签页。

如何开始

要求提供一个带测试的界面

选一个你本周原本要手动开发的页面。webforJ 是面向企业 Web 应用的全栈 Java 框架:整个应用,包括页面,都用 Java 构建。

  1. 1

    安装插件

    claude plugin marketplace add webforj/webforj-ai
    claude plugin install webforj@webforj-ai
  2. 2

    生成脚手架或打开 webforJ 项目

    向 MCP 服务器获取项目,或打开现有项目。

  3. 3

    在一个提示中同时请求视图及其 TestBed 测试

    描述你关心的行为,让测试验证它。

  4. 4

    运行 mvn test 并查看结果