Skip to content

插件使用可复用的技能MCP 服务器扩展 Deep Agents Code。市场(Marketplaces)提供目录,用于在项目或团队中查找和安装插件。Deep Agents Code 支持 Claude 和 Codex 风格的插件清单以及市场目录,如创建插件创建市场中所述。

WARNING

只从你信任的来源安装插件和市场。已启用的插件可以添加指令,并以你的用户权限启动 MCP 服务器进程。

以交互方式管理插件

要在 dcode 会话中浏览市场并管理插件:

  1. 运行 /plugins 打开插件管理器。
  2. 从其**市场(Marketplaces)**选项卡添加市场。支持的来源包括:
    • 采用 owner/repo 格式的 GitHub 仓库,可选后跟 @branch-or-tag
    • HTTPS Git 仓库 URL,可选后跟 #branch-or-tag
    • 提供市场 JSON 文件的 HTTPS URL。
    • 本地市场目录或 JSON 文件。
  3. 从市场安装插件。
  4. 运行 /reload 以激活新安装的插件技能和 MCP 服务器,而无需重启会话。

插件管理器还允许你启用、禁用和卸载已安装的插件。禁用插件会使其保持安装状态,但在你运行 /reload 或启动新会话后,其技能和 MCP 服务器会被排除在外。

移除市场会卸载其插件并删除受管理的缓存数据。当市场来自本地目录或文件时,Deep Agents Code 会保留原始来源。运行 /reload 或启动新会话,以将移除操作应用到活动会话中。

从命令行管理插件

对于脚本和终端管理,请使用 dcode plugin。插件 ID 使用 plugin-name@marketplace-name 格式。

bash
# 添加并检查市场
dcode plugin marketplace add acme/plugins
dcode plugin marketplace list

# 浏览并安装插件
dcode plugin list
dcode plugin install code-review@acme-tools

# 更改插件状态
dcode plugin disable code-review@acme-tools
dcode plugin enable code-review@acme-tools

# 移除插件或市场
dcode plugin uninstall code-review@acme-tools
dcode plugin marketplace remove acme-tools

plugin listplugin marketplace list 接受 --json。安装插件后,请在活动交互式会话中运行 /reload,或启动新会话。

使用插件技能和 MCP 服务器

插件技能是带命名空间的,以防止与项目、用户以及其他插件技能发生冲突。使用插件 ID 和技能路径来调用技能:

txt
/skill:plugin-name@marketplace-name:skill-name optional arguments

在交互式模式下,自动补全也匹配更短的 /plugin-name:skill-name 形式,并将其扩展为规范的 /skill: 命令。嵌套技能目录会将每个目录添加到命名空间。例如,来自 quality@acme-toolsskills/review/security/SKILL.md 会变成 /skill:quality@acme-tools:review:security

已启用的插件也可以贡献 MCP 服务器。当插件加载时,Deep Agents Code 会将这些服务器与你的常规 MCP 配置合并。使用 /mcp 检查可用的服务器和工具。

创建插件

Deep Agents Code 插件是包含一个或两个受支持组件的目录:

txt
my-plugin/
├── .claude-plugin/
│   └── plugin.json
├── skills/
│   └── review/
│       └── SKILL.md
└── .mcp.json

Deep Agents Code 也识别 .codex-plugin/plugin.json。当组件使用其默认位置时,清单是可选的。如果插件只包含一个技能,你可以将 SKILL.md 放在插件根目录,而不必创建 skills/

定义插件清单

当存在时,.claude-plugin/plugin.json.codex-plugin/plugin.json 必须包含 name。你还可以声明版本和自定义组件路径:

json
{
  "name": "my-plugin",
  "version": "1.0.0",
  "skills": "./skills",
  "mcpServers": "./.mcp.json"
}

skillsmcpServers 字段接受路径字符串或路径数组。mcpServers 也可以包含内联的 MCP 配置对象。每个组件路径都必须以 ./ 开头、位于插件根目录之内,并且不包含 ..

当未声明自定义路径时,Deep Agents Code 会发现:

  • skills/ 下的技能,或当不存在 skills/ 目录时位于根目录的 SKILL.md
  • 根目录 .mcp.json 文件中的 MCP 服务器。

添加技能

将每个技能组织为包含 SKILL.md 的目录:

txt
skills/
└── review/
    ├── SKILL.md
    └── checklist.md

使用与独立 Deep Agents Code 技能相同的技能格式。安装后的插件名称会成为技能命名空间。更多信息请参阅记忆与技能

添加 MCP 服务器

将标准的 MCP 服务器定义放在 .mcp.json 中,或在插件清单中用 mcpServers 内联声明。插件配置支持以下路径变量:

  • ${CLAUDE_PLUGIN_ROOT}${PLUGIN_ROOT}:已安装的插件目录。
  • ${CLAUDE_PLUGIN_DATA}${PLUGIN_DATA}:插件的可写数据目录。
  • ${CLAUDE_PROJECT_DIR}:当前活动项目目录。

例如:

json
{
  "mcpServers": {
    "review-tools": {
      "command": "python",
      "args": ["${CLAUDE_PLUGIN_ROOT}/server.py"],
      "env": {
        "CACHE_DIR": "${CLAUDE_PLUGIN_DATA}"
      }
    }
  }
}

受支持的 MCP 传输方式和字段请参阅 MCP 工具

创建市场

市场是一个 JSON 目录,包含名称和 plugins 数组。将其存储在市场根目录下的以下路径之一:

  • .claude-plugin/marketplace.json
  • .agents/plugins/marketplace.json
  • .agents/plugins/api_marketplace.json

以下市场包含一个存储在同一个仓库中的插件:

json
{
  "name": "acme-tools",
  "plugins": [
    {
      "name": "code-review",
      "source": "./plugins/code-review",
      "description": "Review code for correctness and maintainability"
    }
  ]
}

每个插件条目都需要 namesource。它还可以包含 descriptionauthor。本地源路径必须以 ./ 开头,并保持在市场根目录之内。当所有本地插件共享不同的基础目录时,设置 metadata.pluginRoot

市场条目也可以使用外部 Git 来源:

json
{
  "name": "acme-tools",
  "plugins": [
    {
      "name": "code-review",
      "source": {
        "source": "github",
        "repo": "acme/code-review-plugin",
        "ref": "v1.0.0"
      }
    },
    {
      "name": "release-tools",
      "source": {
        "source": "git-subdir",
        "url": "https://github.com/acme/developer-tools.git",
        "path": "./plugins/release-tools",
        "ref": "main"
      }
    }
  ]
}

受支持的外部插件来源类型为 githuburlgit-subdir。远程 URL 必须使用 HTTPS。作为直接 JSON URL 添加的市场不能包含本地相对插件来源,因为只下载目录文件本身。当目录引用了同一源树中的插件目录时,请使用 Git 仓库或本地目录。

通过添加本地市场的目录、安装一个插件,并启动新会话或运行 /reload 来测试本地市场:

bash
dcode plugin marketplace add ./my-marketplace
dcode plugin install code-review@acme-tools

另请参阅