背景与痛点
当前插件的 LLM 设置只支持两种 provider 模式:
OpenAI Compatible
Anthropic
这两种模式都需要在插件设置里单独填写 Base URL、API Key、Model 等信息,与 IDE 本身的 AI 配置是两套独立的凭证。
从 JetBrains 2025.3 起,IDE 原生支持通过 Agent Client Protocol (ACP) 在 ~/.jetbrains/acp.json 里接入外部 coding agent(如 OpenCode、Claude Code、Codex、Gemini CLI、Cursor 等)。很多用户已经在 IDE 中配好了 ACP agent 并登录了供应商账号,但插件的 commit message 生成仍然无法复用这套配置——必须在插件里再填一份 API Key,体验割裂,也存在以下问题:
- 重复配置:同一套供应商凭证要在 IDE 和插件里各配一遍。
- 无法跟随 agent 切换:用户在 AI Chat 里切换了 agent(例如从 OpenCode 切到 Claude Code),commit message 生成端不会跟着切换。
- 凭证暴露面变大:插件本地存储 API Key,而 ACP agent 通常已通过 OAuth/订阅/自有 key 完成 auth,无需插件再次持有明文密钥。
期望方案
在 LLM Settings 的 provider 下拉中新增一个模式,例如 ACP Agent:
- 在该模式下,插件不再直接发起 HTTP 请求,而是通过 ACP 协议把「根据 diff 生成 commit message」作为一个 prompt 发送给 IDE 中已配置的某个 ACP agent。
- 用户只需要在下拉中选择要使用的 ACP agent(IDE 已注册的那些),无需再填 Base URL / API Key。
- commit message 文本通过
session/prompt → session/update 流式回包获取,按现有 LLM 响应处理逻辑(去 think 标签等)走。
技术可行性
- ACP 协议基于 JSON-RPC over stdio(本地 agent)或 HTTP/WebSocket(远程 agent),消息体复用 MCP 类型,文本默认 Markdown。参考:https://agentclientprotocol.com/protocol/v1/schema
- JetBrains 平台从 2025.3 起内置 ACP client 能力(AI Assistant),插件理论上可以复用 IDE 的 ACP 会话基础设施,而不需要自己起 agent 子进程。
- 若担心跨平台 / 跨 IDE 版本兼容,可先只支持本地 stdio agent(覆盖绝大多数场景)。
收益
- 与 IDE AI 体验统一:一次配置,commit message 生成与 AI Chat 共用同一 agent。
- 减少凭证管理负担:无需在插件里持久化 LLM API Key。
- 顺应 JetBrains 2026 的 zero vendor lock-in 方向,让插件成为「任意 agent 可用」的 commit 助手。
参考资料
背景与痛点
当前插件的 LLM 设置只支持两种 provider 模式:
OpenAI CompatibleAnthropic这两种模式都需要在插件设置里单独填写 Base URL、API Key、Model 等信息,与 IDE 本身的 AI 配置是两套独立的凭证。
从 JetBrains 2025.3 起,IDE 原生支持通过 Agent Client Protocol (ACP) 在
~/.jetbrains/acp.json里接入外部 coding agent(如 OpenCode、Claude Code、Codex、Gemini CLI、Cursor 等)。很多用户已经在 IDE 中配好了 ACP agent 并登录了供应商账号,但插件的 commit message 生成仍然无法复用这套配置——必须在插件里再填一份 API Key,体验割裂,也存在以下问题:期望方案
在 LLM Settings 的 provider 下拉中新增一个模式,例如
ACP Agent:session/prompt→session/update流式回包获取,按现有 LLM 响应处理逻辑(去 think 标签等)走。技术可行性
收益
参考资料