Skip to content
格物致知
返回

Coding Agent 扩展体系深度对比

引言

在调研主流 Coding Agent 的过程中,我发现一个被严重低估的话题:这些工具的”扩展体系”之间差异巨大,但表面上都叫”Plugin”或”Extension”

Claude Code 有 Plugin,Gemini CLI 有 Extension,Antigravity 有 Workflows + Skills + Rules——三者功能重叠,但实现方式、设计哲学、能力边界都不一样。

这篇文章的目标是:基于官方文档(而非二手资料),把这三套体系讲清楚。


一、历史背景:后来者如何追赶?

Claude Code Plugin 体系随主产品同步推出(2025年2月)。

Gemini CLI Extensions 发布于 2025年10月。InfoQ 的正式报道中直接将其与”Claude Code Plugin”并列对标,X 上有用户问”和 Claude Code 的插件有什么区别”,Google 工程师亲自解释架构差异。这不是巧合——这是一次明显的竞争驱动型产品响应

结构对比:Gemini CLI Extension 从发布之初就支持 MCP + Commands + Skills,与 Claude Code Plugin 高度对齐。截至 2026 年 3 月,三者(含 Antigravity)已向同一终局高度收敛:MCP + Commands + Skills + Hooks + Agent 定义。


二、三方核心能力对比

数据来源:code.claude.com/docs/en/plugins(官方文档,2026-03 更新)、github.com/google-gemini/gemini-cli/docs/extensions(2026-03 更新)、antigravity.google/docs(v1.20.3, 2026-03-05)

功能Claude Code PluginGemini CLI ExtensionAntigravity
MCP Server.mcp.jsongemini-extension.json✅ MCP Store + 自定义配置
Slash Commands✅ Markdown 格式 + /create-* 系列TOML 格式 + 内嵌 Shell !{}Workflows(可互相调用)
Agent SkillsSKILL.md2.0:可编程平台SKILL.mdSKILL.md
Hooks(事件钩子)✅ 完整 GA(3 种类型)默认启用(2026-03 GA)
上下文文件CLAUDE.mdGEMINI.mdGEMINI.md + AGENTS.md(v1.20.3+)
Agent 读取 LSP 诊断.lsp.json plugingetDiagnostics tool(VS Code 原生)
自定义 Agent.agent.md✅ subagent(实验性,Markdown 定义)AGENTS.md(v1.20.3+)
AI 自动生成配置/create-hook/create-agent✅ Workflow 可由 AI 生成
图形化管理命令行命令行 + /hooks panel✅ GUI 面板
密钥安全存储✅ 系统密钥链
分发机制去中心化 git repogit repo + 官方 Gallery(100+ 扩展)N/A

三、Claude Code Plugin 深度解析

目录结构

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # manifest(name/version/author)
├── commands/                # Markdown 格式的用户命令
├── skills/                  # SKILL.md 模型自动调用
│   └── code-review/
│       └── SKILL.md
├── agents/                  # 自定义 Agent 定义
├── hooks/
│   └── hooks.json           # 事件钩子
├── .mcp.json
├── .lsp.json                # LSP Server(给 CLI agent 注入语言服务器能力)
└── settings.json            # 默认激活的 Agent

Hooks 机制

Claude Code 的 Hooks 让你在 agent loop 的特定时刻注入逻辑,控制 agent 行为:

事件触发时机典型用途
PreToolUse工具调用之前拦截危险操作、参数验证
PostToolUse工具调用之后自动 lint、格式化、记录日志
StopAgent 完成时发送通知、提交报告
NotificationAgent 发出通知时二次处理通知内容
// hooks/hooks.json 示例:写文件后自动 lint
{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          { "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }
        ]
      }
    ]
  }
}

三种 Hook 类型(2026-03 更新):

此外,Claude Code 新增了 /create-hook 命令,可以在对话中直接生成 hook 配置,无需手动编写 JSON。类似的还有 /create-agent/create-skill/create-prompt/create-instruction

Skills 2.0(2026-03 重大升级)

Claude Code 的 Skills 从「纯指令文件」进化为「可编程 agent 平台」:

SKILL.md 格式仍然保持跨工具兼容,但 Claude Code 的 Skills 执行能力已远超其他两家。

LSP Server(CLI 环境的独特补偿)

由于 Claude Code 是 CLI 工具、没有 IDE 环境,通过 .lsp.json plugin 主动接入语言服务器(gopls / pyright / rust-analyzer 等),给 agent 提供实时类型检查和代码符号引用——本质上是把 IDE 才有的语义理解能力「搬进」了终端。

对比注意:Antigravity 作为 VS Code fork 天然内置 LSP 支持(装语言插件即可),且 agent 可通过 getDiagnostics tool 读取编辑器诊断信息。Claude Code 的 .lsp.json 不是「独有优势」,而是「CLI 环境的必要补偿」。

Marketplace 模型

完全去中心化:任意 git repo 可成为 Marketplace,团队内部 repo 做私有 Marketplace,无需注册或审批。


四、Gemini CLI Extension 深度解析

目录结构

my-extension/
├── gemini-extension.json    # manifest(name/version/mcpServers/settings)
├── example.js               # MCP Server 实现(Node.js)
├── package.json
├── GEMINI.md                # 永久注入模型上下文
├── commands/                # TOML 格式命令
│   └── fs/
│       └── grep-code.toml
├── skills/
│   └── security-audit/
│       └── SKILL.md
└── hooks/                   # 2026-02 加入规范,2026-03 默认启用

TOML 命令格式的独特优势

Gemini CLI 的命令用 TOML 格式,支持内嵌 Shell 命令结果(!{cmd} 语法):

# commands/fs/grep-code.toml
prompt = """
Please summarize the findings for the pattern `{{args}}`.

Search Results:
!{grep -r {{args}} .}
"""

!{grep -r {{args}} .} 会在发送给模型之前,先在本地执行 grep 命令,把结果注入 prompt。这是 Claude Code Markdown 命令格式做不到的。

密钥安全存储(Gemini 独有)

// gemini-extension.json 中的 settings 字段
{
  "settings": [
    {
      "name": "API Key",
      "envVar": "MY_SERVICE_API_KEY",
      "sensitive": true   // 存入系统密钥链,不以明文保存
    }
  ]
}

用户安装扩展时,Gemini CLI 自动提示输入密钥,存入系统密钥链,以环境变量注入 MCP Server 进程。Claude Code Plugin 目前没有等价机制。

Hooks(已默认启用)

Gemini CLI Hooks 于 2026-02-17 正式加入规范,截至 2026-03 已默认启用(GA 状态),官方描述:

“Use this when you want to automate actions based on what the model is doing, like validating tool arguments, logging activity, or modifying the model’s input/output.”

功能覆盖与 Claude Code Hooks 相近(工具调用前后注入逻辑)。新增管理能力:


五、Antigravity 的扩展体系:不叫”Plugin”,但持续对齐

Antigravity 没有独立的”Plugin”或”Extension”概念,但通过四层体系 + AGENTS.md实现了同等功能:

AGENTS.md(v1.20.3 新增,2026-03-05)

Antigravity 从 v1.20.3 起支持从 AGENTS.md 文件读取 agent 配置和规则,与 GEMINI.md 并列。这意味着 Antigravity 正式加入了 .agents/ 目录标准阵营——GitHub Copilot、VS Code Agent Mode 同样采用此格式。

这使得跨工具复用 agent 定义成为可能:同一个 AGENTS.md + .agents/ 目录结构可以被 Antigravity、Copilot、VS Code 等多个工具读取。

层级一:Rules(持久化上下文约束)

对应 CLAUDE.md / GEMINI.md,但激活模式更精细:

激活模式触发条件
Manual在 Agent 输入框 @mention 手动触发
Always On每次会话自动注入
Model DecisionAgent 根据自然语言描述自行判断是否激活
Glob匹配特定文件时自动激活(如 *.ts 文件时注入 TypeScript 规范)

存储位置:Global(~/.gemini/GEMINI.md)+ Workspace(.agents/rules/

层级二:Workflows(多步骤自动化)

对应 Claude Code 的 Commands / Gemini CLI 的 TOML 命令,但有独特能力:

层级三:Skills(专项能力包)

基于开放标准 agentskills.ioSKILL.md 格式与 Claude/Gemini 一致——这是三款工具唯一完全统一的能力层。

存储位置:Workspace(.agents/skills/)+ Global(~/.gemini/antigravity/skills/

层级四:MCP Store(工具/数据集成)

图形化 MCP 管理面板,内置 35+ 官方集成:

类别代表集成
数据库Supabase / Neon / MongoDB / BigQuery / Spanner / Redis
云平台Firebase / Heroku / Netlify
项目管理Linear / Notion / Atlassian
代码 & AIGitHub / SonarQube / Perplexity Ask
设计 & 支付Figma / Stripe / PayPal

支持通过 “Manage MCP Servers” → “View raw config” 接入任意自定义 MCP server。


六、Antigravity 缺什么?

诚实说:缺 Hooks

Hooks 是 Claude Code 和 Gemini CLI 都已 GA 的核心能力——能在 agent 行为链路中注入质量门控(比如写完代码后自动跑 lint,或在读取敏感文件前拦截确认)。Antigravity 目前没有等价机制,这是真实的能力短板。

Antigravity 的补偿方式

但核心问题不变:无法拦截 agent 的工具调用行为


七、选什么用什么?一句话总结

场景推荐
企业级质量门控(写后自动 lint/test/安全扫描)Claude Code Hooks(3 种类型,含 agent hook)
高级 Skills 编排(sub-agent、tool 限制、model override)Claude Code Skills 2.0
CLI 环境需要语义代码理解Claude Code LSP Plugin
IDE 环境 + Agent 读取诊断Antigravity(VS Code 原生 LSP + getDiagnostics
需要密钥安全存储的扩展分发Gemini CLI Extension(sensitive 字段)
丰富的扩展生态 + 社区Gemini CLI Gallery(100+ 扩展)
快速低门槛的团队自动化工作流Antigravity Workflows
跨工具 Agent 定义复用.agents/ + AGENTS.md(Antigravity / Copilot / VS Code 通用)
通用能力沉淀(Skills),与工具无关三者均可,SKILL.md 格式相同

结语

三套体系在 2026 年 3 月已高度收敛:MCP + Commands + Skills + Hooks + Agent 定义,是所有工具都在迈向的标准结构。

真正的差距在深度和形态:Claude Code 用 .lsp.json 补偿了 CLI 缺少 IDE 的短板,同时以 3 种 Hooks 类型和 Skills 2.0 可编程平台建立了扩展体系的深度优势;Gemini CLI 以密钥链、Shell 内嵌命令和 100+ 扩展 Gallery 在广度上快速追赶,并开始支持实验性 subagent;Antigravity 作为 VS Code fork 天然拥有 LSP 和 GUI 优势,加上 AGENTS.md 实现了跨工具兼容。

三者之中,Claude Code 在扩展体系的深度上领先明显(Skills 2.0 的 sub-agent + forked context 是真正的代差);Gemini CLI 在生态广度上追赶最快;Antigravity 在易用性和跨工具兼容性上独有优势。

选工具的本质,是选最需要的那个”多了”。


数据来源:code.claude.com/docs/en/plugins(官方文档,2026-03 更新)、Claude Code v2.1.74 Release Notes(2026-03-12)、github.com/google-gemini/gemini-cli/docs/extensions(2026-03 更新)、geminicli.com/docs/changelogs(v0.33.0, 2026-03-11)、antigravity.google/docs(v1.20.3, 2026-03-05)、InfoQ 2025-10-18 Gemini CLI Extensions 报道

本文首发于 2026-02-24,2026-03-13 更新:新增 Claude Code Skills 2.0、agent hook 类型、/create-* 命令;更新 Gemini CLI Hooks 至 GA 状态、Gallery 100+ 扩展及实验性 subagent;更新 Antigravity AGENTS.md 支持;修正 LSP 对比(Antigravity 天然支持 VS Code LSP)。


分享文章:

上一篇
OpenCode vs Claude Code:深度拆解两大 Coding Agent 的底层共性与差异
下一篇
ZDR 的真相:当 Anthropic 追踪到「具体员工」时