使用人工智能工具进行本地开发 local-development-with-ai-tools
AI编码代理(Claude Code、Cursor、GitHub Copilot和类似工具)对AEM的底层技术(Java、OSGi、Sling、JCR、HTL)具有广泛了解,但不一定了解用于生成代码和配置或如何调试常见AEM开发问题的最佳实践。
有四个互补组件解决了这个问题:
AGENTS.md agentsmd
AGENTS.md是一个Markdown文件,位于AEM项目的根目录,人工智能编码工具会在每个会话开始时自动加载,以便通过基本的AEM Cloud Service Java栈栈域专业技能扎根(而不是AEM 6.5或Edge Delivery Services等其他AEM解决方案)。
AGENTS.md不是您复制的静态文件 — 它是通过下一节中所述的ensure-agents-md技能生成的。 该技能读取您的pom.xml以解析项目名称、发现模块并检测已安装的加载项,从而生成针对您的特定项目定制的文件。
AGENTS.md一旦存在于项目根目录中,ensure-agents-md技能便不再运行。 如果您的项目结构发生更改,请直接编辑该文件。座席技能 agent-skills
技能是用于对多步骤开发工作流进行编码的说明集。 在调用时,人工智能遵循该技能的程序,而不是仅依赖一般知识,产生一致、符合公约的结果。
Adobe将在分支上的adobe/skillsbeta存储库中发布AEM as a Cloud Service技能,因为此功能尚未公开发布:
ensure-agents-mdAGENTS.md和CLAUDE.mdcreate-componentdispatcherworkflow安装技能 install-skills
选择与您的AI编码工具匹配的方法。 一旦安装技能,这些技能即可用于该计算机上的所有项目。
Claude码 claude-code
# Add the Adobe Skills marketplace (one-time setup)
/plugin marketplace add adobe/skills#beta
# Install all available skills
/plugin install aem-cloud-service@adobe-skills
Npx技能 npx-skills
# Install all available skills
npx skills add https://github.com/adobe/skills/tree/beta/skills/aem/cloud-service --all
Upskill(GitHub CLI扩展) upskill-github-cli-extension
# Install the gh-upskill extension (one-time setup)
gh extension install trieloff/gh-upskill
# Install all available skills
gh upskill adobe/skills --branch beta --path skills/aem/cloud-service --all
使用secure-agents-md技能 use-the-ensure-agents-md-skill
安装该技能后,在尚未具有AGENTS.md的任何AEM Cloud Service项目中打开您的AI助手。 该技能将在处理您的第一个请求之前自动运行,在项目根目录下创建这两个文件,而无需显式调用。
使用创建组件技能 use-the-create-component-skill
首次使用时,该技能将从project和现有组件中自动检测package、group和pom.xml,要求您确认检测到的值,然后在项目根目录中创建.aem-skills-config.yaml。 首次使用前无需手动配置。
如果您希望预创建文件,请将.aem-skills-config.yaml置于具有以下结构的项目根目录下:
configured: true
project: "wknd" # Check /apps/{project}/ or pom.xml
package: "com.adobe.aem.guides.wknd.core" # Check core/pom.xml
group: "WKND Components" # Check existing component .content.xml files
文件位于技能目录之外,技能更新时永远不会覆盖该文件。
在AI聊天中描述组件:
Create an AEM component called "Hero Banner"
Dialog specification:
Title (title) - Textfield, mandatory
Subtitle (subtitle) - Textfield
Background Image (backgroundImage) - Fileupload
CTA Text (ctaText) - Textfield
CTA Link (ctaLink) - Pathfield
代理会响应字段说明进行确认,然后生成所有组件文件。 支持的模式包括带有复合嵌套项的多字段、条件显示/隐藏逻辑、通过Sling资源合并器进行的核心组件扩展以及使用AEM Mocks的JUnit 5测试。
使用Dispatcher技能 use-the-dispatcher-skill
调用任何Dispatcher或Apache HTTPD配置工作的Dispatcher技能。 该技能根据请求的性质将请求路由到六个专业子技能中的一个:
workflow-orchestratorconfig-authoringtechnical-advisoryincident-responseperformance-tuningsecurity-hardening对于广泛或首次请求,从workflow-orchestrator子技能开始。 对于有针对性的工作,请向相应的专家描述具体的关切事项和技能途径。
Dispatcher技能处理编排和咨询指导。 如下所述的Dispatcher MCP服务器提供了该技能在需要本地证据时所使用的七种验证和运行时工具。
AEM快速入门MCP服务器 aem-quickstart-mcp-server
模型上下文协议(MCP)是一个开放标准,它允许AI编码工具连接到外部数据源和服务。 AEM快速入门MCP服务器是一个内容包,一旦安装在本地AEM SDK实例中,就会将运行时数据直接公开给连接的AI工具,从而使代理能够检索日志、诊断OSGi故障以及检查请求处理,而无需离开IDE。
安装内容包 install-the-content-package
从软件分发门户下载内容包,然后使用位于com.adobe.aem:com.adobe.aem.mcp-server-contribs-content的包管理器将/crx/packmgr安装到本地快速入门中。
兼容性:已与AEM SDK 2026.2.24678.20260226T154829Z-260200及更高版本一起验证。
可用工具 available-tools
aem-logsdiagnose-osgi-bundlerecent-requests配置IDE configure-your-ide
光标 cursor
在光标设置中,添加新的自定义MCP服务器:
"aem-cs-sdk": {
"type": "streamable-http",
"url": "http://localhost:4502/bin/mcp",
"headers": {
"Authorization": "Basic YWRtaW46YWRtaW4="
}
}
GitHub Copilot与IntelliJ IDEA github-copilot-with-ihtellij-idea
导航到工具> GitHub Copilot >模型上下文协议(MCP),然后单击配置。 添加:
"aem-cs-sdk": {
"url": "http://localhost:4502/bin/mcp",
"requestInit": {
"headers": {
"Authorization": "Basic YWRtaW46YWRtaW4="
}
}
}
其他IDE other-ides
任何MCP客户端都可以指向带有http://localhost:4502/bin/mcp标头的Authorization: Basic YWRtaW46YWRtaW4=来连接。 使用IDE的MCP设置配置自定义标头。
Basic YWRtaW46YWRtaW4=是admin:admin的Base64编码,这是本地Quickstart的默认凭据。 请勿在非本地环境中使用它。Dispatcher MCP服务器 dispatcher-mcp-server
Dispatcher MCP服务器与AEM Dispatcher SDK捆绑在一起。 它使AI工具能够针对Docker中本地运行的Dispatcher实例验证Dispatcher和Apache HTTPD配置、跟踪请求处理和检查缓存行为。
与Dispatcher技能不同, Dispatcher MCP服务器仅公开工具:七个MCP工具,无提示或资源。
先决条件 prerequisites
- Docker Desktop 4.x或更高版本,已安装并正在运行
- 从软件分发门户下载的AEM Dispatcher SDK
client version 1.43 is too new,请在外壳程序或DOCKER_API_VERSION=1.41中设置mcp.json。安装Dispatcher SDK install-the-dispatcher-sdk
macOS和Linux:
chmod +x aem-sdk-dispatcher-tools-<version>-unix.sh
./aem-sdk-dispatcher-tools-<version>-unix.sh
cd dispatcher-sdk-<version>
chmod +x ./bin/docker_run_mcp.sh
./bin/docker_run_mcp.sh test
Windows:
Expand-Archive aem-sdk-dispatcher-tools-<version>-windows.zip
运行./bin/docker_run_mcp.sh help以检索复制粘贴IDE配置,运行./bin/docker_run_mcp.sh version以确认捆绑的MCP和SDK版本。 使用./bin/docker_run_mcp.sh diagnose调查连接问题。
配置光标 configure-cursor
将aem-dispatcher-mcp条目添加到~/.cursor/mcp.json:
{
"mcpServers": {
"aem-dispatcher-mcp": {
"command": "<path_to_dispatcher_sdk>/bin/docker_run_mcp.sh",
"env": {
"DOCKER_API_VERSION": "1.43",
"AEM_DEPLOYMENT_MODE": "cloud",
"MCP_LOG_LEVEL": "trace",
"MCP_LOG_FILE": "/tmp/dispatcher-mcp.log",
"DISPATCHER_CONFIG_PATH": "<path_to_dispatcher_src>"
}
}
}
}
将<path_to_dispatcher_sdk>替换为提取的Dispatcher SDK位置,将<path_to_dispatcher_src>替换为项目的调度程序src目录。 将DISPATCHER_CONFIG_PATH设置为包含定义/docroot的文件的配置根。 MCP_LOG_LEVEL和MCP_LOG_FILE是可选的调试设置。 如果您看到client version 1.43 is too new,请将DOCKER_API_VERSION设置为1.41。 如果已配置其他MCP服务器,请添加aem-dispatcher-mcp项而不替换它们。 保存后重新启动光标。
其他IDE也可以以类似的方式进行配置。 SDK的docs/DispatcherMCP.md包含Claude Desktop和VS代码的完整示例。
可用工具 available-tools-dispatcher
validatelintsdkvalidate、validate-full、three-phase-validate、docker-test、check-files、diff-baselinetrace_requestinspect_cachemonitor_metricstail_logsMCP表面仅有意公开这七种工具;提示和资源保留在技能层中。 在提取的Dispatcher SDK中的docs/DispatcherMCP.md中提供了完整的参考文档。