Skip to content
FunCoding

Search

Search docs, Skills and MCP

系统托管设置

通过系统目录或 macOS MDM 强制设置,并检查解析后的配置。

This page has not been translated into English yet. The original Chinese version is shown below.

托管设置用于组织要求用户和项目不能覆盖的配置。它们高于普通远程默认、用户文件、项目文件与内联配置;macOS 托管偏好又高于托管文件。

系统级文件

管理员可在以下目录放置 opencode.json 或 opencode.jsonc:

平台目录
macOS/Library/Application Support/opencode/
Linux/etc/opencode/
Windows%ProgramData%\opencode

官方说明这些位置需要管理员或 root 写权限。部署时应保留该权限边界,不能把普通用户可写目录当作等价替代。

示例可以集中禁用会话共享并绑定本地地址:

{
  "$schema": "https://opencode.ai/config.json",
  "share": "disabled",
  "server": {
    "hostname": "127.0.0.1"
  }
}

这是组织配置示例,不代表产品默认关闭共享或所有入口已经隔离;仍需核对实际部署及访问方式。

macOS MDM

OpenCode 使用 ai.opencode.managed preference domain。通过 MDM 部署 .mobileconfig,payload 的 PayloadType 使用 ai.opencode.managed,OpenCode 配置键直接写在该 payload 的 dict 中。

官方检查路径依次是:

  1. /Library/Managed Preferences/<user>/ai.opencode.managed.plist。
  2. /Library/Managed Preferences/ai.opencode.managed.plist。

plist 键对应 opencode.json 字段,PayloadUUID、PayloadType 等 MDM 元数据会被自动剔除。每个需要的 UUID 应生成唯一值,官方使用 uuidgen;不要复用示例占位 UUID。

部署与验证

官方列出 Jamf Pro 的 Computers → Configuration Profiles → Upload,并设置目标设备或 smart groups。FleetDM 示例将 profile 放入 gitops 的 mdm.macos_settings.custom_settings,然后通过 fleetctl apply 部署。具体工具凭据和发布流程按组织现有管理方法执行。

本地验证可安装 profile 后在系统 Profiles 查看,再运行:

opencode debug config

确认托管键出现在解析结果中,并检查普通用户和项目配置无法覆盖它们。查看文件存在、查看合并结果及验证实际操作行为是三个不同层次,不能只检查 JSON 语法就宣布部署成功。