PyCharm 2026.2 智能体(Claude/Codex)集体罢工实录:从 ACP 运行时安装竞态到 npx 缓存的三层排雷指南

发布时间:2026/8/16 2:40:04
PyCharm 2026.2 智能体(Claude/Codex)集体罢工实录:从 ACP 运行时安装竞态到 npx 缓存的三层排雷指南 PyCharm 2026.2 智能体Claude/Codex集体罢工实录从 ACP 运行时安装竞态到 npx 缓存的三层排雷指南标签PyCharm·AI Agent·ACP·Claude·Codex·Node.js·npx·排错时间2026-08-15环境Windows 11 24H2 / PyCharm 2026.2.1 (Build #PY-262.9437.214) / 火绒安全关键路径%LOCALAPPDATA%\JetBrains\PyCharm2026.2\acp-agents一、现象大量 ACP 智能体无法初始化2026 年 8 月我把 PyCharm 升级到2026.2.1后发现 AI 聊天面板里大部分 AgentClaude Agent、Codex、Cline 等都无法使用报错集中在无法解析 Claude Agent 的智能体启动配置。图 1多个 ACP 智能体同时报错界面提示“智能体运行时可能已损坏”。图 2聚焦的 Claude Agent 启动配置解析失败红色提示“无法解析 ‘Claude Agent’ 的智能体启动配置”。官方提示让“清除已下载的 ACP 运行时并重启”但重启后问题反复出现。深入排查后发现这其实不是单一错误而是三层独立但先后暴露的问题。二、先给一张总览图图 3三层故障点。第一层是 Node.js 运行时安装竞态第二层是内置 AI Chat 的 LLM Profile 未绑定第三层是 npx 非交互安装被 cancel。三、第一层根因ACP 运行时安装竞态AccessDeniedException3.1 关键日志打开%LOCALAPPDATA%\JetBrains\PyCharm2026.2\log\acp\acp.log发现 PyCharm 在反复尝试安装 Node.js 运行时Installing Node.js v24.13.0 ... into C:\Users\love\AppData\Local\JetBrains\PyCharm2026.2\acp-agents\.runtimes\node\24.13.0 Runtime validation passed in 649ms: npx --version - 11.6.2 Failed to promote staged install ...24.13.0.incomplete - ...24.13.0 java.nio.file.AccessDeniedException Failed to clean up staging dir ...24.13.0.incomplete node.exe: 另一个程序正在使用此文件进程无法访问。同样的模式从 8 月 14 日 18:07 重复到 20:44死循环。3.2 根因解释PyCharm 2026.2 的 ACP runtime 安装逻辑大致是下载 Node.js v24.13.0 到.runtimes\node\24.13.0.incomplete启动node.exe跑npx --version做验证验证通过 → 把.incomplete目录重命名为正式目录24.13.0问题就出在第 3 步PyCharm 刚启动node.exe验证完子进程句柄还没释放就立即Files.move()重命名整个目录导致node.exe被自己占用 →AccessDeniedException。残留进程又把.incomplete\node.exe锁住后续清理也失败于是进入无限重试。关于杀软的误区我一开始怀疑是 Windows Defender / ESET / 火绒在扫描时锁了node.exe但用户机器实际装的是火绒安全而且该目录不在 Defender 保护范围内。重读日志后发现锁定文件的是PyCharm 自己刚启动的 node 子进程不是杀毒软件。所以“加杀软排除项”并不能根治这个问题。四、修复第一层手动补齐 Node.js 运行时既然 PyCharm 自己完成不了“下载 → 验证 → 重命名”这一步我直接帮它把解压好的 Node.js 放到正式目录让 PyCharm 重启后认为“已安装”跳过会失败的promoteStagedInstall。4.1 关闭 PyCharm 并清理残留以管理员 PowerShell 执行$targetC:\Users\love\AppData\Local\JetBrains\PyCharm2026.2\acp-agents\.runtimes; Get-Process -Name node -ErrorAction SilentlyContinue | Where-Object { $_.Path -like *JetBrains\PyCharm2026.2\acp-agents* } | Stop-Process -Force -ErrorAction SilentlyContinue; if (Test-Path $target) { Remove-Item $target -Recurse -Force }; if (-not (Test-Path $target)) { Write-Host OK: 已清理 } else { Write-Host WARN: 目录仍存在 }注意执行前请保存 PyCharm 中未保存的工作。4.2 手动安装 Node.js v24.13.0PyCharm 2026.2 指定要v24.13.0必须严格对应。可以从 Node.js 官网下载 zip 包解压到正式目录。$version24.13.0 $zipUrlhttps://nodejs.org/dist/v$version/node-v$version-win-x64.zip $zipPath$env:TEMP\node-v$version-win-x64.zip $targetDirC:\Users\love\AppData\Local\JetBrains\PyCharm2026.2\acp-agents\.runtimes\node\$version # 下载 Invoke-WebRequest -Uri $zipUrl -OutFile $zipPath -UseBasicParsing # 解压到临时目录。注意PowerShell 的 Expand-Archive 会漏掉 node_modules/npm/bin 下的部分文件 # 导致 npx 不可用建议用 7z 或 tar。 $tmp$env:TEMP\node-v$version-win-x64 if (Test-Path $tmp) { Remove-Item $tmp -Recurse -Force } D:\Scoop\apps\7zip\current\7z.exe x -y $zipPath -o$tmp # 移到 ACP 运行时目录 if (Test-Path $targetDir) { Remove-Item $targetDir -Recurse -Force } New-Item -ItemType Directory -Path $targetDir -Force | Out-Null Copy-Item -Path $tmp\node-v$version-win-x64\* -Destination $targetDir -Recurse -Force # 验证 $targetDir\node.exe --version $targetDir\npx.cmd --version验证通过会输出v24.13.0 11.6.24.3 重启 PyCharm手动补齐运行滞后重启 PyCharm。此时 PyCharm 发现24.13.0目录已存在会跳过下载/重命名直接进入 Agent 包初始化。五、第二层问题内置 AI 聊天的No available model重启后可能会遇到另一个新报错java.lang.IllegalArgumentException: No available model for ij.chat.request.new-chat-on-start feature at com.intellij.ml.llm.core.models.LlmProfileService.getLlmProfileIdV2(LlmProfileService.kt:162)5.1 这其实是另一个独立问题它属于JetBrains 内置 AI Assistant 聊天不是 ACP Agent 的问题。原因是 PyCharm 被配置为“启动/新建聊天时自动打开对话”但没有把具体模型绑定给Core features/Instant helpers。5.2 修复方法二选一方案 A绑定模型如果你想用内置 AI 聊天Settings → Tools → AI Assistant → Providers API keys登录 JetBrains AI或添加 OpenAI / Anthropic / 本地 Ollama 等 provider 的 API key在Core features选择一个具体模型如 Claude / GPT / qwen 等Instant helpers也选择同一个模型重启验证方案 B关掉启动时自动打开聊天最快在Settings里搜索chat on start/startup取消“启动时打开聊天”相关选项即可。六、第三层问题npx 非交互安装被取消第一层修好后Claude Agent 可以正常更新了但点击Codex等智能体时可能继续报错ACP process exited unexpectedly. Exit code: 1. npm warn Unknown env config min-release-age... npm error npx canceled due to missing packages and no YES option: [agentclientprotocol/codex-acp1.3.0]6.1 根因看%LOCALAPPDATA%\JetBrains\PyCharm2026.2\acp-agents\registry.json里的分发方式38 个 agent 中只有claude-acp是bundled: truePyCharm 安装时已解包其余37 个 agent 都走distribution.npx.packagePyCharm 启动时会执行npx agentclientprotocol/codex-acp1.3.0PyCharm 没给 npx 传-y而 npx 在非交互模式下如果没缓存会直接取消安装6.2 通用修复让 npx 自动确认在用户级.npmrc中加入yestrueAdd-Content -Path $env:USERPROFILE\.npmrc -Value yestrue -Encoding UTF8也可以直接编辑C:\Users\love\.npmrcregistryhttps://registry.npmmirror.com yestrue这样 npx 在首次下载任何 ACP agent 包时都会自动确认不再卡在no YES option。6.3 彻底修复预缓存全部 npx 包如果不想每次打开新 agent 都等它联网下载可以把剩余 npx 包一次性预缓存到PyCharm 实际使用的缓存目录注意不是全局 npm cache$rt C:\Users\love\AppData\Local\JetBrains\PyCharm2026.2\acp-agents\.runtimes\node\24.13.0 $env:npm_config_cache $rt\npm-cache # 示例预缓存 Codex $rt\npx.cmd -y agentclientprotocol/codex-acp1.3.0 --version # 同理预缓存其他非 bundled agent从 registry.json 中提取 package 名称关键细节PyCharm 启动 npx 时通过npm_config_cache把缓存指向...\.runtimes\node\24.13.0\npm-cache所以预缓存必须落到这个目录才会命中。完成这一步后首次打开这些 agent 就能秒开不再请求网络。七、验证Claude Agent 已正常更新全部修复后PyCharm 智能体面板显示智能体 claude-acp 已自动更新至 v0.66.0并进入认证方式选择界面JetBrains / API 密钥 / Anthropic Console。图 4修复成功Claude Agent 已自动更新至 v0.66.0并提示选择身份验证方式。这意味着“无法解析智能体启动配置”的问题已经彻底解决。后续只需要按自己的情况选择认证方式API 密钥或 JetBrains 账号即可。八、总结三层问题与对应修复层级报错关键字根因修复Layer 1AccessDeniedExceptionpromoteStagedInstallPyCharm 启动node.exe验证后句柄未释放就重命名目录手动把 Node.js v24.13.0 放到\.runtimes\node\24.13.0Layer 2No available model for ij.chat.request.new-chat-on-start内置 AI Chat 启动时没有绑定模型绑定模型给 Core features / Instant helpers或关闭 chat-on-startLayer 3npx canceled due to missing packages and no YES optionPyCharm 未传-ynpx 非交互模式下拒绝安装.npmrc加yestrue并预缓存 npx 包几个关键认知不是杀软问题。虽然一开始很容易怀疑 Defender / 火绒 / ESET 锁了node.exe但日志显示锁定文件的是 PyCharm 自己刚启动的 node 子进程属于 PyCharm 的安装竞态 bug。bundled 和非 bundled 的区别。Claude Agent 是 PyCharm 安装包自带的bundled: true所以修好后能自动更新Codex 等 37 个 agent 全都要走 npx 现下载。缓存目录很特别。PyCharm 运行时使用专属的npm-cache目录不是用户全局 npm cache预缓存时必须落对位置。三个报错是独立的。不要混为一谈运行时问题修好后后续可能还会遇到 LLM Profile 配置和 npx 下载问题要分层定位。九、如果还有问题如果按上述步骤操作后仍反复出现第一层AccessDeniedException说明这是 PyCharm 2026.2 的确定性竞态 bug而不是偶发建议升级到 PyCharm 2026.2 的最新补丁版或在 JetBrains YouTrack 提交日志附上acp.log中promoteStagedInstallAccessDeniedException的关键堆栈。十、参考链接JetBrains 官方文档 - Activate agents | AI Assistanthttps://www.jetbrains.com/help/ai-assistant/activate-agents.htmlJetBrains - Agent Client Protocol (ACP)https://www.jetbrains.com/acp/JetBrains Blog - ACP Agent Registry Is Livehttps://blog.jetbrains.com/ai/2026/01/acp-agent-registry/JetBrains 中文文档 - JetBrains IDE 中的 AI Assistanthttps://www.jetbrains.com/zh-cn/help/pycharm/junie.htmlWhat’s New in PyCharm 2026.2https://blog.jetbrains.com/pycharm/2026/07/what-s-new-in-pycharm-2026-2/Agent Client Protocol (ACP) 协议解析danilchenko.devhttps://www.danilchenko.dev/posts/agent-client-protocolJetBrains Support - AI Assistant authentication / LlmProfileService 相关问题讨论https://intellij-support.jetbrains.com/hc/en-us/community/posts/15623292044818/comments/15700327185042npm 官方文档 - npxhttps://docs.npmjs.com/cli/v11/commands/npxNode.js 官方下载页https://nodejs.org/en/download本文记录的是一次真实排错过程。如果你也遇到 PyCharm 2026.2 智能体无法使用的问题建议先按“Layer 1 → Layer 3 → Layer 2”的顺序排查避免把三个独立报错混为一谈。

相关新闻