跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

系统托管设置

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

托管设置用于组织要求用户和项目不能覆盖的配置。它们高于普通远程默认、用户文件、项目文件与内联配置;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 语法就宣布部署成功。