mcpField
A
amplicode-install

amplicode-install

github.com/amplicode开发134308 次安装7 周前更新
代码仓库

关于 amplicode-install

amplicode-install 是用于在本地 IntelliJ IDEA 和 GigaIDE 中安装 Amplicode 插件的技能。它会检测兼容 IDE、跳过已安装的实例,并调用 JetBrains CLI;MCP 设置需之后在插件中完成。

主要功能

  1. 01检测已安装的兼容 IDE
  2. 02跳过已安装 Amplicode 的 IDE
  3. 03选择多个安装目标
  4. 04通过 JetBrains CLI 安装
  5. 05引导后续 MCP 设置

适用场景

  1. 01在选定 IDE 中安装 Amplicode
  2. 02从多个本地 IDE 中选择目标
  3. 03安装后配置 Amplicode MCP

MCP 相关

该技能本身不会写入 MCP 客户端配置。安装后,点击插件欢迎屏幕上的按钮,Amplicode 插件才会配置受支持 Agent 的 MCP 设置。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/amplicode/spring-skills --skill amplicode-install

安装后在 Claude Code 中输入/amplicode-install确认已加载。

附带文件scripts/detect-ides.ps1scripts/detect-ides.sh

详细介绍

amplicode-install

将 Amplicode IntelliJ 插件安装到用户选择的所有本地已安装 IntelliJ IDEA(Ultimate/Community)和 GigaIDE 中。

此技能的作用

  1. 运行特定于平台的检测脚本,查找计算机上已安装的基于 IntelliJ 的 IDE。
  2. 筛选出 IDEA Ultimate(IU)、IDEA Community(IC) 和 GigaIDE。跳过其他所有 IDE。
  3. 筛除已安装 Amplicode 的 IDE。
  4. 如果剩余多个候选 IDE,询问用户要安装到哪些 IDE。
  5. 调用标准 JetBrains CLI:<ide-binary> installPlugins com.haulmont.amplicode https://amplicode.ru/marketplace。IDE 本身会根据其构建版本选择正确的插件版本、下载 ZIP,并将其解压到正确的插件目录。
  6. 告知用户启动 IDE、打开任意项目,然后在 Amplicode 欢迎界面上点击“Настроить Spring Agent”按钮。只有这个按钮会触发 MCP 自动配置和 spring-skills 安装。

此技能不会做什么

  • 它不会写入任何 MCP 客户端配置。Amplicode 插件需要 IDE 内运行的 MCP 服务才能知道端口;只有插件本身能填写受支持 Agent 的配置。这会在用户点击欢迎界面上的“Настроить Spring Agent”后进行(不会在 IDE 启动时自动进行)。
  • 它不会安装 spring-skills 或任何 Agent 端技能包。这同样由欢迎界面上的按钮完成。
  • 它不会手动下载或解压插件 ZIP。JetBrains 的 installPlugins CLI 会负责获取插件、根据 IDE 构建版本匹配版本并解压。

分步说明

1. 运行检测脚本

脚本位于此 SKILL.md 旁边的 scripts/ 目录中。针对用户的操作系统运行相应脚本,并将其标准输出解析为 JSON 数组;脚本已经筛选出兼容的 IDE(IDEA Ultimate / Community / GigaIDE),因此 Agent 只需使用每个元素中的以下字段:amplicodeInstalled、name、running、pid、hostsCurrentProcess、dataDirectoryName、exePath、appBundle。

  • macOS / Linux: bash scripts/detect-ides.sh
  • Windows: pwsh scripts/detect-ides.ps1(如果没有 pwsh,则使用备用命令 powershell)

如果 JSON 数组为空,请告知用户未找到兼容的 IDE,然后停止。

2. 筛选
  • 删除 amplicodeInstalled: true 的条目——绝不重新安装,也绝不询问。
  • 如果没有剩余条目,请告知用户所有兼容的 IDE 中都已安装 Amplicode,然后停止。
3. 选择目标
  • 恰好剩余一个候选项: 无需询问,直接安装到该 IDE。告知用户将使用哪个 IDE。
  • 剩余两个或更多候选项: 向用户提出多选问题(使用客户端提供的任意交互式提示工具)。每个选项对应一个 IDE(标签 = name)。不要单独添加“全部选择”选项——多选已能满足这一需求。建议全选,但由用户决定。
3a. 处理正在运行的 IDE(自动重启流程)

对于每个选定的 IDE,检查检测 JSON 中的 running 标记。请信任该标记——不要自行使用 pgrep 检查;pgrep 会截断较长的 JVM 命令行,导致误判为未运行。 如果 running: true,JetBrains CLI 将报错:“Only one instance of IDEA can be run at a time.”

先检查是否在 IDE 内运行。 对于每个 running: true 的选定 IDE,查看 hostsCurrentProcess。如果为 true,说明你正在该 IDE 的终端中运行——向 IDE 发送 SIGTERM 会在 installPlugins 运行之前将你一并终止,导致 IDE 关闭且插件未安装。绝不要为这类 IDE 提供自动重启。 跳过该 IDE 的下方提问,直接提供“如果用户选择第二个选项”之后介绍的手动操作说明——将 IDE 自身的 exePath 代入。请一开始就用用户的语言说明原因:“我正在这个 IDE 中运行——如果我关闭它,我也会随之退出,安装步骤就无法运行。因此这部分需要你自行完成。”

当至少有一个选定的 IDE 满足 running: true 且 hostsCurrentProcess: false 时,为这些 IDE 提供自动重启流程。面向用户的问题必须使用用户的语言(与用户一直使用的语言一致);以下措辞是英文基准:

“ 当前正在运行。我可以正常关闭它、安装插件并重新启动。如果 IDE 有尚未保存的更改,它会显示保存对话框并拒绝退出——遇到这种情况我会停止,由你手动处理。可以吗?”

提出一个单选问题,包含两个选项:

  • “可以——关闭、安装并重新启动”(推荐)
  • “我自己来”

如果用户选择第二个选项,不要默默停止,也不要只让他们“重新运行此技能”——他们可能是在该 IDE 内运行你,这种情况下,关闭 IDE 后就无法重新运行此技能。相反,应提供他们需要自行执行的确切命令和安装后的操作步骤。请用用户的语言告诉他们:

请自行关闭 IDE,然后在终端中运行此命令:

"<exePath>" installPlugins com.haulmont.amplicode https://amplicode.ru/marketplace

将 <exePath> 替换为检测 JSON 中的 IDE 启动器路径(请加引号——路径通常含有空格)。等待命令完成;退出代码为 0 表示插件已安装。

然后重新打开 IDE。在任意已打开的项目中:

  1. 如果出现 Amplicode 欢迎屏幕,请点击 Настроить Spring Agent。
  2. 否则,手动打开 Find Action(macOS 上按 Cmd+Shift+A,Windows/Linux 上按 Ctrl+Shift+A)→ 输入 Spring Agent Toolkit → 按 Enter,然后点击 Настроить Spring Agent。
  3. 完成后,重启你正在使用的 MCP 客户端(以便加载新的 MCP 服务配置)。

然后停止此技能。

如果用户同意自动重启,请对每个正在运行的选定 IDE 执行正常退出 → 等待 → 安装 → 重新启动:

退出(SIGTERM,绝不要使用 SIGKILL):

  • macOS / Linux:kill -TERM <pid>
  • Windows:taskkill /PID <pid>(不要加 /F)

等待关闭:通过轮询等待——重新运行检测脚本,并查找相同的 dataDirectoryName。当 running: false(.pid 文件已删除)时,表示 IDE 已完全关闭。每隔 5 秒轮询一次,最长等待 30 秒——请勿每秒轮询,那只会产生无用信息。

如果 30 秒后仍在运行,则停止。用用户的语言告诉他们:“IDE 在 30 秒内未能关闭——可能有未保存更改的对话框正打开着。请手动完成保存并退出,然后重新运行此技能。”不要重试,也不要强制终止。

安装:按照步骤 4 中的说明操作。

重新启动:

  • macOS:open -a "<appBundle>"(此处使用 appBundle;如果缺失,则改用 open -a "<exePath>")。
  • Linux:nohup "<exePath>" >/dev/null 2>&1 &(使进程脱离 Agent 进程组)。
  • Windows:在 PowerShell 中运行 Start-Process -FilePath "<exePath>",或在 cmd 中运行 start "" "<exePath>"。
4. 安装

对每个选定的 IDE,运行:

"<exePath>" installPlugins com.haulmont.amplicode https://amplicode.ru/marketplace

注意:

  • 将其作为普通的 Bash 调用运行。务必为 exePath 加上引号——其中通常包含空格。
  • 如果用户正在使用某个 IDE,请勿在该 IDE 打开时运行此命令——JetBrains 的 CLI 在实例运行时可能会出现不可预测的行为。如果怀疑 IDE 正在运行,请先让用户关闭它。
  • 如果有多个目标,请依次运行,不要并行运行。每次调用都需要写入对应 IDE 的插件目录。
  • 如果退出代码非零,则视为该 IDE 安装失败。向用户显示 stderr,并继续处理其余 IDE。
5. 收尾

用用户的语言告诉用户以下内容(与他们一直使用的语言保持一致):

Amplicode 插件已安装到:<列表>。

接下来:

  1. 在 IDE 中打开任意项目——Amplicode 欢迎界面应会自动显示。 如果没有显示,请手动打开:查找操作(macOS 上按 Cmd+Shift+A,Windows/Linux 上按 Ctrl+Shift+A)→ 输入 Spring Agent Toolkit → 按 Enter。
  2. 点击该界面上的“Настроить Spring Agent”按钮。 随后,插件会将 Amplicode MCP 服务写入受支持的 Agent 配置中,并安装 spring-skills。如果不点击此按钮,则不会配置 MCP。欢迎界面只会在打开项目后显示,不会在 IDE 的启动窗口中显示。
  3. 重启你当前正在使用的 MCP 客户端。 大多数客户端只会在启动时读取 MCP 配置,因此新添加的 amplicode 服务不会显示在当前会话中。重启后,请检查客户端的 MCP 服务列表。

翻译后的消息中,请原样保留 Настроить Spring Agent 和 Spring Agent Toolkit,它们是 IDE 界面中显示的字面标签,不应本地化。

6. 检测步骤 5 是否失败(可选,前提是客户端向你公开了 MCP 服务列表)

用户重启 MCP 客户端并继续对话后,如果你可以检查已配置的 MCP 服务列表,并且其中没有 amplicode,则用户很可能跳过了欢迎界面上的按钮。用他们的语言告诉用户:

看起来你这边尚未连接 amplicode MCP 服务。这意味着你还没有点击欢迎界面上的按钮。在 IDE 中打开任意项目,然后运行查找操作(Cmd+Shift+A / Ctrl+Shift+A)→ Spring Agent Toolkit → 在打开的界面上点击 Настроить Spring Agent。然后再次重启此客户端。

评论

支持 Markdown