Skip to main content
插件目前处于 封闭测试。如需申请访问权限,请联系 support@cognition.ai。其行为和配置可能会在后续版本中发生变化。
本指南将介绍如何搭建你自己的 插件生态系统:由你的组织维护的插件代码仓库,通过受管清单分发给每个 Devin 会话和 CLI 用户,并通过必填、可选和禁止插件来实现治理控制。 本指南附带两个模板代码仓库:
  • plugin-template — 用于编写单个插件 (或少量插件) 的入门模板。
  • team-marketplace-template — 完整的生态系统模式:一个插件 monorepo,以及一个 元插件,其清单定义了你的基线环境和策略。

1. 编写你的插件

插件就是一个包含 .devin-plugin/plugin.json 清单的目录;除此之外,其他内容都是可选的:
先 Fork plugin-template 作为起点,并参阅CLI 插件参考了解完整格式。请保持 AGENTS.md 简短——因为对所有安装了该插件的人来说,它都会在每次会话中占用 context。

2. 在本地验证和测试

这两个模板都附带了一个验证器 (node scripts/validate-template.mjs) 和一个 CI 工作流程,并且会在每次提交 PR 时运行该验证器。要进行实际测试,请通过 Devin CLI 从本地文件夹安装:

3. 将它们托管到同一个 代码仓库 中

把你所在组织的所有插件都放到同一个 代码仓库 里,作为子文件夹 (plugins/<name>/) ,并分别通过各自的 git-subdir source 引用。这个 代码仓库 可以保持为 private:云端会话会通过你的 Git 集成拉取它,而 CLI 用户则会使用自己的 git 凭据拉取 (因此他们也需要拥有该 代码仓库 的访问权限) 。 如需采用这种布局,请 fork team-marketplace-template——然后把其中元插件的 git-subdir URL 更新为指向你的 fork。在该模板中,元插件位于 代码仓库 根目录,因此该 代码仓库 本身就是可安装单元:要求 your-org/your-marketplace 会安装整个基线环境。

4. 使用元插件定义你的基线环境

元插件模式可将你的整个生态系统打包成一个可安装的单元。它本身几乎不包含任何内容,甚至可以完全没有内容——真正起作用的是它的清单。将它放在 代码仓库 根目录,这样 代码仓库 本身就是元插件:

5. 通过设置 → Marketplace 分发

Admin 在Marketplace 设置页面的受管清单中添加一个条目——参见插件市场指南
要求安装 marketplace 代码仓库 时,会安装其根元插件,而该插件会递归拉取整个基线环境。 现在,处于该作用域内的所有人都会自动获得基线环境。请慎重选择作用域:
  • 企业/account 清单会应用到云端会话 以及 已登录该账户的 CLI 用户。
  • 组织 清单仅适用于云端会话 —— CLI 没有组织上下文。

6. 治理

这三份列表构成了适用于各个层级 (受管清单、代码仓库 配置、插件清单) 的策略语言。优先级更高的层级生效——企业/账户高于组织,组织高于 代码仓库,代码仓库 高于 user——并且较低层级绝不能重新允许被较高层级禁止的内容,也不能禁止其强制要求的内容。 若要将账户限制为仅允许使用一组已批准的内容:
清单自身的必填/可选条目不受其自身 "*" 禁止规则的限制;除此之外均不例外,且更低层级也不能扩大这一豁免范围。该豁免仅适用于直接列出的条目——必填插件的传递依赖并不享受豁免——因此在锁定模式下,请将该元插件拉入的所有内容 (此处为 engineering-baselinesecurity-guardrails) 显式列出。完整语义请参阅治理规则

7. 演进

  • 合并到你的插件代码仓库默认分支就等于发布:新会话会自动拉取到更新——参见更新如何逐步推出
  • 团队通过 PR 向 marketplace 代码仓库添加插件;模板的 CI 会在每个 PR 上验证布局。
  • 现有 Claude 插件可直接安装 (Devin 会回退到 .claude-plugin/plugin.json) ,因此你可以在 optionalPlugins 中采用社区插件,而无需将它们纳入仓库。

当前限制

  • 插件会在云端会话、Devin CLI 和 Devin Desktop (使用 Devin Local 时) 中加载;不适用于经典 Cascade agent。
  • 子 Agent (agents/<name>.md or agents/<name>/AGENT.md) 仅会在本地 Devin Agent (CLI 和 Devin Desktop) 中加载,不会在云端会话中加载。
  • 钩子:云端会话会对除 SessionStartSessionEnd 之外的每个event运行 command 钩子;prompt 类型的钩子仅适用于 CLI/本地环境。
  • 由插件提供的 MCP 会在会话中加载,但目前尚不会显示在 MCP 设置界面中。
  • 组织级 清单不会下发给 CLI 用户;如需对 CLI 进行强制执行,请使用企业/账户清单。

了解更多