什么是插件?
插件将技能——以及可选的规则、钩子、MCP 服务器和子 Agent——打包成一个单元,以便安装和复用。有关文件格式和插件可包含的内容,请参阅插件参考。 插件是贯穿云端 Devin 会话、Devin CLI 和 Devin Desktop 的共享自定义层:插件只需安装一次,其中的技能便可在你使用 Devin 的任何地方作为/<plugin>:<skill> 命令使用。插件可以在三个级别安装:
本页介绍 Web 应用侧的内容:Customize 页面、在各作用域下安装、建立索引、MCP,以及支撑这一切的托管清单。
Customize 页面
Plugins 位于 Customize 页面,可从侧边栏的 Customize 进入 (该页面取代了原先的 Settings → Plugins、Settings → Marketplace 和 Settings → Connections → MCP 服务器页面;旧链接会自动跳转) 。页面包含五个选项卡:- Plugins — 所有已安装的内容,按作用域分组,并可通过 Browse marketplace 安装更多内容。
- 技能 — Devin 按需加载的技能,来自已安装的 plugins 和你的代码仓库。
- MCPs — 为 Devin 提供内置工具之外能力的 MCP 服务器。详见下文 MCPs。
- 钩子 — 在 会话 中的特定时点自动运行的命令。详见下文 钩子。
- 规则 — 作用域内 会话 需遵循的长期指导。详见下文 规则。
.devin/config.json 中声明的技能、规则 和 plugins) ,请直接编辑该代码仓库中的文件。
谁能更改哪些内容:
- Personal — 任何人都可更改自己作用域内的内容。
- Organization — 具有组织设置访问权限的成员。
- Enterprise — 具有企业设置访问权限的成员。
安装插件
从 marketplace 安装
在 Plugins 选项卡中点击 Browse marketplace。marketplace 是一个统一的列表,其中既包含 Devin 官方 marketplace (CognitionAI/devin-marketplace,通常每个集成对应一个插件,例如 Linear、Notion、Datadog 或 Snowflake) ,也包含你的组织或企业自行添加的插件。每张卡片都提供一个安装菜单,列出你有写入权限的所有作用域,并显示该插件已安装在哪些位置 (“Installed for me”、“Installed at organization”……) 。 首次安装某个插件前,Devin 会显示一条安全提示:安装后,Devin 就能运行该插件的规则、钩子和 skills (若插件带有 MCP 服务器,还能通过它们访问外部数据) ,因此请仅在你信任该插件并已核实其来源的情况下继续。官方 marketplace 插件会有相应标识。 安装完成后,会弹出 toast 确认安装的作用域;如果该插件附带的 MCP 服务器需要凭据或授权,还会提供 Connect MCP,让你立即完成设置。 Enterprise admin 可以对所有组织隐藏官方 marketplace (Show official marketplace plugins 开关) ,也可以在 Marketplace availability 中控制组织能看到哪些 marketplace MCP 服务器。从代码仓库、.zip 文件或编辑器安装
Plugins 选项卡上的 Add plugin 菜单还支持另外三种来源,每种都可以安装到你有写入权限的任意作用域:
上传和创建的插件之后可以在其详情面板中编辑。删除插件会永久移除其文件——这些文件没有其他副本。请勿在插件文件中放置 secrets,请改用 secrets 引用。
通过 CLI
devin plugins install <source> 默认会将插件添加到你的个人作用域,因此它会随你一起在云端会话和你的其他设备上生效。传入 --local 则仅在当前机器上安装。参见 CLI 命令。
让 Devin 来做
在云端会话中,你可以让 Devin 把某项内容保存为个人 skill、Rule、钩子或 MCP 服务器,也可以让它帮你安装 plugin。Devin 会以卡片形式提出该变更,由你批准或拒绝;批准后的变更会进入你的个人作用域,并在后续 session 中生效。插件如何进入会话 (云端 ↔ 本地同步)
每个作用域背后都有一份存储在 Devin Cloud 中的托管清单 (参见清单) 。无论在哪里安装,都会写入该清单,而每个界面都会读取它:- 云端会话在启动时获取企业级、组织级和个人级清单,并将由此得到的插件安装到会话机器上,同时也会安装其克隆的代码仓库中声明的插件。
- 登录后,Devin CLI 和 Devin Desktop 会获取同样的清单,因此你在网页端安装的插件会出现在你的电脑上,而你在电脑上执行
devin plugins install安装的插件也会出现在你的下一个云端会话中。来自私有代码仓库的插件会使用你本地的 git 凭据获取,因此你本人需要拥有该仓库的访问权限。企业可以完全关闭 CLI 插件 (企业设置中的 Devin CLI plugins) 。 - 个人用户 (不属于任何组织) 只有个人作用域。
devin mcp login。同步插件并不意味着所有设备共享同一套凭据。
Indexing
Devin 会为每个作用域的插件维护一份索引:克隆每个插件的 source,读取其清单和内容,解析依赖,并应用治理规则。Customize 页面会展示索引结果——包括插件及其 skills、MCP、钩子和 Rules,以及被 policy 阻止的内容——状态行则显示每个作用域上一次建立索引的时间。- 触发条件 —— 安装、移除或编辑插件都会自动排入一次重新索引。向插件的 source 仓库推送 changes 后,可通过 Plugin settings → Reindex plugins 刷新索引。
- 运行过程中 —— 一次 run 可能处于 scheduled、queued、starting 或 indexing 状态。过于频繁的重新索引会被分散执行,上传 bundle 的保存操作可能需要稍等一会儿才会排队。插件 MCP 在其 configuration 建立索引后即可连接。
- 结果 —— 打开 Plugin settings(齿轮菜单)可查看上次建立索引的时间以及存在的 issue。刷新 failed 时,上一次成功的结果可能仍然可见;因此插件出现在 list 中并不代表最近一次刷新已成功。
- 仓库访问权限 —— 从某个代码仓库建立索引的插件内容,只会在通过 Git integration 拥有该仓库访问权限的组织中显示。若没有权限,该作用域的内容将不予显示,并提示 Plugin repos unauthorized;此时请在 Settings → Repositories 中授予该仓库权限。不予显示的作用域中的治理规则(其 forbid 项)仍然生效。
- network policy —— 索引任务运行在一台继承了你的组织会话 network policy 的 machine 上,因此插件 source 必须在该 policy 下可访问。
解决索引问题
- 在需要该插件的组织中打开 Customize → Plugins。选择其 Personal、Organization 或 企业 作用域,然后打开 Plugin settings,查看问题描述及其中指出的插件或作用域。
- 如果某次 run 处于计划、排队、启动或建立索引状态,请等待其完成。如果该插件从未建立索引,或其 source 自上次建立索引后发生了变化,请选择 Reindex plugins。
- 对于失败的 run 或缺失的内容,请参照下表对应的修复方法。保存或 commit 修正后,选择 Reindex plugins 并再次检查结果。修改共享清单或代码仓库权限可能需要 Admin 操作。
索引成功后,打开该插件的详情,确认预期的 技能、规则、钩子或 MCP 已出现。如果某个 MCP 仍需授权,请完成连接操作。要使用变更后的插件内容,请启动新 会话。如果 CLI 安装的版本已过期,请使用
devin plugins update 更新;在 Customize 中重新建立索引则会刷新网页端列表。使用 --local 完成的安装仅保留在该设备上。
如果索引持续失败,或某次 run 长时间停留在排队或建立索引状态而无进展,请联系支持团队,并提供组织和作用域、插件 source 与 ref、上次建立索引的时间、准确的错误信息,以及该问题的截图。
MCPs
MCP 服务器在 Customize 的 MCPs 选项卡中管理,同样支持上述三个作用域。该选项卡包含两类条目:- 来自插件 — 由已安装插件声明的 MCP 服务器。连接设置 (URL、transport、所需凭据) 归插件所有,以只读方式显示;但你仍可启用、停用、连接或卸载它。大多数官方 marketplace 插件都由一个 MCP 服务器构成,并可选附带 skills。
- 独立 — 单独安装的 MCP 服务器:自定义服务器 (Add custom MCP) 以及从旧版 MCP marketplace 安装的服务器,该 marketplace 仍可从此选项卡进入。
钩子
钩子是 Devin 在会话中的特定时机运行的命令,例如在某次 tool call 之前或之后。在“钩子”选项卡中点击 New hook,即可编辑该作用域的hooks.json;更改将在新会话中生效。请通过 plugin 环境变量 传递凭据,而非在钩子中直接传递。钩子以尽力而为的方式执行:某个钩子失败不会中断会话。
关于文件格式,请参阅钩子参考。
规则
规则 是对作用域内会话长期生效的指导,类似于团队规范。在 规则 选项卡上点击新建规则,即可在该作用域的rules/ 目录下添加一个 Markdown 文件。对于每个始终生效的规则文件,Devin 会自动将其开头最多 16 KiB 的内容纳入上下文;详情请参阅 AGENTS.md 指导。始终生效的规则应尽量简短;对于只在特定场合才需要的内容,建议改用技能。
有关文件格式和 trigger 选项,请参阅 规则 参考文档。
清单
每个作用域背后都有一份托管清单 —— 一个包含三个列表的 JSON 文档。Customize UI 会替你编辑它;在 Plugins 选项卡上通过 Plugin settings (齿轮图标) → Edit manifest 可以直接查看和编辑:requiredPlugins— 为作用域内的所有人安装 (会递归安装,包括其依赖的所有插件) 。从 UI 安装会在此处添加一个条目。optionalPlugins— 一个允许列表,用于认可插件但不自动安装;可用于为被禁条目设置例外。forbiddenPlugins— 一个拒绝列表,包含插件标识或 glob 模式。
上传的插件
上传的插件通过其 bundle ID 引用,其文件归属于上传到的那个作用域。不带bundleScope 的引用,会针对列出它的那份清单所属的文件进行解析:
requiredPlugins 中列出它,并带上 "bundleScope": "account",这样它就会针对企业的文件进行解析:
- 企业
requiredPlugins— 在每个组织中安装。 - 企业
optionalPlugins— 在每个组织的 Suggested 下显示,admin 可在此安装。在企业插件的详情面板中,Required organizations 会将其安装到你选择的组织中。
治理
这三个列表是各个层级——enterprise、organization、repository (.devin/config.json) 和 personal——通用的策略语言,且层级越高权威性越强:enterprise 可以强制要求某个 plugin,任何 organization、repo 或 user 都无法将其移除;也可以禁止某个 plugin,任何更低层级都无法将其恢复。被策略阻止的 plugin 会显示在 Plugins 选项卡的 Installed but blocked 下,其 skills 会在 session 开始时被跳过,并给出一条警告,指明是哪一方禁止的。
若要将 enterprise 限定为一组已批准的 plugin,请禁止 "*",并在 requiredPlugins/optionalPlugins 中列出已批准的 plugin (及其依赖) ;具体示例参见设置你的插件生态系统,完整规则参见继承与层级。
作用域与继承
- 独立账户拥有一份账户清单 (在 Customize 中显示为 Organization) ,以及每位成员的个人清单。
- Enterprise 拥有一份 enterprise 清单,由其下所有子组织继承;其下一层是各 organization 级别的清单,再下一层是个人清单。
更新如何生效
- 清单变更 (安装、移除、清单编辑) 会在下一个会话中生效,适用于所有界面。
- 插件内容变更——当插件跟踪的分支合并了更新后,会自动应用到新会话 (云端会话在启动时获取;CLI 在执行
devin plugins update时刷新) 。Customize 会在下一次建立索引后显示新内容——点击 Reindex plugins 可立即拉取。 - 正在运行的会话会保留其启动时加载的内容——更新绝不会在会话运行过程中生效。
固定 插件
以"owner/repo" 形式 (或带 ref) 编写的 插件 会跟随某个分支或标签,因此同一份清单在不同时间可能解析到不同的内容。Customize 会将这类条目标记为 Plugin source not pinned。若要将 插件 锁定到确切内容,请使用带 sha 的对象形式:
ref (分支或标签) 与 sha 互斥——同一个 条目 不能同时设置这两项。这些字段同样适用于 url 和 git-subdir 来源形式。上传的插件始终固定在你所上传的内容上。如果两个 作用域 将同一个插件固定到不同的 SHA,索引会报告 pin 冲突。
plugin环境变量
在requiredPlugins 或 optionalPlugins 条目中添加 env,即可在云端会话中配置命令钩子。凭据请引用 Devin Secrets;其他值可以使用字面量字符串。
env。
支持的引用方式
/ENTRY,例如 secret:org:AWS_CREDS/ACCESS_KEY_ID。
插件 MCP 配置以 ${NAME} 的形式引用 secrets;成员在该 server 的详情面板中填写对应值,配置中直接写入的任何字面值都会被剔除。
了解更多
- 插件参考 — 插件文件格式、清单、治理语义、CLI 命令
- 设置你的插件生态系统 — 构建并治理你自己的插件仓库
- 快速开始:团队 marketplace — 从零搭建共享插件仓库
- Skills — 插件打包的
SKILL.md步骤 - MCP 服务器 — 传输方式、自定义服务器、单个服务器的设置

