可用性:10 月 8 日,企业版工作空间将暂不启用应用内浏览器中用于安装和管理扩展程序的界面。在此期间,本页列出的 MDM 策略仍然有效,因此管理员可以在界面推出前配置扩展程序管控措施。
ChatGPT 桌面版的应用内浏览器基于 Chromium 构建,并沿用了其企业策略框架。它使用与 Chrome 相同的策略名称和值格式。请查阅 Chrome 企业策略参考文档,查找控制项并了解其取值。只有在 ChatGPT 桌面版支持相应平台、浏览器版本及所涉及功能的情况下,策略才会生效。
如果你已经在管理 Chrome,就会对这一部署流程感到熟悉。Chrome 既支持基于设备的策略部署,也支持通过 Google 管理控制台进行云端浏览器管理。ChatGPT 桌面版目前支持通过 MDM、组策略或配置管理工具进行基于设备的部署;暂不支持在云端管理这些浏览器策略。
对于同一操作系统,策略内容和格式保持不变。主要变化在于策略在设备上的部署位置:请使用 ChatGPT 桌面版的注册表项、偏好设置域或策略目录,而不是 Chrome 的相应位置。
各平台的策略位置
| 平台 | 策略读取方式 | Chrome 位置 | ChatGPT 桌面版位置 |
|---|---|---|---|
| Windows | 注册表值和策略子项 | SOFTWARE\Policies\Google\Chrome | SOFTWARE\Policies\OpenAI\Codex |
| macOS | 配置描述文件中的受管偏好设置 | com.google.Chrome | com.openai.codex |
| Linux | 强制策略目录中的 JSON 文件 | /etc/opt/chrome/policies/managed/ | /etc/opt/codex/policies/managed/ |
ChatGPT 桌面版的标识符中仍包含 Codex 或 codex。请严格按所示内容使用。
Windows:如需应用于设备上的所有用户,请使用 HKEY_LOCAL_MACHINE;如需应用于特定用户,请使用 HKEY_CURRENT_USER。策略值类型和列表子项遵循 Chrome 的注册表格式。Chrome 的标准管理模板 (ADMX) 适用于 Chrome;请为 ChatGPT 桌面版使用自定义注册表设置。
macOS:将策略键及其 plist 值作为受管偏好设置部署到 com.openai.codex 域下。针对 Chrome 域的描述文件不适用于 ChatGPT 桌面版。
Linux:将 JSON 文件直接部署到 /etc/opt/codex/policies/managed/。对于支持用户更改默认值的策略,请使用 /etc/opt/codex/policies/recommended/。
管理员指南
策略示例
以下示例配置了两项策略:
| 策略 | 示例值 | 效果 |
|---|---|---|
| PasswordManagerEnabled | false | 阻止保存新密码。不会删除已保存的密码。 |
| CookiesBlockedForUrls | ["https://example.com"] | 阻止 https://example.com 设置 Cookie。不会阻止访问该网站。 |
请将这些示例替换为你所在组织的设置。
管理扩展程序
将以下 Chromium 策略键部署到上文所列的 ChatGPT 桌面版位置。在 Enterprise 工作空间延后启用扩展程序安装和管理界面期间,应用内浏览器仍会读取并执行这些策略。这些策略不会提前启用该界面。
ExtensionInstallBlocklist — 用户不得安装的扩展程序 ID 列表;* 表示默认阻止所有扩展程序。与列表匹配的已安装扩展程序会被停用。
ExtensionInstallAllowlist — 不受屏蔽名单限制的扩展程序 ID 列表。当屏蔽名单设为 * 时,此策略允许安装指定的已签名扩展程序,但不会自动安装。
ExtensionInstallForcelist — 扩展程序 ID 列表,每个 ID 后可选择添加 ; 和更新清单的 URL。以静默方式安装这些扩展程序,授予其请求的权限,并阻止用户停用或卸载它们。此策略的优先级高于屏蔽名单。
ExtensionSettings — 以扩展程序 ID 为键的字典,也可用 * 指定默认设置。设置安装模式(如 blocked、allowed 或 force_installed),还可限制权限和主机访问、指定最低版本、设置更新行为或固定扩展程序。按 ID 指定的设置可以覆盖列表策略。
ExtensionAllowedTypes — 允许安装的清单类型列表,例如 extension 或 theme。此策略也会限制强制安装。
ExtensionInstallSources — 用于 Chromium 直接安装 CRX 流程的 URL 匹配模式(仅在支持该流程时适用)。下载 URL 和发起安装的页面都必须匹配;屏蔽名单仍具有更高优先级。
在 Windows 上,将列表策略部署为以策略命名的子项中的编号 REG_SZ 值,并将 ExtensionSettings 以 JSON 格式存入一个 REG_SZ 值。在 macOS 上,在 com.openai.codex 受管偏好设置域中分别使用数组和字典。在 Linux 上,在受管策略文件中分别使用 JSON 数组和对象。
在界面尚未启用期间,可在 chrome://policy 中检查已部署的值和错误。如果强制安装的扩展程序已处于启用状态,请尽可能在应用内浏览器的试点工作流程中测试其实际行为。工作空间启用应用内浏览器的扩展程序安装和管理界面后,请检查 chrome://extensions/,并测试用户安装和管理流程。
Windows:Microsoft Intune 或组策略
对于 Microsoft Intune,请将以下内容保存为 PowerShell 脚本,并将其添加到平台脚本下。该脚本会为设备上的所有用户写入强制策略:
| ]$ErrorActionPreference = 'Stop'$policyRoot = 'HKLM:\SOFTWARE\Policies\OpenAI\Codex'if (-not (Test-Path -LiteralPath $policyRoot)) { New-Item -Path $policyRoot -Force | Out-Null}New-ItemProperty -Path $policyRoot -Name PasswordManagerEnabled -PropertyType DWord -Value 0 -Force | Out-Null$cookieKey = "$policyRoot\CookiesBlockedForUrls"if (-not (Test-Path -LiteralPath $cookieKey)) { New-Item -Path $cookieKey -Force | Out-Null}New-ItemProperty -Path $cookieKey -Name '1' -PropertyType String -Value 'https://example.com' -Force | Out-Null |
在 Microsoft Intune 平台脚本中,将使用已登录的凭据运行此脚本设为否,将在 64 位 PowerShell 主机中运行脚本设为是,然后将其分配给试点组。脚本运行后,重启 ChatGPT 桌面版并验证策略。
对于组策略,请按脚本中所示的键、值名称、类型和值创建注册表首选项,并将其应用于试点设备。
注册表值格式:
布尔值:使用 REG_DWORD,0 表示 false,1 表示 true。
字符串列表:使用以策略命名的子项,其中包含编号 REG_SZ 值(1、2 等)。更新列表时,请删除不再适用的编号值。
结构化策略:遵循策略参考文档中的 Windows 编码方式。例如,ExtensionSettings 将其字典作为 JSON 字符串存储在 REG_SZ 值中。
对于按用户应用的策略,请使用 HKEY_CURRENT_USER 下的相同路径,并在目标用户的上下文中部署。以 SYSTEM 身份运行的脚本不会写入已登录用户的 HKEY_CURRENT_USER。对于支持建议默认值的策略,请使用 ChatGPT 桌面版根项下的 Recommended 子项。
现有 Chrome 策略:目前,ChatGPT 桌面版会分别处理每个注册表配置单元;如果无法打开该配置单元中的 ChatGPT 桌面版键,就会回退到其中的 SOFTWARE\Policies\Google\Chrome。只要 ChatGPT 桌面版键可读取,即使它为空,也会停止在该配置单元中回退;个别缺失的值不会从 Chrome 补充。如需让设备和用户两个作用域都与 Chrome 保持独立,请在 HKLM 和每个适用用户的 HKCU 中都创建可读取的 ChatGPT 桌面版键。
macOS:Jamf Pro 或 Microsoft Intune
创建配置描述文件,在 com.openai.codex 域中设置强制(必须执行的)受管偏好设置。对于 Jamf Pro,请先将以下内容保存为 com.openai.codex.plist:
| <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>PasswordManagerEnabled</key> <false/> <key>CookiesBlockedForUrls</key> <array> <string>https://example.com</string> </array></dict></plist> |
Jamf Pro:使用计算机配置描述文件的应用程序与自定义设置载荷,上传 plist,并将偏好设置域设为 com.openai.codex。请参阅 Jamf 的自定义设置说明。
Microsoft Intune:创建 macOS 模板 → 首选项文件配置文件,并将首选项域名设为 com.openai.codex。使用此上传工具时,只需保存示例最外层 <dict> 内的键值内容;省略 XML 声明、DOCTYPE、<plist> 和最外层 <dict> 包装标签。保留完整的嵌套 <array>。请参阅 Intune 的首选项文件说明。
其他 MDM 工具:使用其自定义受管偏好设置流程,或为此域部署等效的 .mobileconfig 描述文件。
将描述文件分配给试点设备,并确认已安装。重启 ChatGPT 桌面版并验证策略。请使用受管偏好设置:通过 defaults write 写入的普通用户偏好设置不会使策略成为强制策略。
Linux:配置管理
与管理 Chrome 时一样,使用 Ansible、Puppet 或 Chef 等工具向设备分发 JSON 策略文件。
如有需要,创建 /etc/opt/codex/policies/managed/。
使用配置管理工具、软件包或设备管理代理,将 JSON 文件直接部署到该目录中。
将目录和文件的所有者设为 root,允许 ChatGPT 桌面版用户读取,并仅允许受信任的管理员写入。通常,目录权限设为 0755,文件权限设为 0644。
重启 ChatGPT 桌面版并验证策略。
/etc/opt/codex/policies/managed/browser.json 示例:
| { "PasswordManagerEnabled": false, "CookiesBlockedForUrls": ["https://example.com"]} |
根据各项策略的要求,使用 JSON 布尔值、数字、数组和对象。将文件直接放在 managed/ 中;不会读取嵌套目录。避免在多个文件中定义同一项策略。
验证策略
确认部署工具已将注册表值或 JSON 文件分发到试点设备,或已在试点设备上安装描述文件。
退出并重新打开 ChatGPT 桌面版。在 ChatGPT 桌面版中打开应用内浏览器标签页,并访问 chrome://policy。
选择重新加载策略。检查每项策略的值、来源、作用域、级别和状态。对于上述强制策略示例,来源应为平台,级别应为强制,且不应有策略错误。
在该浏览器中测试策略是否产生预期效果。策略出现在此页面上,只能确认它已被读取;这本身并不能证明受影响的功能按预期运行。
对于某些策略,即使重新加载策略后,也仍需完全重启应用。请在扩大部署范围之前完成试点检查。
如果未显示某项策略,请检查其拼写、目标位置、分配情况和读取权限。如果策略报错或被忽略,请检查值类型、支持的平台和策略级别,以及 chrome://policy 上报告的任何冲突策略。
如需更改或移除策略,请更新提供该策略的部署配置,并删除过时的注册表条目或文件中的键。仅取消脚本分配并不会撤销脚本已写入的值。重启 ChatGPT 桌面版并再次验证;删除 Windows 中的 ChatGPT 桌面版根项可能会重新启用对 Chrome 策略的回退。
