使用企业托管设置,可以集中定义和分发受 GitHub Copilot 支持客户端的配置设置。 这可确保每个人都在定义的护栏内工作,并可以选择为不同的团队专门设置。 例如,可以阻止代理执行敏感操作、安装批准的代理插件,或确保会话在沙盒中运行。
本指南将逐步介绍如何在 managed-settings.json 上创建 GitHub 文件、向用户部署这些设置,以及为企业团队覆盖特定设置。 作为低摩擦示例,我们将确保新对话在大多数用户的自动模型模式下启动,并覆盖特定企业团队的此设置。 此示例允许你测试托管设置部署,而不会对用户造成中断。
注意
如果你为 Copilot Business 使用专用企业,则还有额外的指南需要考虑。 请参阅“在没有组织机构的情况下使用企业管理设置”。
支持的客户端
支持以下客户端,但并非每个客户端都支持每个属性:
-
Copilot CLI
-
VS Code
-
GitHub Copilot app
-
Copilot cloud agent
-
JetBrains IDEs
有关受支持密钥的完整参考,请参阅 企业管理设置。
1.创建 .github-private 存储库
您可以将.github-private文件托管在企业内由指定组织拥有的managed-settings.json仓库中。 这样,您就可以将托管设置放在自定义代理配置文件旁边,并置于企业成员可查看的位置。
有关 创建存储库并将其选择为企业客户端治理源的说明,请参阅 创建 .github-private 存储库。
此存储库中的治理设置适用于从企业或其任何组织接收 Copilot 许可证的所有用户,无论用户是否有权访问 .github-private 该存储库或拥有该存储库的组织。 我们建议提供存储库内部可见性,以便企业成员可以查看治理设置,并将文件的编辑 managed-settings.json 限制为管理员和 AI 经理。
提示
这称为“服务器托管”部署。 还有其他方法可向用户分发托管设置,包括移动设备管理(MDM)和本地文件传送。 有关详细信息,请参阅“选择如何将企业管理的设置部署到用户”。
2.创建 managed-settings.json 文件
在此示例中,我们使用一种非常简单的配置,可确保用户的对话以自动模式启动。 这意味着 Copilot 将从企业允许的模型自动为用户任务选择最佳模型,从而降低用户的速率限制问题。
-
在
.github-private仓库中,在copilot/managed-settings.json处创建一个文件。 -
将配置添加到文件。 例如:
JSON { "model": "auto" }{ "model": "auto" } -
将更改提交到默认分支。
在实际部署时,请检查受支持的密钥及其在各客户端中的覆盖情况。 请参阅“企业管理设置”。
3. 为特定团队替代该设置
你可以针对企业团队替代 managed-settings.json 文件的受支持属性。 在此示例中,我们将为一个因专门工作需要固定使用特定模型的团队禁用自动模型默认设置。
完成本部分后, .github-private 存储库将具有以下结构:
.github-private/copilot/
managed-settings.json
**: { "model": { "overridable": "auto" } }
* **
team-mappings.json
**: { "no-auto.json": ["special-team"] }
* teams/
* **
no-auto.json
**: { "model": "unmanaged" }
步骤
-
创建包含不应接收自动模式默认值的用户的企业团队。 在此示例中,我们将其称为
special-team。 请参阅“创建企业团队”。 -
在
copilot/managed-settings.json文件中,使用{ "overridable": VALUE }语法将该键标记为可被重写。 当团队文件不为给定键声明其他值时,这是VALUE默认值。例如,我们将使
model企业团队可替代,为auto其他人保留默认值:JSON { "model": { "overridable": "auto" } }{ "model": { "overridable": "auto" } } -
在您的
.github-private仓库中,在copilot/teams/下为企业团队创建一个专用设置文件。 例如:copilot/teams/no-auto.json。在此文件中,添加提供可重写属性值的配置。
以下示例删除自动模型模式上的控件。 其他所有内容仍受文件
managed-settings.json控制。JSON { "model": "unmanaged" }{ "model": "unmanaged" } -
在存储库
copilot/team-mappings.json中创建.github-private。 在此文件中,将企业团队的名称映射到其特殊配置文件。 键是设置文件名,值是由团队短标识(slug)组成的数组,因此你可以将同一个文件应用于多个团队。JSON { "no-auto.json": ["special-team"] }{ "no-auto.json": ["special-team"] } -
提交更改并将其推送到默认分支。
稍后,可以为其他密钥和其他团队添加不同的替代项。 有关更完整的示例,请参阅 替代团队的由企业管理的设置。
4.检查设置是否处于活动状态
检查你定义的设置是否对用户生效,并且是否针对特定团队替代了这些设置。 在此示例中,大多数企业 Copilot 用户应发现其客户端中的新对话以自动模式启动。
special-team企业团队不应有这种体验。
对于服务器管理的部署,支持的客户端上的用户将在大约一小时内看到指定的设置。 这包括 copilot/managed-settings.json、copilot/team-mappings.json 以及 copilot/teams/ 中的文件。 重启客户端或再次登录会触发即时刷新。
如果用户看不到这些设置,请确保他们已通过您的企业或其下属某个组织获得对 Copilot 的访问权限。 如果用户从多个计费实体收到许可证,请确保他们在 个人 Copilot 设置的“按使用情况计费”下拉列表中选择了你的企业。
对于由 MDM 管理的部署,客户端每小时检查一次是否有策略更新。 对于基于文件的部署,请重启客户端以加载更新的文件。 无论其 Copilot 许可证来自何处,这些部署方法都适用于计算机上安装了设置的所有用户。
后续步骤
现在,您已经创建了一个简单的托管设置,可以:
- 向文件添加其他治理属性。 请参阅“企业管理设置”。
- 确定是否通过其他方法将设置部署到用户。 请参阅“选择如何将企业管理的设置部署到用户”。