---
url: /antigravity/cli-plugins.md
description: 扩展 Agent 的能力、安装第三方扩展包、打包自定义工作流技能，并与模型上下文协议 (MCP) 服务端进行对接。
---

# 插件与技能 (Plugins & Skills)

扩展 Agent 的能力、安装第三方扩展包、打包自定义工作流技能，并与模型上下文协议 (MCP) 服务端进行对接。

## 可扩展性模型 (The extensibility model)

Antigravity CLI 旨在提供无限的自定义。您可以通过安装名为**插件 (Plugins)** 的结构化包模块，或创建名为**技能 (Skills)** 的本地化 Markdown 蓝图，来增强共享的 Agent 功能体系。

这些自定义项允许 Agent 访问专用的专有命令、调用特定领域的子 Agent，并参考自定义的样式限制。

## Antigravity 插件 (Antigravity plugins)

插件是具有命名空间的捆绑包，将自定义技能 (skills)、后台子 Agent (subagents)、Linting 规则、模型上下文协议 (MCP) 定义以及事件钩子 (hooks) 打包为一个单一的、可部署的资产。

### 插件文件系统结构

当您安装或导入插件时，CLI 会将捆绑包文件存放在您的全局配置路径中：

```text
~/.gemini/antigravity-cli/plugins/<plugin_name>/
```

一个符合规范的插件包含以下布局：

```text
~/.gemini/antigravity-cli/plugins/<plugin_name>/
├── plugin.json                 # 必需的包标记文件
├── mcp_config.json             # 可选的模型上下文协议服务端定义
├── hooks.json                  # 可选的工具前置/后置事件钩子
├── skills/                     # 可选的专用技能目录
├── agents/                     # 可选的子 Agent 定义模板
└── rules/                      # 可选的自定义代码库规则文件
```

### 通过 CLI 子命令管理插件

CLI 提供了 `plugin`（或复数 `plugins`）子命令管道来管理您的扩展：

* **列出已安装的插件**：显示当前活跃的包及其已加载的组件。
  ```bash
  agy plugin list
  ```
* **安装本地或远程插件**：将一个包目录存放并注册到您的本地配置文件中。
  ```bash
  agy plugin install /path/to/local/plugin
  ```
* **禁用/启用插件**：暂停插件的工具而不删除其资产。
  ```bash
  agy plugin disable <plugin_name>
  agy plugin enable <plugin_name>
  ```
* **卸载插件**：清除包目录并清理注册表。
  ```bash
  agy plugin uninstall <plugin_name>
  ```

## Agent 技能包 (Agent skills)

技能包是声明性的、人类可读的 Markdown 文件，概述了针对特定工程任务的明确指令协议、脚本和目标资源。

一旦注册，技能包会自动在 TUI 中转换为斜杠命令，允许您手动调用（例如，输入 `/refactor-ui`）。

### 创建本地工作空间技能包

要部署随 Git 仓库一起保留的特定工作空间技能包：

1. 在项目根目录下创建一个名为 `.agents/skills/` 的目录。
2. 在该目录下，起草一个带 `.md` 后缀的 Markdown 文件（如 `format-tests.md`）。
3. 定义技能包的 Frontmatter 元数据：
   ```yaml
   ---
   name: format-tests
   description: Standardize and re-format Python unittest assertions
   ---
   ```
4. 在元数据下方，为 Agent 编写明确的指令。当您在此目录中运行 `agy` 时，该技能包会被编译，并且 `/format-tests` 会在提示框中可用。

### 共享全局技能包

要在您工作站的所有工作空间之间共享技能包，请将目标 Markdown 文件放入您的全局配置路径中：

```text
~/.gemini/antigravity-cli/skills/
```

只要您在任何目录下启动 `agy`，该目录下的任何 Markdown 技能包都会被自动导入为全局斜杠命令。

## 管理钩子 (Managing hooks)

钩子 (Hooks) 在执行之前或之后拦截 Agent 的操作。它们对于运行自动化的预检或后置生成格式化（例如在写入文件后运行 `prettier`）非常有用。

钩子定义在插件的 `hooks.json` 中，或者配置在您的主 `settings.json` 文件中。您可以通过输入以下命令在 TUI 中检查所有已加载且活跃的钩子：

```text
/hooks
```

## 模型上下文协议 (MCP) (Model Context Protocol)

模型上下文协议是一个开放标准，使基础模型能够安全地与本地 API、文件解析器和自定义开发工具进行对接。

Antigravity CLI 支持本地进程和远程主机 MCP 服务端配置。

### 访问 MCP 管理器

在提示面板中输入 `/mcp` 并按 `Enter` 即可打开交互式的“MCP 管理器浮层 (MCP Manager Overlay)”。该面板允许您：

* 查看活跃、已断开连接或正在加载的服务端的实时状态环。
* 手动重新加载服务端配置或检查连接日志。

### 全局与工作空间服务端配置

与传统的配置不同，Antigravity 将 MCP 定义分离到专用的、稀疏的配置文件中：

* **全局服务端配置**：配置在 `~/.gemini/antigravity-cli/mcp_config.json` 中。
* **工作空间本地配置**：配置在您当前活跃的项目下的 `.agents/mcp_config.json` 中。

```json
{
  "mcpServers": {
    "sqlite-explorer": {
      "command": "node",
      "args": [
        "/usr/local/bin/sqlite-mcp-server.js"
      ],
      "env": {
        "SQLITE_DB_PATH": "/var/data/app.db"
      }
    }
  }
}
```

> \[!WARNING]
> **远程连接模式 (Remote Connection Schema)**：在声明远程基于 SSE 或 WebSocket 的 MCP 连接时，您必须定义 `serverUrl` 字段。不支持像 `url` 或 `httpUrl` 这样的旧字段。

## 下一步 (Next Steps)

了解如何从 Gemini CLI 迁移您现有的配置并排查连接异常：

* **从 Gemini CLI 迁移 (Migration from Gemini CLI)**：快速迁移您遗留的扩展与配置转换。
* **疑难解答 (Troubleshooting)**：解决终端钩子错误、锁定或网络故障。
* **权限与沙箱 (Permissions & Sandbox)**：在您的自定义插件和 MCP 服务端周围配置安全隔离环。
