设置开关、限制密钥、第三方工具关掉苹果 AI 的 N 种姿势横评【免费下载链接】RemoveMacAIDebloat macOS: turn off Apple Intelligence, analytics, ads and pop-ups. A native app and CLI, and every change can be undone.项目地址: https://gitcode.com/gh_mirrors/re/RemoveMacAImacOS 27 把 Apple Intelligence 从可选项变成了系统的一部分总开关被移除Siri、Writing Tools、Genmoji、照片清理等 14 项功能散落在系统各处本地大模型动辄占用 10–12GB 磁盘后台的aiassistantd、intelligenced等进程还持续驻留。想关掉它社区里流传着至少三种完全不同的姿势在系统设置里手动拨开关、通过配置描述文件的限制密钥强制禁用、以及借助 RemoveMacAI 这类开源工具做禁用 删模型 拦下载的组合拳。本文结合 RemoveMacAI 的源码Catalog.swift、Profile.swift、UAF.m 等逐层拆解这三种姿势到底能覆盖多少范围、谁最彻底、谁最能扛住系统更新。一、背景为什么设置里关一下不够用社区对 macOS 27 的普遍吐槽集中在两点。第一总开关没了CSDN 的多篇评测都指出 macOS 27 移除了 Apple Intelligence 的全局开关用户只能逐项关闭具体功能且不少开关藏在深层设置里。第二关了开关不代表模型消失本地模型文件基础大模型、Genmoji、Image Playground、Spatial Photos 等依然躺在磁盘上继续吃掉数十 GB 空间后台服务受 System Integrity ProtectionSIP保护普通手段既删不掉也卸载不了。RemoveMacAI 的 README.md 对此的定位很直白——它不是关一个开关而是把问题拆成三层来解功能禁用通过配置描述文件把 14 项功能的限制密钥锁死模型清理调用 Apple 私有 Unified Asset FrameworkUAF的 XPC 服务删除本地模型集下载拦截把模型下载地址重定向到一个关闭的本地端口杜绝删完又自动下载回来。这三层正好对应社区讨论里最常见的三种姿势的边界。下面逐一横评。二、姿势一系统设置开关覆盖范围最窄手动在 System Settings 里逐个关掉 Siri、Writing Tools 等是最直观的姿势但它的边界非常有限只管 UI 层它只改变偏好设置aiassistantd等受 SIP 保护的底层服务照常驻留这正是 CSDN 文章里关了开关进程还在跑现象的来源。管不到纯模型型功能在 Catalog.swift 的 14 个 Feature 定义里photos-clean-up照片清理和xcode-completionXcode 预测补全没有自己的开关restrictions与preferences均为空系统设置里根本没有对应的拨杆可拨唯一的关闭方式就是让模型从磁盘消失。不回收空间手动关闭功能不会触发模型删除12GB 依然占着README.md 的 FAQ 也专门解释过即使删除了模型System Settings General Storage里 Apple Intelligence 一项还会被 macOS 自己按调度删文件计数显示一段时间才消失——更不用说手动姿势连删除都不会触发。结论设置开关适合我暂时不想用它不适合我不想让它占资源、占空间、跑进程。三、姿势二限制密钥把开关焊死第二种姿势来自企业 MDM 的老本行——配置描述文件.mobileconfig。RemoveMacAI 把这一层做成了自己的第一道防线核心逻辑在 Profile.swiftif let kept contents.ai { for feature in Catalog.features where !kept.contains(feature.id) { for key in feature.restrictions { restrictions[key] false } for pref in feature.preferences { forced[pref.domain, default: [:]][pref.key] pref.off } } ... }它生成两类 payloadcom.apple.applicationaccess的 Restrictions限制密钥如allowAssistant、allowWritingTools、allowGenmoji和com.apple.ManagedClient.preferences的 Forced 偏好如group.com.apple.mail下的DisableAutomaticMessageSummarization。与手动设置的本质区别在于强制forced语义被 profile 锁定的键在cfprefsd层面就是受管的用户在系统设置里改不动UI 开关形同虚设除非移除 profile覆盖完整对照 Catalog.swift 的 14 个 Feature限制密钥 强制偏好可以精确到每一项功能包括没有 UI 开关的纯模型功能通过lockedByProfile逻辑判定锁定关闭功能限制密钥 / 强制偏好Siri 与 Siri AIallowAssistant 3 组 Siri 偏好ChatGPT 等 AI 扩展allowExternalIntelligenceIntegrations*Writing ToolsallowWritingToolsGenmojiallowGenmojiImage PlaygroundallowImagePlayground邮件摘要与智能回复allowMailSummary、allowMailSmartReplies Mail 偏好通知摘要group.com.apple.usernoted偏好信息摘要com.apple.MobileSMS偏好Safari 摘要allowSafariSummary备忘录转写摘要allowNotesTranscriptionSummary行内文本预测.GlobalPreferences偏好Spatial Photoscom.apple.spatialphotosrelive偏好照片清理仅模型集无开关Xcode 预测补全仅模型集无开关这套机制的精妙之处在于它是标准 macOS 管理通道不需要关闭 SIP、不需要碰/System安装时走系统设置里的批准 profile流程PayloadRemovalDisallowed显式设为falseProfile.swift保证随时可逆。但限制密钥只解决禁用这一层——模型文件还在磁盘上下载通道也没堵。四、姿势三第三方工具的组合拳删模型 拦下载RemoveMacAI 的价值在于把上述两层之外补完了。它删除模型的入口是 Apple 的私有资产服务桥接代码在 UAF.mdlopen动态加载UnifiedAssetFramework.framework通过 XPC 连接到com.apple.siri.uaf.subscription.service发送ResetAssetSets操作请求逐一删除资产集NSXPCConnection *connection [[NSXPCConnection alloc] initWithMachServiceName:kService options:0]; connection.remoteObjectInterface [interfaceClass defaultInterface]; [connection resume]; ... [proxy operationWithConfig:{Operation : ResetAssetSets, AssetSets : [assetSets copy]} completion:^(NSError *e) { finish(e); }];这一层在设计上做了多道fail-closed保护代码里能逐一对应空列表拒绝UAF.m 中assetSets.count 0直接报错因为服务端把缺失列表理解为删除所有集——防止误伤白名单校验System.swift 的matching(_:)只接受 Catalog 里登记的 5 个模型集未知名称直接抛Failure资产类型与当前 macOS 不匹配的集会被跳过并说明原因而不是强行删除独立超时每个集单发请求、120 秒超时一个集被服务端拒绝不影响其余集CHANGELOG 0.2.4 记录的 macOS 26.5 Spatial Photos 案例就是靠这条兜住的删除后验证removemacai off会轮询资产服务确认剩余字节归零才算完成验证超时不会谎报成功。关键的第三层是下载拦截代码在 Profile.swift// Point the asset service at a closed local port for each removed set, so a // download fails instead of refilling the disk (technique from pared). static let downloadDomain com.apple.MobileAsset static let downloadKeyPrefix DownloadServerBaseURLOverride- static let blockedURL https://127.0.0.1:9/removemacai-blocked/每个被删的模型集都会被写进 profile 一条DownloadServerBaseURLOverride-assetType强制偏好指向127.0.0.1:9这个必然拒绝连接的本地端口。这是彻底性的关键只删不拦系统一有机会就会把模型重新拉回来空间问题很快复发。删除动作本身通过资产服务执行而非直接操作文件这正是社区讨论中不绕 SIP、不越权的落点。顺带一提CLI 与原生 App 是同一套程序main.swift 中根据启动方式分流共用同一份撤销历史journal.json见 Engine.swift。五、三种姿势横评功能、模型、下载三层对表把三组姿势放到功能禁用 / 模型清理 / 下载拦截三层框架里对比差异一目了然维度系统设置开关限制密钥profileRemoveMacAI 组合拳功能禁用部分功能有开关纯模型功能无从下手14 项全覆盖且强制锁定全覆盖 锁定模型清理不触发不触发5 个模型集经 UAF XPC 删除并验证下载拦截无无除非手动加键DownloadServerBaseURLOverride-指向关闭端口后台进程底层服务照常驻留仅受限制密钥影响的入口关闭同左受 SIP 保护的服务不动可逆性随时手动改回移除 profile 即恢复removemacai revert一键全撤需要关 SIP否否否结论很明确三层覆盖是彻底的充分必要条件。手动开关和纯限制密钥都只覆盖第一层模型删除解决第二层下载拦截保证第一、二层的结果不被系统自我修复掉。六、持久性与升级兼容性谁扛得住 macOS 更新社区最关心的第二个问题是系统更新会不会把我的设置冲掉。三种姿势的答案差异同样明显设置开关macOS 更新重置部分偏好是常态更糟的是功能一旦被系统重新拉起来模型下载会自动恢复之前手动删过的东西会原样回来。限制密钥这是它最大的优势。README FAQ 明确写着The profile persists across updates——配置描述文件是系统级管理通道跨版本更新依然生效而且forced语义保证用户无法在 UI 里悄悄改回。RemoveMacAI 还利用稳定 UUID 让新版本 profile 直接替换旧版Profile.swift 的uuid(_:)注释installing a new version replaces the old one。组合拳的额外保障资产类型变化有兜底matching(_:)按当前 macOS 上报的assetType与 Catalog 比对版本变更导致集不存在或不匹配时跳过并明确告知CHANGELOG 0.2.4避免在未知系统上盲删状态读数换源0.2.3 把模型大小来源从 per-set status 改为资产服务的 inventory 盘点修复了 macOS 27.0.1 上已装模型被报为 0、导致什么都不删的问题CHANGELOG.md非 profile 类设置如 Finder、Dock 的defaults write类 tweak如果被更新重置removemacai status/tweaks --json会如实标为未应用重新apply即可journal.json 保存了每一项的原值revert能精确还原Engine.swift。七、怎么选把三种姿势放到真实场景里选择标准其实很清楚只想眼不见为净不在乎磁盘和后台进程系统设置手动关够用且零风险。企业 / 多设备管控用限制密钥限制密钥类 profile且最好直接用removemacai export导出标准.mobileconfig交给 Jamf、Kandji 或 Intune 部署README 的 For Mac admins 一节并在脚本里用removemacai tweaks --json做合规审计。要空间、要干净、要可回滚走组合拳。removemacai off --keep writing-tools这类命令支持选择性保留某项功能且按 Catalog.swift 的setsToRemove逻辑只有被保留功能不再依赖的模型集才会被删除——保留 Writing Tools 就不会动基础大模型但 Genmoji 等独立集照删。最后提醒两点来自源码的边界模型删除后磁盘空间由 macOS 自行调度释放status里 Apple Intelligence 的计数不会立刻归零以及 FAQ 里那个容易误会的现象——macOS 27 中 Spotlight 窗口的进程名就叫 Siri看到它不代表功能没关。选哪一档取决于你愿意在彻底和保守之间把天平放在哪一侧。【免费下载链接】RemoveMacAIDebloat macOS: turn off Apple Intelligence, analytics, ads and pop-ups. A native app and CLI, and every change can be undone.项目地址: https://gitcode.com/gh_mirrors/re/RemoveMacAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考