6 6
7> 通过托管设置控制 Claude Code 在组织中每台机器上安装和允许的 plugins。7> 通过托管设置控制 Claude Code 在组织中每台机器上安装和允许的 plugins。
8 8
9托管设置让您决定 Claude Code 在组织中每台机器上安装和允许的 plugins。用户无法覆盖这些设置。您可以从 claude.ai 管理员控制台以[服务器托管设置](/docs/zh-CN/server-managed-settings)的形式或通过 MDM 或 `managed-settings.json` 文件以端点托管设置的形式提供这些设置。此页面上的大多数控制仅从托管设置生效。9托管设置让您决定 Claude Code 在组织中每台机器上安装和允许的 plugins。用户无法覆盖这些设置。您可以从 claude.ai 管理员控制台以[服务器托管设置](/docs/zh-CN/server-managed-settings.md)的形式或通过 MDM 或 `managed-settings.json` 文件以端点托管设置的形式提供这些设置。此页面上的大多数控制仅从托管设置生效。
10 10
11此页面适用于管理员,此处的设置管理 Claude Code。11此页面适用于管理员,此处的设置管理 Claude Code。
12 12
14>14>
15> 这些情况在其他页面上有介绍:15> 这些情况在其他页面上有介绍:
16>16>
17> * **为自己安装 plugins**:从[安装 plugins](/docs/zh-CN/plugins/install)开始17> * **为自己安装 plugins**:从[安装 plugins](/docs/zh-CN/plugins/install.md)开始
18> * **控制成员在 claude.ai 和 Cowork 中可以使用的 plugins**:请参阅 claude.com 上的[为您的组织管理 plugins](https://claude.com/docs/plugins/admin)18> * **控制成员在 claude.ai 和 Cowork 中可以使用的 plugins**:请参阅 claude.com 上的[为您的组织管理 plugins](https://claude.com/docs/plugins/admin)
19> * **将一个 plugin 同时推出到 claude.ai、Cowork 和 Claude Code**:请参阅 claude.com 上的[选择推出路线](https://claude.com/docs/plugins/org-rollout#choose-a-rollout-route)19> * **将一个 plugin 同时推出到 claude.ai、Cowork 和 Claude Code**:请参阅 claude.com 上的[选择推出路线](https://claude.com/docs/plugins/org-rollout#choose-a-rollout-route)
20> * **claude.ai 管理员设置中的 plugins 页面**:[**组织设置 > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory)为成员的 claude.ai 账户启用 plugins,这些会作为[同步的 plugins](/docs/zh-CN/plugins/loading#synced-plugins)到达 Claude Code。它不设置此页面上的任何键20> * **claude.ai 管理员设置中的 plugins 页面**:[**组织设置 > Plugins & skills**](https://claude.ai/admin-settings/skills?tab=inventory)为成员的 claude.ai 账户启用 plugins,这些会作为[同步的 plugins](/docs/zh-CN/plugins/loading.md#synced-plugins)到达 Claude Code。它不设置此页面上的任何键
21 21
22这些部分遵循大多数推出采取的顺序:为所有人或按存储库[要求 plugins](#pre-install-and-require-plugins),[为容器和 CI 提供种子](#seed-containers-and-ci),[限制](#restrict-what-users-can-install)用户可以自己添加的内容,[设置更新策略](#set-update-policy),然后[审计](#audit-and-review)已安装的内容。要在一个地方查看每个策略键,请参阅[控制矩阵](#control-matrix)。22这些部分遵循大多数推出采取的顺序:为所有人或按存储库[要求 plugins](#pre-install-and-require-plugins),[为容器和 CI 提供种子](#seed-containers-and-ci),[限制](#restrict-what-users-can-install)用户可以自己添加的内容,[设置更新策略](#set-update-policy),然后[审计](#audit-and-review)已安装的内容。要在一个地方查看每个策略键,请参阅[控制矩阵](#control-matrix)。
23 23
25 25
26市场是 Claude Code 从 git 存储库、URL 或本地路径获取的插件目录。在机器上注册市场后,Claude Code 可以从中安装插件。26市场是 Claude Code 从 git 存储库、URL 或本地路径获取的插件目录。在机器上注册市场后,Claude Code 可以从中安装插件。
27 27
28要为整个车队安装插件,请在[托管设置](/docs/zh-CN/managed-settings)、策略文件或组织中每台机器读取的服务器交付策略中一起设置两个键:`extraKnownMarketplaces` 在每台机器上注册市场,`enabledPlugins` 命名要从中安装和启用的插件。[选择交付机制](#choose-a-delivery-mechanism)涵盖托管设置如何到达每台机器。28要为整个车队安装插件,请在[托管设置](/docs/zh-CN/managed-settings.md)、策略文件或组织中每台机器读取的服务器交付策略中一起设置两个键:`extraKnownMarketplaces` 在每台机器上注册市场,`enabledPlugins` 命名要从中安装和启用的插件。[选择交付机制](#choose-a-delivery-mechanism)涵盖托管设置如何到达每台机器。
29 29
30### 选择交付机制30### 选择交付机制
31 31
32托管设置通过以下三种交付机制之一到达机器:32托管设置通过以下三种交付机制之一到达机器:
33 33
34* **服务器托管设置**:在[**组织设置 > Claude Code > 托管设置**](https://claude.ai/admin-settings/claude-code)处将插件键设置为 JSON。需要在您的 Claude 组织中具有[所有者角色](/docs/zh-CN/server-managed-settings#access-control)。云会话在安装插件之前获取这些设置。34* **服务器托管设置**:在[**组织设置 > Claude Code > 托管设置**](https://claude.ai/admin-settings/claude-code)处将插件键设置为 JSON。需要在您的 Claude 组织中具有[所有者角色](/docs/zh-CN/server-managed-settings.md#access-control)。云会话在安装插件之前获取这些设置。
35* **MDM 策略**:在 macOS 上,交付一个 plist,其顶级键是设置键。在 Windows 上,将整个 JSON 文档作为字符串存储在注册表值中。plist 域和注册表键在[每个机制存储策略的位置](/docs/zh-CN/managed-settings#where-each-mechanism-stores-the-policy)中。35* **MDM 策略**:在 macOS 上,交付一个 plist,其顶级键是设置键。在 Windows 上,将整个 JSON 文档作为字符串存储在注册表值中。plist 域和注册表键在[每个机制存储策略的位置](/docs/zh-CN/managed-settings.md#where-each-mechanism-stores-the-policy)中。
36* **托管设置文件**:在平台的系统路径处放置 `managed-settings.json`。您也可以将文件添加到其旁边的 `managed-settings.d/` 放入目录。每个平台的文件路径在[每个机制存储策略的位置](/docs/zh-CN/managed-settings#where-each-mechanism-stores-the-policy)中,放入合并规则在[跨团队拆分基于文件的策略](/docs/zh-CN/managed-settings#split-a-file-based-policy-across-teams)中。36* **托管设置文件**:在平台的系统路径处放置 `managed-settings.json`。您也可以将文件添加到其旁边的 `managed-settings.d/` 放入目录。每个平台的文件路径在[每个机制存储策略的位置](/docs/zh-CN/managed-settings.md#where-each-mechanism-stores-the-policy)中,放入合并规则在[跨团队拆分基于文件的策略](/docs/zh-CN/managed-settings.md#split-a-file-based-policy-across-teams)中。
37 37
38如果您在 claude.ai 上有 Claude for Teams 或 Enterprise 组织,并且您的设备不都在 MDM 下,请使用服务器托管设置。否则使用 MDM 策略或托管设置文件。有关权衡,请参阅[在服务器托管和端点托管设置之间选择](/docs/zh-CN/server-managed-settings#choose-between-server-managed-and-endpoint-managed-settings)。38如果您在 claude.ai 上有 Claude for Teams 或 Enterprise 组织,并且您的设备不都在 MDM 下,请使用服务器托管设置。否则使用 MDM 策略或托管设置文件。有关权衡,请参阅[在服务器托管和端点托管设置之间选择](/docs/zh-CN/server-managed-settings.md#choose-between-server-managed-and-endpoint-managed-settings)。
39 39
40#### 哪个托管源在机器上应用40#### 哪个托管源在机器上应用
41 41
42默认情况下,这三个源中只有一个在机器上应用。Claude Code 使用首先交付策略键的源,首先检查服务器托管设置,然后是 MDM 策略,然后是托管设置文件。如果服务器托管设置交付甚至一个不相关的策略键,Claude Code 会忽略该机器上 MDM 策略或托管设置文件中的插件键,除了[它从每个源读取的键](/docs/zh-CN/managed-settings#keys-read-from-every-admin-source)。42默认情况下,这三个源中只有一个在机器上应用。Claude Code 使用首先交付策略键的源,首先检查服务器托管设置,然后是 MDM 策略,然后是托管设置文件。如果服务器托管设置交付甚至一个不相关的策略键,Claude Code 会忽略该机器上 MDM 策略或托管设置文件中的插件键,除了[它从每个源读取的键](/docs/zh-CN/managed-settings.md#keys-read-from-every-admin-source)。
43 43
44要改为应用每个源,请将[`managedSourcesBehavior`](/docs/zh-CN/managed-settings#compose-every-managed-source)设置为 `"merge"`。44要改为应用每个源,请将[`managedSourcesBehavior`](/docs/zh-CN/managed-settings#compose-every-managed-source)设置为 `"merge"`。
45 45
46[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings#how-claude-code-combines-managed-sources)也在两种模式中列出 Claude Code 从每个源读取的键。46[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings.md#how-claude-code-combines-managed-sources)也在两种模式中列出 Claude Code 从每个源读取的键。
47 47
48### 要求市场及其插件48### 要求市场及其插件
49 49
71为您的市场调整 `autoUpdate` 和 `source` 字段:71为您的市场调整 `autoUpdate` 和 `source` 字段:
72 72
73* **`autoUpdate`**:`true` 使市场及其插件在后台刷新,`false` 关闭它。请参阅[设置更新策略](#set-update-policy)。73* **`autoUpdate`**:`true` 使市场及其插件在后台刷新,`false` 关闭它。请参阅[设置更新策略](#set-update-policy)。
74* **`source`**:`github` 是几种源类型之一。`git` 源为 GitLab 或内部主机采用 `url`,`url` 源采用托管 `marketplace.json` 的地址。每个源形状在[市场参考](/docs/zh-CN/plugins/marketplace-reference)中。74* **`source`**:`github` 是几种源类型之一。`git` 源为 GitLab 或内部主机采用 `url`,`url` 源采用托管 `marketplace.json` 的地址。每个源形状在[市场参考](/docs/zh-CN/plugins/marketplace-reference.md)中。
75 75
76如果市场是私有 git 存储库,每个用户都需要对其有读取权限。git 市场的克隆在用户的机器上使用 git 运行,使用存储的凭证且无提示。对于没有 git 主机账户的用户,请改用[播种](#seed-containers-and-ci)。76如果市场是私有 git 存储库,每个用户都需要对其有读取权限。git 市场的克隆在用户的机器上使用 git 运行,使用存储的凭证且无提示。对于没有 git 主机账户的用户,请改用[播种](#seed-containers-and-ci)。
77 77
78托管条目也会覆盖来自另一个源的同名市场条目或 `--plugin-dir` 副本:78托管条目也会覆盖来自另一个源的同名市场条目或 `--plugin-dir` 副本:
79 79
80* **市场**:托管市场条目替换具有相同名称的较低优先级条目,两个条目的字段不合并。80* **市场**:托管市场条目替换具有相同名称的较低优先级条目,两个条目的字段不合并。
81* **`--plugin-dir` 副本**:`--plugin-dir` 为一个会话从本地目录加载插件。有关当该副本的名称与您的托管 `enabledPlugins` 命名的插件匹配时会发生什么,请参阅[名称冲突](/docs/zh-CN/plugins/loading#name-conflicts)。81* **`--plugin-dir` 副本**:`--plugin-dir` 为一个会话从本地目录加载插件。有关当该副本的名称与您的托管 `enabledPlugins` 命名的插件匹配时会发生什么,请参阅[名称冲突](/docs/zh-CN/plugins/loading.md#name-conflicts)。
82 82
83Anthropic 的官方市场 `claude-plugins-official` 当 `enabledPlugins` 将其一个插件设置为 `true` 时不需要 `extraKnownMarketplaces` 条目。该 `name@claude-plugins-official` 条目在这些键应用的任何地方声明市场。如果您不启用其任何插件但仍想在每台机器上注册它,请给它一个显式条目,如[允许官方市场和您自己的](#allow-the-official-marketplace-and-your-own)所做的那样。83Anthropic 的官方市场 `claude-plugins-official` 当 `enabledPlugins` 将其一个插件设置为 `true` 时不需要 `extraKnownMarketplaces` 条目。该 `name@claude-plugins-official` 条目在这些键应用的任何地方声明市场。如果您不启用其任何插件但仍想在每台机器上注册它,请给它一个显式条目,如[允许官方市场和您自己的](#allow-the-official-marketplace-and-your-own)所做的那样。
84 84
86 86
87要覆盖一个存储库的贡献者而不是整个车队,请在该存储库的 `.claude/settings.json` 中设置 `extraKnownMarketplaces` 和 `enabledPlugins`。`extraKnownMarketplaces` 条目仅在贡献者已信任的文件夹中应用,在不受信任的文件夹中 Claude Code 会无声地忽略它们:87要覆盖一个存储库的贡献者而不是整个车队,请在该存储库的 `.claude/settings.json` 中设置 `extraKnownMarketplaces` 和 `enabledPlugins`。`extraKnownMarketplaces` 条目仅在贡献者已信任的文件夹中应用,在不受信任的文件夹中 Claude Code 会无声地忽略它们:
88 88
89* **交互式会话**:Claude Code 仅在贡献者接受该文件夹的[工作区信任对话](/docs/zh-CN/permissions#what-runs-before-you-trust-a-folder)后注册市场。89* **交互式会话**:Claude Code 仅在贡献者接受该文件夹的[工作区信任对话](/docs/zh-CN/permissions.md#what-runs-before-you-trust-a-folder)后注册市场。
90* **[非交互式 `-p` 运行](/docs/zh-CN/headless)** :条目仅在贡献者已交互式接受其信任的文件夹中应用,或您在 `~/.claude.json` 中设置其 `hasTrustDialogAccepted` 标志的文件夹中应用。90* **[非交互式 `-p` 运行](/docs/zh-CN/headless)** :条目仅在贡献者已交互式接受其信任的文件夹中应用,或您在 `~/.claude.json` 中设置其 `hasTrustDialogAccepted` 标志的文件夹中应用。
91 91
92市场按相对路径列出的插件在存储库的 `extraKnownMarketplaces` 条目应用后从市场副本加载。市场条目指向外部源(例如插件自己的 GitHub 存储库)的插件不会仅从存储库的设置安装。每个贡献者看到 `Plugin "<name>" is enabled in project settings but isn't installed`,直到他们运行 `claude plugin install <name>@<marketplace> --scope project`,如[安装插件](/docs/zh-CN/plugins/install)所述。92市场按相对路径列出的插件在存储库的 `extraKnownMarketplaces` 条目应用后从市场副本加载。市场条目指向外部源(例如插件自己的 GitHub 存储库)的插件不会仅从存储库的设置安装。每个贡献者看到 `Plugin "<name>" is enabled in project settings but isn't installed`,直到他们运行 `claude plugin install <name>@<marketplace> --scope project`,如[安装插件](/docs/zh-CN/plugins/install.md)所述。
93 93
94如果您使用带有相对路径的本地 `directory` 或 `file` 源,路径相对于您的存储库的主检出解析。当您从 git worktree 运行 Claude Code 时,路径仍指向主检出,因此所有 worktree 共享相同的市场位置。94如果您使用带有相对路径的本地 `directory` 或 `file` 源,路径相对于您的存储库的主检出解析。当您从 git worktree 运行 Claude Code 时,路径仍指向主检出,因此所有 worktree 共享相同的市场位置。
95 95
96要推出具有依赖关系的插件包,请将包插件放在 `enabledPlugins` 中,如[插件依赖关系](/docs/zh-CN/plugins/dependencies)所述。96要推出具有依赖关系的插件包,请将包插件放在 `enabledPlugins` 中,如[插件依赖关系](/docs/zh-CN/plugins/dependencies.md)所述。
97 97
98### 每个表面何时应用插件键98### 每个表面何时应用插件键
99 99
100该表显示每种 Claude Code 会话何时从托管设置和存储库的 `.claude/settings.json` 应用 `extraKnownMarketplaces` 和 `enabledPlugins`。对于 Desktop 应用和 IDE 扩展,请参阅[安装插件](/docs/zh-CN/plugins/install#install-a-plugin)。100该表显示每种 Claude Code 会话何时从托管设置和存储库的 `.claude/settings.json` 应用 `extraKnownMarketplaces` 和 `enabledPlugins`。对于 Desktop 应用和 IDE 扩展,请参阅[安装插件](/docs/zh-CN/plugins/install.md#install-a-plugin)。
101 101
102| 表面 | 托管 `extraKnownMarketplaces` 和 `enabledPlugins` | 存储库 `.claude/settings.json` |102| 表面 | 托管 `extraKnownMarketplaces` 和 `enabledPlugins` | 存储库 `.claude/settings.json` |
103| :- | :- | :- |103| :- | :- | :- |
104| 终端,交互式 | 在接收设置的每台机器上的会话开始时应用 | `extraKnownMarketplaces` 在信任后应用;`enabledPlugins` 在会话开始时应用 |104| 终端,交互式 | 在接收设置的每台机器上的会话开始时应用 | `extraKnownMarketplaces` 在信任后应用;`enabledPlugins` 在会话开始时应用 |
105| `-p` 和 CI | 在会话开始时应用,安装在后台运行 | 仅在受信任的文件夹中的 `extraKnownMarketplaces`;`enabledPlugins` 应用 |105| `-p` 和 CI | 在会话开始时应用,安装在后台运行 | 仅在受信任的文件夹中的 `extraKnownMarketplaces`;`enabledPlugins` 应用 |
106| 云会话 | 在 Anthropic 托管的环境中,仅服务器托管设置到达会话,它在安装插件之前等待它们。MDM 策略和托管设置文件保留在用户的机器上。对于自托管环境,请参阅[策略应用的位置和时间](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies) | 请参阅[安装插件](/docs/zh-CN/plugins/install#install-a-plugin)下的**云会话**选项卡 |106| 云会话 | 在 Anthropic 托管的环境中,仅服务器托管设置到达会话,它在安装插件之前等待它们。MDM 策略和托管设置文件保留在用户的机器上。对于自托管环境,请参阅[策略应用的位置和时间](/docs/zh-CN/managed-settings.md#where-and-when-a-policy-applies) | 请参阅[安装插件](/docs/zh-CN/plugins/install.md#install-a-plugin)下的**云会话**选项卡 |
107 107
108在 `-p` 或 CI 运行中,市场和插件在后台安装,因此插件可能在第一轮中丢失。设置 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL=1` 使运行在其第一个查询之前等待安装。108在 `-p` 或 CI 运行中,市场和插件在后台安装,因此插件可能在第一轮中丢失。设置 `CLAUDE_CODE_SYNC_PLUGIN_INSTALL=1` 使运行在其第一个查询之前等待安装。
109 109
152* **更新和删除失败**:`claude plugin marketplace update <name>` 和在播种市场上不带 `--scope` 的 `remove` 失败,并显示命名播种目录的消息。152* **更新和删除失败**:`claude plugin marketplace update <name>` 和在播种市场上不带 `--scope` 的 `remove` 失败,并显示命名播种目录的消息。
153* **策略仍然适用**:[允许列表和阻止列表](#restrict-what-users-can-install)也检查播种市场的记录源。允许您构建播种的源。153* **策略仍然适用**:[允许列表和阻止列表](#restrict-what-users-can-install)也检查播种市场的记录源。允许您构建播种的源。
154 154
155对于没有出站 git 访问的车队,将播种与共享挂载上的 `directory` 或 `file` 市场源结合。也设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`,这也关闭[插件自动更新](/docs/zh-CN/plugins/loading#when-auto-update-runs)。如果代理可用,请参阅[代理配置](/docs/zh-CN/network-config#proxy-configuration)了解要设置的变量。155对于没有出站 git 访问的车队,将播种与共享挂载上的 `directory` 或 `file` 市场源结合。也设置 `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1`,这也关闭[插件自动更新](/docs/zh-CN/plugins/loading.md#when-auto-update-runs)。如果代理可用,请参阅[代理配置](/docs/zh-CN/network-config.md#proxy-configuration)了解要设置的变量。
156 156
157## 限制用户可以安装的内容157## 限制用户可以安装的内容
158 158
167 167
168两个列表的执行位置取决于您在哪里设置它们:168两个列表的执行位置取决于您在哪里设置它们:
169 169
170* **claude.ai 管理控制台**:Claude Code 在[读取服务器托管设置](/docs/zh-CN/managed-settings#where-and-when-a-policy-applies)的会话中执行两个列表。claude.ai 也在您组织中的任何人从 git 存储库在 claude.ai 上添加新市场,或从 Claude Desktop 应用中 Code 选项卡之外的**自定义**添加新市场时检查它们。这涵盖成员为自己的账户添加的市场和在[**组织设置 > 插件**](https://claude.ai/admin-settings/plugins)下为整个组织添加的市场。claude.ai 拒绝允许列表不允许或阻止列表命名的存储库。它不重新检查在您设置列表之前在任一位置添加的市场,也不检查上传的插件。170* **claude.ai 管理控制台**:Claude Code 在[读取服务器托管设置](/docs/zh-CN/managed-settings.md#where-and-when-a-policy-applies)的会话中执行两个列表。claude.ai 也在您组织中的任何人从 git 存储库在 claude.ai 上添加新市场,或从 Claude Desktop 应用中 Code 选项卡之外的**自定义**添加新市场时检查它们。这涵盖成员为自己的账户添加的市场和在[**组织设置 > 插件**](https://claude.ai/admin-settings/plugins)下为整个组织添加的市场。claude.ai 拒绝允许列表不允许或阻止列表命名的存储库。它不重新检查在您设置列表之前在任一位置添加的市场,也不检查上传的插件。
171* **托管设置文件、OS 级策略或其他托管源**:Claude Code 在读取该源的地方执行两个列表。claude.ai 不读取它。171* **托管设置文件、OS 级策略或其他托管源**:Claude Code 在读取该源的地方执行两个列表。claude.ai 不读取它。
172 172
173虽然设置了任何允许列表,或阻止列表命名除[`skills-dir`](#blocklist-with-blockedmarketplaces)之外的任何源,Claude Code 找不到的市场的插件不加载。`/plugin` 为其显示策略错误而不是未找到错误。常见情况是市场的陈旧 `enabledPlugins` 条目,没有人注册。173虽然设置了任何允许列表,或阻止列表命名除[`skills-dir`](#blocklist-with-blockedmarketplaces)之外的任何源,Claude Code 找不到的市场的插件不加载。`/plugin` 为其显示策略错误而不是未找到错误。常见情况是市场的陈旧 `enabledPlugins` 条目,没有人注册。
180| :- | :- | :- |180| :- | :- | :- |
181| `strictKnownMarketplaces` | 市场源的允许列表。`[]` 阻止每个源,包括官方市场。别名:`allowedMarketplaces` | 不注册市场、限制允许市场内的条目或阻止 `--plugin-dir` |181| `strictKnownMarketplaces` | 市场源的允许列表。`[]` 阻止每个源,包括官方市场。别名:`allowedMarketplaces` | 不注册市场、限制允许市场内的条目或阻止 `--plugin-dir` |
182| `blockedMarketplaces` | 市场源的阻止列表,在允许列表之前检查 | 不阻止已从不匹配的源注册的市场 |182| `blockedMarketplaces` | 市场源的阻止列表,在允许列表之前检查 | 不阻止已从不匹配的源注册的市场 |
183| `syncClaudeAiPlugins` | 设置 `false` 以停止 Claude Code 下载和加载为每个用户账户[从 claude.ai 同步](/docs/zh-CN/plugins/loading#synced-plugins)的插件。需要 Claude Code v2.1.273 或更高版本 | 不关闭一个同步插件。为此,在[`enabledPlugins`](/docs/zh-CN/settings-reference#enabledplugins)中设置 `"<name>@synced": false` |183| `syncClaudeAiPlugins` | 设置 `false` 以停止 Claude Code 下载和加载为每个用户账户[从 claude.ai 同步](/docs/zh-CN/plugins/loading.md#synced-plugins)的插件。需要 Claude Code v2.1.273 或更高版本 | 不关闭一个同步插件。为此,在[`enabledPlugins`](/docs/zh-CN/settings-reference#enabledplugins)中设置 `"<name>@synced": false` |
184| `enabledPlugins` | `true` 强制启用,`false` 在每个范围内阻止并隐藏插件 | 不安装其市场未注册或不允许的插件 |184| `enabledPlugins` | `true` 强制启用,`false` 在每个范围内阻止并隐藏插件 | 不安装其市场未注册或不允许的插件 |
185| `disableSideloadFlags` | 拒绝 `--plugin-dir`、`--plugin-url`、`--agents`、Agent SDK `plugins` 选项和非 SDK `--mcp-config` 在启动时,并以相同方式拒绝[`CLAUDE_CODE_PLUGIN_DIRS`](/docs/zh-CN/env-vars#variables)变量中命名的文件夹 | 不限制 `.mcp.json`、`claude mcp add` 或 SDK 提供的服务器。将其与[`allowedMcpServers`](/docs/zh-CN/managed-mcp)配对 |185| `disableSideloadFlags` | 拒绝 `--plugin-dir`、`--plugin-url`、`--agents`、Agent SDK `plugins` 选项和非 SDK `--mcp-config` 在启动时,并以相同方式拒绝[`CLAUDE_CODE_PLUGIN_DIRS`](/docs/zh-CN/env-vars#variables)变量中命名的文件夹 | 不限制 `.mcp.json`、`claude mcp add` 或 SDK 提供的服务器。将其与[`allowedMcpServers`](/docs/zh-CN/managed-mcp)配对 |
186| `disableCommandPluginSources` | 阻止具有 `command` 源的插件安装、更新或加载。`command` 源是其插件目录通过在机器上运行命令产生的源。未设置时,它采用 `allowManagedHooksOnly` 的值 | 不影响其他源类型 |186| `disableCommandPluginSources` | 阻止具有 `command` 源的插件安装、更新或加载。`command` 源是其插件目录通过在机器上运行命令产生的源。未设置时,它采用 `allowManagedHooksOnly` 的值 | 不影响其他源类型 |
187| `allowManagedHooksOnly` | 限制哪些 hooks 运行。请参阅[`allowManagedHooksOnly`](/docs/zh-CN/settings-reference#allowmanagedhooksonly) | 不信任用户自己启用的插件中的 hooks |187| `allowManagedHooksOnly` | 限制哪些 hooks 运行。请参阅[`allowManagedHooksOnly`](/docs/zh-CN/settings-reference#allowmanagedhooksonly) | 不信任用户自己启用的插件中的 hooks |
188| `strictPluginOnlyCustomization` | 阻止不来自插件、托管设置或 Claude Code 内置的技能、代理、hooks 和 MCP 服务器。设置 `true` 以覆盖所有四种类型,或 `skills`、`agents`、`hooks` 和 `mcp` 值的数组(例如 `["skills", "hooks"]`)以覆盖某些 | 不限制用户安装哪些插件。将其与 `strictKnownMarketplaces` 配对 |188| `strictPluginOnlyCustomization` | 阻止不来自插件、托管设置或 Claude Code 内置的 skill、Agent、hook 和 MCP 服务器。它还会阻止 [skill 目录插件](#keep-skills-directory-plugins-loading)加载。设置 `true` 以覆盖所有四种类型,或 `skills`、`agents`、`hooks` 和 `mcp` 值的数组(例如 `["skills", "hooks"]`)以覆盖某些 | 不限制用户安装哪些插件。将其与 `strictKnownMarketplaces` 配对 |
189| `pluginSuggestionMarketplaces` | 其插件可能显示为安装建议的市场。请参阅[推荐插件](#recommend-plugins) | 不影响内置提示 |189| `pluginSuggestionMarketplaces` | 其插件可能显示为安装建议的市场。请参阅[推荐插件](#recommend-plugins) | 不影响内置提示 |
190| `pluginTrustMessage` | 将您的文本附加到 `/plugin` 在插件安装之前显示的信任警告 | 不改变警告自己的文本 |190| `pluginTrustMessage` | 将您的文本附加到 `/plugin` 在插件安装之前显示的信任警告 | 不改变警告自己的文本 |
191| `allowedChannelPlugins` | 替换允许推送频道消息的默认插件列表。需要 `channelsEnabled: true` | 请参阅[限制哪些频道插件可以运行](/docs/zh-CN/channels#restrict-which-channel-plugins-can-run) |191| `allowedChannelPlugins` | 替换允许推送频道消息的默认插件列表。需要 `channelsEnabled: true` | 请参阅[限制哪些频道插件可以运行](/docs/zh-CN/channels.md#restrict-which-channel-plugins-can-run) |
192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/zh-CN/env-vars) | 停止交互式终端会话自动注册官方市场 | 不删除已注册的市场。允许列表和阻止列表在没有它的情况下门控相同的自动注册。在设置它的情况下启动一次的机器在您取消设置它后不会恢复自动注册 |192| [`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL=1`](/docs/zh-CN/env-vars) | 停止交互式终端会话自动注册官方市场 | 不删除已注册的市场。允许列表和阻止列表在没有它的情况下门控相同的自动注册。在设置它的情况下启动一次的机器在您取消设置它后不会恢复自动注册 |
193| [`allowManagedModsOnly`](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading) | 阻止每个不[算作您组织所有](/docs/zh-CN/plugins/mods/admin#install-your-organizations-mods)的已安装 [mod](/docs/zh-CN/plugins/mods/overview) 运行其 hook | 不停止包含 mod 的插件安装。为此,使用此表中的市场键 |193| [`allowManagedModsOnly`](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading) | 阻止每个不[算作您组织所有](/docs/zh-CN/plugins/mods/admin.md#install-your-organizations-mods)的已安装 [mod](/docs/zh-CN/plugins/mods/overview.md) 运行其 hook | 不停止包含 mod 的插件安装。为此,使用此表中的市场键 |
194 194
195表中的每个键都是托管设置,除了 `enabledPlugins`、`syncClaudeAiPlugins`、`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 和 `allowManagedModsOnly`:195表中的每个键都是托管设置,除了 `enabledPlugins`、`syncClaudeAiPlugins`、`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` 和 `allowManagedModsOnly`:
196 196
197* **`enabledPlugins`**:您可以在任何范围内设置它,托管设置锁定它。197* **`enabledPlugins`**:您可以在任何范围内设置它,托管设置锁定它。
198* **`syncClaudeAiPlugins`**:每个用户也可以在自己的用户或本地设置中设置它。请参阅其[设置参考中的范围](/docs/zh-CN/settings-reference#syncclaudeaiplugins)。198* **`syncClaudeAiPlugins`**:每个用户也可以在自己的用户或本地设置中设置它。请参阅其[设置参考中的范围](/docs/zh-CN/settings-reference.md#syncclaudeaiplugins)。
199* **`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`**:这是一个环境变量,您通过[关闭整个车队的更新](#turn-updates-off-for-the-whole-fleet)下显示的托管 `env` 块交付。199* **`CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`**:这是一个环境变量,您通过[关闭整个车队的更新](#turn-updates-off-for-the-whole-fleet)下显示的托管 `env` 块交付。
200* **`allowManagedModsOnly`**:这是一个内置插件上的选项,您在托管设置中的 `pluginConfigs` 下设置。请参阅[停止用户安装的 mods 从加载](/docs/zh-CN/plugins/mods/admin#stop-user-installed-mods-from-loading)。200* **`allowManagedModsOnly`**:这是一个内置插件上的选项,您在托管设置中的 `pluginConfigs` 下设置。请参阅[停止用户安装的 mods 从加载](/docs/zh-CN/plugins/mods/admin.md#stop-user-installed-mods-from-loading)。
201 201
202此处的每个设置键在[设置参考](/docs/zh-CN/settings-reference)中都有条目。202此处的每个设置键在[设置参考](/docs/zh-CN/settings-reference.md)中都有条目。
203 203
204#### 市场键的别名204#### 市场键的别名
205 205
217* **`git`**:`{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git" }`,带可选的 `ref` 和 `path`。217* **`git`**:`{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git" }`,带可选的 `ref` 和 `path`。
218* **`url`**:`{ "source": "url", "url": "https://plugins.example.com/marketplace.json" }`,带可选的 `headers`。218* **`url`**:`{ "source": "url", "url": "https://plugins.example.com/marketplace.json" }`,带可选的 `headers`。
219* **`file` 和 `directory`**:`{ "source": "file", "path": "/opt/marketplace/marketplace.json" }` 或 `{ "source": "directory", "path": "/opt/marketplace/plugins" }`,带绝对路径。219* **`file` 和 `directory`**:`{ "source": "file", "path": "/opt/marketplace/marketplace.json" }` 或 `{ "source": "directory", "path": "/opt/marketplace/plugins" }`,带绝对路径。
220* **`hostPattern`**:`{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }`,与 `github`、`git` 和 `url` 源的主机匹配。该模式在主机名中的任何地方匹配,因此如所示用 `^` 和 `$` 锚定以匹配整个主机。`github` 源始终计为 `github.com`。对于开发人员创建自己的市场的 GitHub Enterprise Server 或 GitLab 主机,使用 `hostPattern` 条目。[GHES 页面](/docs/zh-CN/github-enterprise-server#allowlist-ghes-marketplaces-in-managed-settings)有工作示例。220* **`hostPattern`**:`{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }`,与 `github`、`git` 和 `url` 源的主机匹配。该模式在主机名中的任何地方匹配,因此如所示用 `^` 和 `$` 锚定以匹配整个主机。`github` 源始终计为 `github.com`。对于开发人员创建自己的市场的 GitHub Enterprise Server 或 GitLab 主机,使用 `hostPattern` 条目。[GHES 页面](/docs/zh-CN/github-enterprise-server.md#allowlist-ghes-marketplaces-in-managed-settings)有工作示例。
221* **`pathPattern`**:`{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }`,与 `file` 和 `directory` 源的 `path` 匹配。该模式在路径中的任何地方匹配,因此以 `^` 开头以固定目录前缀。`".*"` 允许每个本地路径。221* **`pathPattern`**:`{ "source": "pathPattern", "pathPattern": "^/opt/approved/" }`,与 `file` 和 `directory` 源的 `path` 匹配。该模式在路径中的任何地方匹配,因此以 `^` 开头以固定目录前缀。`".*"` 允许每个本地路径。
222* **`skills-dir`**:`{ "source": "skills-dir" }` 在设置允许列表时保持[技能目录插件](#keep-skills-directory-plugins-loading)加载,并不匹配任何市场。222* **`skills-dir`**:`{ "source": "skills-dir" }` 不匹配任何市场。有关其作用,请参阅[保持 skill 目录插件加载](#keep-skills-directory-plugins-loading)。
223 223
224#### 条目如何匹配224#### 条目如何匹配
225 225
233 233
234#### 保持技能目录插件加载234#### 保持技能目录插件加载
235 235
236技能目录插件是用户在 `~/.claude/skills/` 或项目的 `.claude/skills/` 下保持的插件,在带有 `.claude-plugin/plugin.json` 的文件夹中。如果您设置任何没有 `{ "source": "skills-dir" }` 条目的允许列表,它们停止加载。普通[技能](/docs/zh-CN/skills),意思是没有该清单的 `SKILL.md`,继续加载。236skill 目录插件是用户在 `~/.claude/skills/` 或项目的 `.claude/skills/` 下保持的插件,在带有 `.claude-plugin/plugin.json` 的文件夹中。如果您设置任何没有 `{ "source": "skills-dir" }` 条目的允许列表,它们停止加载。如果您使用 [`strictPluginOnlyCustomization`](/docs/zh-CN/settings-reference#strictpluginonlycustomization) 锁定任何自定义类型,无论该条目是否存在,它们都会停止加载。允许列表不适用于普通 [skill](/docs/zh-CN/skills.md),即没有该清单的 `SKILL.md`。
237 237
238#### 在 claude.ai 上托管的市场238#### 在 claude.ai 上托管的市场
239 239
240允许列表和阻止列表通过其主机匹配[在 claude.ai 上托管的市场](/docs/zh-CN/plugins/install#add-from-claude-ai)。要允许或阻止一个,将与 `claude.ai` 匹配的 `hostPattern` 条目添加到 `strictKnownMarketplaces` 或 `blockedMarketplaces`。在允许列表上,这样的条目允许您组织的 claude.ai 市场和 claude.ai 默认市场,但不允许由成员自己的 claude.ai 上传组成的市场或其范围 claude.ai 未声明的市场。需要 Claude Code v2.1.273 或更高版本。240允许列表和阻止列表通过其主机匹配[在 claude.ai 上托管的市场](/docs/zh-CN/plugins/install.md#add-from-claude-ai)。要允许或阻止一个,将与 `claude.ai` 匹配的 `hostPattern` 条目添加到 `strictKnownMarketplaces` 或 `blockedMarketplaces`。在允许列表上,这样的条目允许您组织的 claude.ai 市场和 claude.ai 默认市场,但不允许由成员自己的 claude.ai 上传组成的市场或其范围 claude.ai 未声明的市场。需要 Claude Code v2.1.273 或更高版本。
241 241
242#### 锁定每个源242#### 锁定每个源
243 243
244空允许列表 `[]` 锁定每个市场源,包括官方市场。244空允许列表 `[]` 锁定每个市场源,包括官方市场。
245 245
246此锁定不覆盖[从 claude.ai 同步](/docs/zh-CN/plugins/loading#synced-plugins)的插件,Claude Code 从每个用户的账户而不是从市场下载。要也停止那些,请在托管设置中将[`syncClaudeAiPlugins`](/docs/zh-CN/settings-reference#syncclaudeaiplugins)设置为 `false`,或在 claude.ai 上为您的组织关闭技能。246此锁定不覆盖[从 claude.ai 同步](/docs/zh-CN/plugins/loading.md#synced-plugins)的插件,Claude Code 从每个用户的账户而不是从市场下载。要也停止那些,请在托管设置中将[`syncClaudeAiPlugins`](/docs/zh-CN/settings-reference#syncclaudeaiplugins)设置为 `false`,或在 claude.ai 上为您的组织关闭技能。
247 247
248### 使用 `blockedMarketplaces` 的阻止列表248### 使用 `blockedMarketplaces` 的阻止列表
249 249
264}264}
265```265```
266 266
267`blockedMarketplaces` 中的 `url` 条目也在用户添加 Claude Code [克隆而不是获取](/docs/zh-CN/plugins/cli-reference#plugin-marketplace-add)的 `https://` 存储库 URL 时应用,例如裸 `github.com` 或 `gitlab.com` 存储库 URL。如果条目命名该 URL,用户无法添加它。匹配忽略 `.git` 后缀和用户在 `#` 后附加的任何 ref。需要 Claude Code v2.1.232 或更高版本。267`blockedMarketplaces` 中的 `url` 条目也在用户添加 Claude Code [克隆而不是获取](/docs/zh-CN/plugins/cli-reference.md#plugin-marketplace-add)的 `https://` 存储库 URL 时应用,例如裸 `github.com` 或 `gitlab.com` 存储库 URL。如果条目命名该 URL,用户无法添加它。匹配忽略 `.git` 后缀和用户在 `#` 后附加的任何 ref。需要 Claude Code v2.1.232 或更高版本。
268 268
269此处的 `{ "source": "skills-dir" }` 条目停止[技能目录插件](#keep-skills-directory-plugins-loading)从 `~/.claude/skills/` 和项目的 `.claude/skills/` 加载。269此处的 `{ "source": "skills-dir" }` 条目停止[技能目录插件](#keep-skills-directory-plugins-loading)从 `~/.claude/skills/` 和项目的 `.claude/skills/` 加载。
270 270
299 299
300在具有此策略的机器上,添加列表外的任何源,例如 `/plugin marketplace add https://example.com/other-marketplace.git`,失败,消息包含 `is blocked by enterprise policy` 后跟允许的源。`claude --plugin-dir ./x` 以命名 `disableSideloadFlags` 的消息退出。300在具有此策略的机器上,添加列表外的任何源,例如 `/plugin marketplace add https://example.com/other-marketplace.git`,失败,消息包含 `is blocked by enterprise policy` 后跟允许的源。`claude --plugin-dir ./x` 以命名 `disableSideloadFlags` 的消息退出。
301 301
302`{ "source": "skills-dir" }` 条目在此允许列表下保持[技能目录插件](#keep-skills-directory-plugins-loading)加载。删除该条目,它们停止加载。302如果您从此允许列表中删除 `{ "source": "skills-dir" }` 条目,[skill 目录插件](#keep-skills-directory-plugins-loading)将停止加载。
303 303
304使用显式 `extraKnownMarketplaces` 条目注册两个市场,如此策略所做的那样,而不是依赖允许列表或官方市场注册自己:304使用显式 `extraKnownMarketplaces` 条目注册两个市场,如此策略所做的那样,而不是依赖允许列表或官方市场注册自己:
305 305
313 313
314### 按市场打开或关闭自动更新314### 按市场打开或关闭自动更新
315 315
316插件自动更新在启动后在后台为打开它的市场运行。有关默认打开哪些市场,请参阅[自动更新何时运行](/docs/zh-CN/plugins/loading#when-auto-update-runs)。要为车队决定,在托管 `extraKnownMarketplaces` 条目上设置 `"autoUpdate": true` 或 `false`:316插件自动更新在启动后在后台为打开它的市场运行。有关默认打开哪些市场,请参阅[自动更新何时运行](/docs/zh-CN/plugins/loading.md#when-auto-update-runs)。要为车队决定,在托管 `extraKnownMarketplaces` 条目上设置 `"autoUpdate": true` 或 `false`:
317 317
318* 如果托管条目设置字段,Claude Code 拒绝用户的 `/plugin` 切换,错误以 `Auto-update for '<name>' is set by` 开头。318* 如果托管条目设置字段,Claude Code 拒绝用户的 `/plugin` 切换,错误以 `Auto-update for '<name>' is set by` 开头。
319* 如果托管条目保留字段未设置,用户的切换持续。319* 如果托管条目保留字段未设置,用户的切换持续。
330}330}
331```331```
332 332
333要停止 Claude Code 自己的更新但保持插件自动更新,将 `"FORCE_AUTOUPDATE_PLUGINS": "1"` 添加到相同的块。其他[停止插件自动更新的环境变量](/docs/zh-CN/plugins/loading#when-auto-update-runs)以相同的方式工作。333要停止 Claude Code 自己的更新但保持插件自动更新,将 `"FORCE_AUTOUPDATE_PLUGINS": "1"` 添加到相同的块。其他[停止插件自动更新的环境变量](/docs/zh-CN/plugins/loading.md#when-auto-update-runs)以相同的方式工作。
334 334
335`DISABLE_AUTOUPDATER` 不覆盖具有[`command` 源](/docs/zh-CN/plugins/marketplace-reference#command-plugin-source)的插件。Claude Code 每个会话重新运行每个启用的命令,并在其更改时安装输出。有关停止那些运行的内容,请参阅[命令源何时重新运行](/docs/zh-CN/plugins/loading#when-a-command-source-re-runs)。335`DISABLE_AUTOUPDATER` 不覆盖具有[`command` 源](/docs/zh-CN/plugins/marketplace-reference#command-plugin-source)的插件。Claude Code 每个会话重新运行每个启用的命令,并在其更改时安装输出。有关停止那些运行的内容,请参阅[命令源何时重新运行](/docs/zh-CN/plugins/loading.md#when-a-command-source-re-runs)。
336 336
337### 为用户组分配发布频道337### 为用户组分配发布频道
338 338
339要运行稳定和早期访问频道,托管两个指向相同插件的不同 ref 的市场。然后通过单独的端点托管设置或网关策略为每个用户组提供自己的市场。来自管理控制台的服务器托管设置[应用于组织中的每个用户](/docs/zh-CN/server-managed-settings#current-limitations),因此它们无法为不同的组分配不同的设置。339要运行稳定和早期访问频道,托管两个指向相同插件的不同 ref 的市场。然后通过单独的端点托管设置或网关策略为每个用户组提供自己的市场。来自管理控制台的服务器托管设置[应用于组织中的每个用户](/docs/zh-CN/server-managed-settings.md#current-limitations),因此它们无法为不同的组分配不同的设置。
340 340
341* 将单独的[端点托管设置](/docs/zh-CN/managed-settings#delivery-mechanisms)(例如托管设置文件或 MDM 配置文件)部署到每个组的设备。要检查按组文件或配置文件是否在也有组织范围源的设备上应用,请参阅[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings#precedence-within-the-managed-tier)。341* 将单独的[端点托管设置](/docs/zh-CN/managed-settings.md#delivery-mechanisms)(例如托管设置文件或 MDM 配置文件)部署到每个组的设备。要检查按组文件或配置文件是否在也有组织范围源的设备上应用,请参阅[Claude Code 如何组合托管源](/docs/zh-CN/managed-settings.md#precedence-within-the-managed-tier)。
342* 为每个组定义一个[Claude 应用网关策略](/docs/zh-CN/claude-apps-gateway-config#managed)。网关应用第一个匹配规则适合用户的策略,因此订购策略以便每个用户到达其组的策略。该策略的 `extraKnownMarketplaces` 映射不与任何其他策略的合并,因此在其中列出组需要的每个市场,而不仅仅是其频道市场。342* 为每个组定义一个[Claude 应用网关策略](/docs/zh-CN/claude-apps-gateway-config.md#managed)。网关应用第一个匹配规则适合用户的策略,因此订购策略以便每个用户到达其组的策略。该策略的 `extraKnownMarketplaces` 映射不与任何其他策略的合并,因此在其中列出组需要的每个市场,而不仅仅是其频道市场。
343 343
344使用任一机制,稳定组接收此配置:344使用任一机制,稳定组接收此配置:
345 345
353}353}
354```354```
355 355
356早期访问组接收 `latest-tools` 代替。要设置两个市场,请参阅[运行发布频道](/docs/zh-CN/plugins/host-marketplace#run-release-channels)。356早期访问组接收 `latest-tools` 代替。要设置两个市场,请参阅[运行发布频道](/docs/zh-CN/plugins/host-marketplace.md#run-release-channels)。
357 357
358## 推荐插件358## 推荐插件
359 359
360市场所有者可以将 `relevance` 信号附加到条目,以便 Claude Code 在项目匹配时建议插件。360市场所有者可以将 `relevance` 信号附加到条目,以便 Claude Code 在项目匹配时建议插件。
361 361
362来自市场的建议仅在其在用户的机器上注册、您在托管设置中的 `pluginSuggestionMarketplaces` 中列出其名称,并且您在相同策略中声明其源时出现。声明源作为市场的 `extraKnownMarketplaces` 条目或允许列表条目。官方市场仅需要名称。请参阅[在托管设置中启用建议](/docs/zh-CN/plugins/relevance#enable-suggestions-in-managed-settings)。362来自市场的建议仅在其在用户的机器上注册、您在托管设置中的 `pluginSuggestionMarketplaces` 中列出其名称,并且您在相同策略中声明其源时出现。声明源作为市场的 `extraKnownMarketplaces` 条目或允许列表条目。官方市场仅需要名称。请参阅[在托管设置中启用建议](/docs/zh-CN/plugins/relevance.md#enable-suggestions-in-managed-settings)。
363 363
364## 审计和审查364## 审计和审查
365 365
366OpenTelemetry 事件和 Analytics API 告诉您您的车队安装和运行什么。366OpenTelemetry 事件和 Analytics API 告诉您您的车队安装和运行什么。
367 367
368有关插件可以在机器上运行什么以及每个信任层允许什么,在批准市场之前阅读[插件安全](/docs/zh-CN/plugins/security)。368有关插件可以在机器上运行什么以及每个信任层允许什么,在批准市场之前阅读[插件安全](/docs/zh-CN/plugins/security.md)。
369 369
370### OpenTelemetry 事件370### OpenTelemetry 事件
371 371
372`claude_code.plugin_installed` 记录每次安装,`claude_code.plugin_loaded` 记录每个启用的插件在会话开始时。除非您设置 `OTEL_LOG_TOOL_DETAILS=1`,否则两个事件都删除或省略第三方插件和市场名称,如[您的后端中的删除插件名称](/docs/zh-CN/plugins/measure#redacted-plugin-names-in-your-backend)所示。字段列表在[插件已安装事件](/docs/zh-CN/monitoring-usage#plugin-installed-event)和[插件已加载事件](/docs/zh-CN/monitoring-usage#plugin-loaded-event)下。372`claude_code.plugin_installed` 记录每次安装,`claude_code.plugin_loaded` 记录每个启用的插件在会话开始时。除非您设置 `OTEL_LOG_TOOL_DETAILS=1`,否则两个事件都删除或省略第三方插件和市场名称,如[您的后端中的删除插件名称](/docs/zh-CN/plugins/measure.md#redacted-plugin-names-in-your-backend)所示。字段列表在[插件已安装事件](/docs/zh-CN/monitoring-usage.md#plugin-installed-event)和[插件已加载事件](/docs/zh-CN/monitoring-usage.md#plugin-loaded-event)下。
373 373
374### Analytics API374### Analytics API
375 375
376在 Enterprise 计划上,`GET /v1/organizations/analytics/plugins` 返回跨 Claude Code 和 Cowork 的每个插件、每天的安装和调用计数。您可以按用户或 RBAC 组对计数进行分组。到达 Anthropic 而没有插件名称的插件活动出现在一个聚合 `third-party` 行中。请参阅[端点参考](https://platform.claude.com/docs/en/api/admin/analytics/plugins/list)和[以编程方式访问数据](/docs/zh-CN/analytics#access-data-programmatically)了解它需要的键。376在 Enterprise 计划上,`GET /v1/organizations/analytics/plugins` 返回跨 Claude Code 和 Cowork 的每个插件、每天的安装和调用计数。您可以按用户或 RBAC 组对计数进行分组。到达 Anthropic 而没有插件名称的插件活动出现在一个聚合 `third-party` 行中。请参阅[端点参考](https://platform.claude.com/docs/en/api/admin/analytics/plugins/list)和[以编程方式访问数据](/docs/zh-CN/analytics.md#access-data-programmatically)了解它需要的键。
377 377
378## 规划托管设置无法执行的内容378## 规划托管设置无法执行的内容
379 379
383* **限制允许市场内的条目**:允许列表匹配市场源。要从允许的市场阻止一个插件,在托管 `enabledPlugins` 中将其设置为 `false`。383* **限制允许市场内的条目**:允许列表匹配市场源。要从允许的市场阻止一个插件,在托管 `enabledPlugins` 中将其设置为 `false`。
384* **隐藏 `/plugin`**:没有键禁用命令。最接近的等效项结合仅命名您的市场的允许列表、您提供的插件的托管 `enabledPlugins` 条目和 `disableSideloadFlags`。384* **隐藏 `/plugin`**:没有键禁用命令。最接近的等效项结合仅命名您的市场的允许列表、您提供的插件的托管 `enabledPlugins` 条目和 `disableSideloadFlags`。
385* **通过允许列表门控 `--plugin-dir`**:允许列表不覆盖 `--plugin-dir`。`disableSideloadFlags` 覆盖。385* **通过允许列表门控 `--plugin-dir`**:允许列表不覆盖 `--plugin-dir`。`disableSideloadFlags` 覆盖。
386* **通过这些键执行 claude.ai 插件切换**:[**组织设置 > 插件和技能**](https://claude.ai/admin-settings/skills?tab=inventory)不设置此页面上的键。成员和您的组织在那里打开的内容作为[同步插件](/docs/zh-CN/plugins/loading#synced-plugins)到达 CLI,它们有自己的控制。386* **通过这些键执行 claude.ai 插件切换**:[**组织设置 > 插件和技能**](https://claude.ai/admin-settings/skills?tab=inventory)不设置此页面上的键。成员和您的组织在那里打开的内容作为[同步插件](/docs/zh-CN/plugins/loading.md#synced-plugins)到达 CLI,它们有自己的控制。
387 387
388## 策略故障排除388## 策略故障排除
389 389
390如果插件策略在机器上的行为不符合预期,首先检查这些症状:390如果插件策略在机器上的行为不符合预期,首先检查这些症状:
391 391
392* **托管文件未解析**:当 `managed-settings.json` 不是有效的 JSON 时,Claude Code 拒绝启动并打印[命名文件的错误](/docs/zh-CN/errors#managed-settings-document-could-not-be-parsed)。解析但有一个无效条目的文件保持其策略的其余部分。请参阅[托管设置中的无效条目](/docs/zh-CN/managed-settings#invalid-entries-in-managed-settings)。392* **托管文件未解析**:当 `managed-settings.json` 不是有效的 JSON 时,Claude Code 拒绝启动并打印[命名文件的错误](/docs/zh-CN/errors.md#managed-settings-document-could-not-be-parsed)。解析但有一个无效条目的文件保持其策略的其余部分。请参阅[托管设置中的无效条目](/docs/zh-CN/managed-settings.md#invalid-entries-in-managed-settings)。
393* **托管源未加载**:运行 `/status` 并在 `Setting sources` 行中查找 `Enterprise managed settings`。如果缺少,源未加载。393* **托管源未加载**:运行 `/status` 并在 `Setting sources` 行中查找 `Enterprise managed settings`。如果缺少,源未加载。
394* **用户报告 `blocked by enterprise policy`**:消息命名市场或其源。对于允许列表,它也列出允许的源。面向用户的条目在[插件故障排除](/docs/zh-CN/plugins/troubleshooting)上。394* **用户报告 `blocked by enterprise policy`**:消息命名市场或其源。对于允许列表,它也列出允许的源。面向用户的条目在[插件故障排除](/docs/zh-CN/plugins/troubleshooting.md)上。
395* **用户在 `~/.claude/settings.json` 中禁用的插件仍然加载**:另一个设置源重新启用它,例如强制启用它的托管 `enabledPlugins` 条目。`/plugin` 和 `claude plugin list` 显示 `Disabled in ~/.claude/settings.json but still loads` 与该设置源。395* **用户在 `~/.claude/settings.json` 中禁用的插件仍然加载**:另一个设置源重新启用它,例如强制启用它的托管 `enabledPlugins` 条目。`/plugin` 和 `claude plugin list` 显示 `Disabled in ~/.claude/settings.json but still loads` 与该设置源。
396 396
397## 后续步骤397## 后续步骤
398 398
399* [市场参考](/docs/zh-CN/plugins/marketplace-reference#marketplace-sources):`extraKnownMarketplaces`、`strictKnownMarketplaces` 和 `blockedMarketplaces` 接受的 `source` 值399* [市场参考](/docs/zh-CN/plugins/marketplace-reference.md#marketplace-sources):`extraKnownMarketplaces`、`strictKnownMarketplaces` 和 `blockedMarketplaces` 接受的 `source` 值
400* [托管和维护市场](/docs/zh-CN/plugins/host-marketplace):运行您的策略指向的市场400* [托管和维护市场](/docs/zh-CN/plugins/host-marketplace.md):运行您的策略指向的市场
401* [插件安全和信任](/docs/zh-CN/plugins/security):插件可以在机器上做什么以及在安装前如何审查一个401* [插件安全和信任](/docs/zh-CN/plugins/security.md):插件可以在机器上做什么以及在安装前如何审查一个
402* [管理您的组织的 mods](/docs/zh-CN/plugins/mods/admin):关闭或限制 mods,在 Claude Code 内运行 JavaScript 的插件402* [管理您的组织的 mods](/docs/zh-CN/plugins/mods/admin.md):关闭或限制 mods,在 Claude Code 内运行 JavaScript 的插件
403* [服务器托管设置](/docs/zh-CN/server-managed-settings):从 claude.ai 管理控制台交付这些键403* [服务器托管设置](/docs/zh-CN/server-managed-settings.md):从 claude.ai 管理控制台交付这些键
404* [插件故障排除](/docs/zh-CN/plugins/troubleshooting#blocked-by-your-organization):策略阻止用户时看到的消息404* [插件故障排除](/docs/zh-CN/plugins/troubleshooting.md#blocked-by-your-organization):策略阻止用户时看到的消息