手把手教你把 Gemini CLI 塞进 IntelliJ IDEA:ACP 集成指南

简介: ACP(Agent Client Protocol)让Gemini CLI无缝入驻IDEA:无需切换窗口,直接在AI Assistant中@Gemini,即可理解项目、改代码、执行命令。四步配置(装CLI→查路径→写acp.json→重启IDE),支持项目感知与终端联动,开发效率跃升!

🎯 先说人话:这玩意儿能干啥?

想象一下这个场景:

你正在 IDEA 里疯狂敲代码,突然卡壳了。以前你得:切终端 → 打开 Gemini CLI → 复制代码 → 粘贴 → 等回复 → 再切回 IDEA。
现在?直接在 AI Assistant 聊天框里@Gemini,它就能看懂你的项目、帮你改代码、甚至跑终端命令!✨

这就是 Agent Client Protocol (ACP) 的魔法:让外部 AI 代理(比如 Gemini CLI)直接"住进"你的 IDE,无缝协作。


📋 前置条件(别跳过,否则踩坑别怪我)

要求 说明 检查命令
IntelliJ IDEA 2025.3 或更新版本(其他 JetBrains 全家桶也行) Help → About
Node.js 建议 20+ 版本,Gemini CLI 的"粮食" node --version
Gemini CLI 主角登场,必须先装好 gemini --version

🔧 四步走,集成搞定!

Step 1️⃣:安装 Gemini CLI(如果还没装)

npm install -g @google/gemini-cli

装完验货:

gemini --version
# 看到版本号?恭喜,第一步拿下!✅

💡 小贴士:如果权限报错,试试加 sudo(Mac/Linux)或用管理员身份运行终端(Windows)。


Step 2️⃣:找到 gemini 可执行文件的"真实住址"

ACP 配置需要绝对路径,不能玩"我以为你知道"的游戏。

🍎 macOS / 🐧 Linux 用户:

which gemini
# 示例输出:/Users/yourname/.nvm/versions/node/v22.16.0/bin/gemini

🪟 Windows 用户:

where gemini
# 示例输出:C:\Program Files\nodejs\gemini.cmd

⚠️ 重点:把这个路径复制好,马上要用!如果用 nvm,确保路径指向当前激活的 Node 版本,不然 IDEA 会一脸懵:"这文件呢?"


Step 3️⃣:配置 ACP 的"户口本" —— acp.json

JetBrains IDE 会去固定位置找这个配置文件:

系统 文件路径
macOS / Linux ~/.jetbrains/acp.json
Windows %USERPROFILE%\.jetbrains\acp.json

新建或编辑文件,填入以下内容(记得替换 command 里的路径!):

{
   
  "agent_servers": {
   
    "Gemini CLI": {
   
      "command": "/你的/实际/路径/gemini",
      "args": [
        "--experimental-acp"
      ],
      "use_idea_mcp": true,
      "use_custom_mcp": true
    }
  }
}

🔍 配置项逐行解读:

字段 作用 为什么重要
"Gemini CLI" 在 IDEA 里显示的名字 随便起,但建议别叫"那个谁"😅
"command" gemini 可执行文件路径 填错=找不到人,直接罢工
"args" 启动参数 --experimental-acp 是关键!没它 Gemini 会以为你要开终端聊天
"use_idea_mcp": true 允许访问 IDEA 内置 MCP 服务 ✨核心功能!让 Gemini 能读你的项目结构、打开的文件
"use_custom_mcp": true 支持自定义 MCP 服务 扩展玩法,比如连数据库、调用外部 API

🤔 深度思考:为什么叫 experimental
因为 ACP 协议还在演进中,未来可能有 breaking changes。生产环境使用建议先在小项目试水,别一上来就让它重构核心模块(血泪教训预警⚠️)。


Step 4️⃣:重启 IDEA,召唤 Gemini!

  1. 重启 IntelliJ IDEA(配置生效的仪式感)
  2. 打开 AI Assistant 面板(通常在右侧工具栏)
  3. 找到 Agent 选择器(下拉菜单或 更多按钮)
  4. 选择 "Gemini CLI"

image.png

🎉 看到聊天框里出现 Gemini CLI 标识?恭喜,集成成功!


📦 附:一键配置脚本(懒人福利)

macOS / Linux 用户,复制粘贴这条命令,自动创建 acp.json(记得先改路径!):

mkdir -p ~/.jetbrains && cat > ~/.jetbrains/acp.json << 'EOF'
{
  "agent_servers": {
    "Gemini CLI": {
      "command": "$(which gemini)",
      "args": ["--experimental-acp"],
      "use_idea_mcp": true,
      "use_custom_mcp": true
    }
  }
}
EOF

相关文章
|
12天前
|
人工智能 网络安全 开发工具
让OpenClaw价值翻倍:阿里云/本地部署与10个官方skill 解锁 AI Agent 效率上限
大多数人使用OpenClaw时,仅停留在“指令-输出”的基础层面,却忽略了其背后可深度挖掘的效率杠杆。OpenClaw的核心瓶颈与Claude Code一致——上下文窗口是有限的“白板”,如何让这块白板发挥最大价值,决定了AI开发的效率上限。
248 11
|
4天前
|
人工智能 安全 Serverless
让 AI Agent 安全“跑”在云端:基于函数计算打造 Agent 代码沙箱
Agent 代码沙箱是保障 AI 智能体安全执行的核心基础设施。依托函数计算构建强隔离、有状态、低成本的 AI 运行时。
|
1月前
|
Kubernetes 应用服务中间件 nginx
最全的kubectl命令用法
本文系统讲解kubectl命令行工具:详解所有子命令(创建、查询、部署、调试等)、API资源列表、自动补全配置,并通过大量实操示例(如创建/查看/编辑/删除资源、扩缩容、回滚、标签管理等)助你快速掌握Kubernetes集群管理核心技能。(239字)
467 143
|
1月前
|
JSON Java 数据格式
Feign 复杂对象参数传递避坑指南:从报错到优雅落地
本文深入剖析了SpringCloud Feign在复杂对象参数传递中的常见问题及解决方案。文章首先分析了GET请求传递复杂对象失败的底层原因,包括HTTP规范约束和Feign参数解析逻辑。针对GET场景,提供了四种解决方案:@SpringQueryMap(首选)、手动拆分属性+@RequestParam、MultiValueMap封装和自定义FeignEncoder,详细比较了各方案的优缺点和适用场景。对于POST场景,推荐使用@RequestBody注解传递JSON请求体。
516 6
|
2月前
|
人工智能 自然语言处理 Java
Spring AI Alibaba实战:从0到1构建企业级智能应用
本文介绍了基于SpringAI Alibaba框架开发AI原生应用的实战指南。文章首先分析了SpringAI Alibaba作为SpringAI本土化版本的核心优势,包括深度适配阿里云生态、中文语境优化等特性。随后详细讲解了开发环境的搭建过程,包括JDK17、SpringBoot3.2.2等技术栈的配置。通过三个实战案例展示了核心功能实现:基础文本生成、结合MyBatisPlus的智能问答系统、以及流式响应和函数调用等高级特性。
1708 6
|
1月前
|
运维 Kubernetes 应用服务中间件
一文讲解kubernetes的gateway Api的功能、架构、部署、管理及使用
Gateway API是Kubernetes官方推出的下一代L4/L7网络网关标准,面向角色(基础设施商、运维、开发)、可移植、表达力强且高度可扩展。它通过GatewayClass、Gateway、HTTPRoute等资源实现权限分离与策略即代码,替代Ingress短板,已获Istio、Envoy、ASM等主流支持。
620 119
|
1月前
|
应用服务中间件 Shell nginx
最全的docker命令参数解释及命令用法
本文系统详解Docker核心命令,涵盖容器(run/exec/ps/start/stop等)、镜像(pull/build/push/rmi等)、网络、数据卷及全局参数,并配实操示例与可直接执行的命令,助初学者快速掌握Docker日常运维与开发应用。
871 129
|
1月前
|
人工智能 JavaScript Linux
OpenClaw 原版和汉化版windows 和Linux 下的部署实践
OpenClaw(原Clawdbot/Moltbot)是由彼得·斯坦伯格开发的开源个人AI代理,以“龙虾”为标识,口号“The AI that actually does things”。支持软件操作与长期记忆,2026年获Karpathy公开提及。提供中英文版本,基于TypeScript,可本地部署。
6053 131
|
22天前
|
Rust 安全 JavaScript
告别 `print()`!用 VS Code 调试器高效定位 Bug
本文手把手教你用VS Code调试器替代低效`print`:5步定位“越打折越贵”Bug,零代码侵入、实时查变量、支持条件断点与表达式监视。免费、高效、安全——调试本该如此简单!