SkyBlue997/enableMacosAIPublic

国行 Mac 一键开启完整 Apple 智能(端侧 + Private Cloud Compute 云端)· macOS 27 / Apple Silicon

AI summary: A system script that patches IORegistry values to enable Apple Intelligence on restricted macOS Sequoia installations.

Stars
2.2K
+11 today
Forks
126
Watchers
13
Open issues
18
Open PRs
5
Contributors
~1
Commits
4
Branches
1

ShellNo licenseCreated Jun 10, 2026Last push 24d ago+35 stars this week+378 this month

Quick answers

What is enableMacosAI?
A system script that patches IORegistry values to enable Apple Intelligence on restricted macOS Sequoia installations.
What does enableMacosAI do?
This utility enables Apple Intelligence features on macOS Sequoia installations that are either running on unsupported hardware or located in regionally restricted areas like the EU. It works by automating the complex process of modifying deep system configurations, specifically spoofing the Mac's regional identifiers (e.g., changing 'CH/A' to 'LL/A') within the IORegistry. It safely navigates the required toggling of System Integrity Protection (SIP) and clears the necessary daemon caches to force the OS to fetch and activate the local AI models. This allows power users to bypass artificial limitations on their machines.
Who is enableMacosAI for?
This tool is exclusively for advanced Mac users and developers who are comfortable modifying core OS settings and disabling SIP. It carries risks and should only be used by those understanding the implications of system patching.
How do I get started with enableMacosAI?
sudo ./enableAI.sh
How popular is enableMacosAI on GitHub?
SkyBlue997/enableMacosAI has 2,182 stars and 126 forks on GitHub, and gained 35 stars in the last 7 days.

Star history

since Jul 28, 2026
01K2KJul 2026Aug 2026Sep 2026Oct 2026
2.2K stars as of Oct 4, 2026. Measured daily since Jul 28, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
OctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 0 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 0 commits2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 0 commits2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 0 commits2026-01-20: 0 commits2026-01-21: 0 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 0 commits2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 0 commits2026-02-03: 0 commits2026-02-04: 0 commits2026-02-05: 0 commits2026-02-06: 0 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 0 commits2026-02-12: 0 commits2026-02-13: 0 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 0 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 0 commits2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 0 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 0 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 0 commits2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 0 commits2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 0 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 0 commits2026-05-30: 0 commits2026-05-31: 0 commits2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 1 commit2026-06-11: 0 commits2026-06-12: 1 commit2026-06-13: 1 commit2026-06-14: 0 commits2026-06-15: 0 commits2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 0 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 0 commits2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits2026-08-02: 0 commits2026-08-03: 0 commits2026-08-04: 0 commits2026-08-05: 0 commits2026-08-06: 0 commits2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 0 commits2026-08-14: 0 commits2026-08-15: 0 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 0 commits2026-08-25: 0 commits2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 1 commit2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 0 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits2026-09-27: 0 commits2026-09-28: 0 commits2026-09-29: 0 commits2026-09-30: 0 commits2026-10-01: 0 commits2026-10-02: 0 commits2026-10-03: 0 commits
4 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Continuous integration

    Automated checks passing

What enableMacosAI does

This utility enables Apple Intelligence features on macOS Sequoia installations that are either running on unsupported hardware or located in regionally restricted areas like the EU. It works by automating the complex process of modifying deep system configurations, specifically spoofing the Mac's regional identifiers (e.g., changing 'CH/A' to 'LL/A') within the IORegistry. It safely navigates the required toggling of System Integrity Protection (SIP) and clears the necessary daemon caches to force the OS to fetch and activate the local AI models. This allows power users to bypass artificial limitations on their machines.

This tool is exclusively for advanced Mac users and developers who are comfortable modifying core OS settings and disabling SIP. It carries risks and should only be used by those understanding the implications of system patching.

  • IORegistry Spoofing: Alters deep system variables to trick macOS into believing it is in a supported region.
  • Automated Patching: Replaces error-prone manual terminal commands with a single, streamlined shell script.
  • Cache Invalidation: Automatically clears the relevant daemon caches to trigger immediate re-evaluation of AI eligibility.
  • SIP Awareness: Guides users through the mandatory steps of disabling System Integrity Protection required for these modifications.
  • Hardware Check Bypass: Helps bypass the artificial hardware limitations placed on older Apple Silicon Macs.

Where teams use it

Regional Unlocking

Enable Apple Intelligence features like advanced Siri and writing tools on Macs physically located in the EU.

Testing on Older Hardware

Force-enable AI features on early Apple Silicon machines that Apple has artificially restricted.

Feature Exploration

Allow developers outside the US to test their applications against the new Apple Intelligence APIs.

System Modification

Automate the tedious process of spoofing device identifiers for various macOS tweaks.

Getting started: sudo ./enableAI.sh

README

main branch

RegionSpoof — 在国行 Mac(macOS 27)上恢复 Apple 智能资格

一个极简内核扩展(kext),在 IORegistry 源头把设备区域码从 CH/A 改成 LL/A(美版), 让 MobileGestalt 对全系统每个进程都返回美版区域,从而让国行机通过 Apple Intelligence 的设备区域资格门。**它解决的是资格层,不是 Apple 服务端或 Private Cloud Compute(PCC) 的网络层。**端侧模型可用但联网 AI 不可用时,先用本项目的 PCC 诊断器分类,不要把 GREYMATTER=4 误当成“云端一定可用”。

macOS 27 RC 现状(26A428)

在本机 Mac15,9 / M3 Max 上,RC 版一切正常:kext 已加载,region-info=LL/A,GREYMATTER=4, 端侧模型与 PCC 云端功能均可用。Beta 4 期间出现过的云端请求超时(中继 / 证明冷启动慢于调用方超时) 在 RC 上没有复现。若你的机器仍遇到云端功能报错,用 sudo ./install.sh pcc 分类后对照「故障排查」处理, 不要删证明库或连续重试。

快速安装(一键,推荐)

sudo ./install.sh

脚本自动完成:检查 SIP / Apple Silicon、移除会杀死 PCC 的 amfi_get_out_of_my_way boot-arg、 安装 kext + 配置开机自启、加载并刷新 Apple 智能守护进程。首次会提示你去 「系统设置 → 隐私与安全性」点一次 允许 后重启。

sudo ./install.sh status      # 体检:SIP / AMFI / region / kext / 资格 一览
sudo ./install.sh diagnose    # 一键诊断:把所有关键状态打成一段纯文本(报 issue 直接贴这个)
sudo ./install.sh pcc         # 只读分类最近 30 分钟 PCC/中继/令牌状态
sudo ./install.sh uninstall   # 卸载,恢复原始区域

推荐前提:恢复模式里运行 csrutil enable --without kext,只关闭 kext 签名检查。完整 csrutil disable 也能运行,但关闭的保护超过本项目所需。脚本现在可识别这两种状态。

原理

  • 资格门的根因:MGGetStringAnswer("RegionCode") == "CH" → Apple 智能被关。
  • 该值实时来自 IORegistry IOPlatformExpertDevice 的 region-info 属性("CH/A"), 并非任何 plist 缓存(macOS 27 的 eligibilityd 基于 SwiftData 实时重算,旧的改 plist / 锁 uchg 方法全部失效)。
  • 本 kext 匹配 IOPlatformExpertDevice,在 start() 里 setProperty("region-info", "LL/A") + setProperty("country-of-origin", "USA") —— 全系统进程从源头读到美版,资格 / 模型下发 / 前端 UI 自然一通百通,无需逐进程注入。

文件

路径 作用
install.sh 一键安装 / 卸载 / 体检脚本
pcc-diagnose.sh PCC/隐私中继/证明节点只读分类器,不输出请求内容
tests/test-pcc-diagnose.sh PCC 分类器离线夹具测试
perapp-zh/ 逐 App 汉化:全局保持英文保资格,Finder / 自带 App / 小组件 / 系统设置界面中文;一键回退(见 perapp-zh/README.md)
src/RegionSpoof.cpp kext 源码(IOService,改 region-info)
src/kmod_info.c kext 入口声明,提供链接必需的 _kmod_info 符号
src/Info.plist kext bundle 的 Info.plist(IOKitPersonalities 匹配 IOPlatformExpertDevice)
BUILD.md 完整编译 / 链接命令
RegionSpoof.kext/ 已编译好的 kext(arm64e,ad-hoc 签名)
com.local.regionkext.plist LaunchDaemon,开机早期自动加载 kext 并刷新 AI 守护进程
region-kext-load.sh LaunchDaemon 调用的加载脚本

前置条件(Apple Silicon)

  1. 允许第三方 kext —— 推荐在恢复模式(1TR)运行 csrutil enable --without kext;如系统 不接受再用 csrutil disable。前者保留更多 SIP 保护。
  2. nvram boot-args 里不能有 amfi_get_out_of_my_way=1。安装器只检测并移除这个显式 AMFI 绕过参数;它不会再仅凭 boot-arg 为空就宣称“AMFI/PCC 已正常”。
  3. kext 首次加载需在 系统设置 → 隐私与安全性 里点 Allow 后重启。
  4. Apple 账户「媒体与购买项目」地区必须是 Apple 智能支持区(不能是中国/CN) —— 改成 美国 / 日本等(系统设置 → 顶部你的名字 → 媒体与购买项目 → 管理 → 国家/地区)。
  5. 系统语言 == Siri 语言,且为 Apple 智能支持的语言 —— 最稳是两者都设成 English (US)。 想保留中文界面又不掉新 Siri,见下方「中文界面」一节(perapp-zh/),不要改全局语言。

⚠️ kext 只负责"区域"这一项。 GREYMATTER 资格要 ~10 个输入(区域、账户地区、语言匹配、 设备类型……)全部满足才会变 4。若装好后 region=LL/A 和 kext 都已就位、但 GREYMATTER 仍是 2,八成卡在账户地区或语言上。跑这条查看各项输入(最终仍以 domain answer 为准; 个别输入为 2 不一定能单独解释整个域):

sudo /usr/libexec/PlistBuddy -c "Print :OS_ELIGIBILITY_DOMAIN_GREYMATTER:status" \
  /private/var/db/eligibilityd/eligibility.plist

改完对应设置后,sudo launchctl kickstart -k system/com.apple.eligibilityd 或重启即可。

手动安装(可选)

sudo cp -R RegionSpoof.kext /Library/Extensions/
sudo chown -R 0:0 /Library/Extensions/RegionSpoof.kext
sudo cp region-kext-load.sh /usr/local/bin/ && sudo chmod +x /usr/local/bin/region-kext-load.sh
sudo cp com.local.regionkext.plist /Library/LaunchDaemons/
sudo kmutil load -p /Library/Extensions/RegionSpoof.kext   # 首次提示去设置 Allow → 重启

验证

# region-info 应为 0x4c4c2f41 ("LL/A")
ioreg -ard1 -c IOPlatformExpertDevice | plutil -p - | grep region-info
# GREYMATTER 资格应为 4 (eligible)
sudo /usr/libexec/PlistBuddy -c 'Print :OS_ELIGIBILITY_DOMAIN_GREYMATTER:os_eligibility_answer_t' \
  /private/var/db/eligibilityd/eligibility.plist

中文界面(逐 App 汉化,不掉资格)

资格判定读的是用户全局的 AppleLanguages 与 Siri 语言,而新 Siri 的语言白名单目前只有英文。 系统语言一旦切成中文,新 Siri 就会掉——这一点已在 eligibilityd 里逐指令核实,界面语言和资格用的是 同一个值,没有"选中文但对检测器伪装英文"的余地。

perapp-zh/ 反过来做:全局保持 English,把中文写进每个 App 自己的偏好域(等价于「语言与地区 → 应用程序」逐个添加),eligibilityd 不读这些域;系统设置这类被 Apple 硬排除的 App,由一个常驻代理带 -AppleLanguages 启动参数拉起,Dock 单图标、深链接不丢目标。所有改动记录在案,可一键回退。

cd perapp-zh
./perapp-zh.sh dry-run       # 只统计,不改任何东西
./perapp-zh.sh all           # Finder / Dock / 自带 App / 小组件 / 系统设置
./perapp-zh.sh third-party   # 第三方 App(范围大,单独开)
./perapp-zh.sh status        # 看当前状态与资格
./perapp-zh.sh revert        # 一键回退,逐项恢复原值

不要用 sudo 跑它(改的是当前用户偏好)。细节、边界与回退机制见 perapp-zh/README.md。

故障排查

拿不准卡在哪,先跑一键诊断: sudo ./install.sh diagnose —— 它把 SIP / AMFI / region / kext / GREYMATTER 逐项 / 语言与汉化状态 / PCC 日志一次性打成一段纯文本,对照下面各节即可定位。提 issue 时也请直接贴这段输出 (无隐私信息),否则很难帮你诊断。

region=LL/A 和 kext 都已就位,但 GREYMATTER 仍是 2

区域只是 ~10 个资格输入之一,八成卡在账户地区或语言(见上方「前置条件」第 4/5 条)。 跑这条查看输入状态;不要把任意一个 2 直接当成根因,最终以 GREYMATTER 的 domain answer 为准。改完对应设置后 sudo launchctl kickstart -k system/com.apple.eligibilityd 或重启:

sudo /usr/libexec/PlistBuddy -c "Print :OS_ELIGIBILITY_DOMAIN_GREYMATTER:status" \
  /private/var/db/eligibilityd/eligibility.plist

COUNTRY_LOCATION 仍是 2(地理围栏)

DEVICE_REGION_CODE 由 kext 解决;COUNTRY_LOCATION 是另一回事:它由 countryd 根据定位服务、 周边 Wi-Fi、IP 等综合判断,本项目不处理这一项。看 diagnose 逐项输入里的 OS_ELIGIBILITY_INPUT_COUNTRY_LOCATION,是 2 就说明卡在这里。

  • 自 27 beta 4 起有用户反馈不必再改定位,把代理按下一节配好就行(#80)。先试这个。
  • 社区做法(均未经本项目验证,自担风险):
    1. 用 wloc 把定位改到美国,然后 sudo killall locationd, 再 sudo launchctl kickstart -k system/com.apple.eligibilityd。只改定位不杀 locationd 无效(#73)。
    2. 把 /private/var/db/com.apple.countryd/countryCodeCache.plist 里的 CN 全改成 US, chflags uchg 锁定后重启(#40)。副作用:锁住的缓存系统无法再更新,且有人 24 小时后又回落。
    3. 完全重装 macOS 后立刻运行安装脚本,不给系统留下 Wi-Fi 痕迹(#36)。
  • 直接改 eligibility.plist 里的数值没用,eligibilityd 会实时重算(#73)。

云端功能需要的代理写法(社区验证)

PCC 走的是 Apple 私有中继,普通的系统 HTTP 代理对它无效。多位用户反复验证出的组合(#49 #59 #80):

  • TUN / 增强模式 + 全局。规则模式要给 Apple 相关域名补规则,最省事是全局。Surge 用户:只开增强模式, 不要开 system proxy(#59)。
  • 开机联网后立刻挂上代理,再登录、再用 AI。节点要稳定且快,速度时快时慢会表现为时好时坏的报错(#49)。
  • 反复失败时别连点,先 sudo ./install.sh pcc 分类;32033 是限流,等一段时间再试一次。
  • Apple 的服务端围栏会变(#51 里 8/13 放开、8/14 又收紧),PCC 时好时坏不一定是本地问题。

kext 没加载(region 仍是 CH)

  • kext 签名检查仍开启 → 回恢复模式运行 csrutil enable --without kext(或完整 csrutil disable);
  • 没批准 → kmutil load -p 报 not approved → 系统设置 → 隐私与安全性 → Allow → 重启;
  • Authenticating extension failed: Bad code signature → 先用 csrutil status 确认输出里 Kext Signing: disabled。不要仅按“部分/完整 SIP”猜测;macOS 27 已有仅 kext 豁免成功案例;
  • 系统版本差异 → 太新/太旧的 macOS 可能验签或 KPI 不符,需用 BUILD.md 从源码重编。

PCC 云端功能报错(写作工具语气改写 / 图乐园 / Reframe 等)

**端侧模型正常并不能证明 PCC 正常。**先运行只读分类器,别连环点——每次失败都可能触发 Apple 后端限流:

sudo ./install.sh pcc                 # 默认最近 30 分钟
sudo ./install.sh pcc --since 2h      # 自定义窗口
分类 含义 解法
HEALTHY 最近请求完成了证明验证和 PCC 调用 云端链路在该时刻已实证可用
CALLER_TIMEOUT_PCC_LATE PCC 最终成功,但 Mail/调用应用已经先超时 只能算 PCC 基础链路通,不能算端到端成功;检查证明池/预取
RATE_LIMITED 32001 / RetryAfter 停手,按时间等待;没有时间时至少等数小时
RELAY_OR_INLINE_TIMEOUT NWError 89 / 32057 / 32080,或只收到不足 2 个内联节点 等令牌补充后只重试一次;检查当前中继/网络,不删库
ATTESTATION_CACHE_MISS 本地证明库暂时没有可用节点 让守护进程在线回填,先等待
PREFETCH_STALLED 后台预取持续超过 2 分钟但证明池仍为空 预取流卡在中继/服务端;不要删库,先处理网络路径或稍后再试
NO_RECENT_REQUEST 窗口内没有结束的 PCC 请求 触发一次不含隐私内容的联网操作,等约 60 秒再跑

Sandbox: privatecloudcomputed deny ... AppleKeyStoreUserClient / AKS Locked 只作旁证,不能 单独判死刑:成功的 PCC 请求也可能伴随同类记录。旧版 README 的“删除证明池”步骤 已移除;对中继交付超时删库既不对因,还可能让冷启动更慢。

卸载

sudo launchctl bootout system/com.local.regionkext 2>/dev/null
sudo rm -f /Library/LaunchDaemons/com.local.regionkext.plist /usr/local/bin/region-kext-load.sh
sudo rm -rf /Library/Extensions/RegionSpoof.kext
sudo kmutil unload -b com.local.RegionSpoof 2>/dev/null
# 重启即恢复原区域

已知边界(实测确认)

  • 本 kext 是 ad-hoc 签名,必须关闭 kext 签名检查;推荐 csrutil enable --without kext,不再 要求完整 Permissive。不同机器若仍报签名错误,以 csrutil status 的 Kext Signing 行和 本地安全策略为准。
  • PCC 云端还依赖中继令牌、内联证明和 Apple 服务端状态;RegionSpoof 只负责资格门。切勿添加 amfi_get_out_of_my_way boot-arg,但 boot-arg 为空也不是 PCC 成功证明。
  • "New Siri" 等候名单 是 Apple 服务端分批下发,与本地改区域无关。
  • 新 Siri 的语言白名单目前只有英文(en-*),系统语言设为中文会直接掉新 Siri;要中文界面走 perapp-zh/,别改全局语言。
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Code frequency

additions and deletions
+764-764Week of 2026-06-07: +764 linesWeek of 2026-06-07: -7 linesWeek of 2026-06-14: +0 linesWeek of 2026-06-14: -0 linesWeek of 2026-06-21: +0 linesWeek of 2026-06-21: -0 linesWeek of 2026-06-28: +0 linesWeek of 2026-06-28: -0 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +0 linesWeek of 2026-07-12: -0 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesWeek of 2026-08-02: +0 linesWeek of 2026-08-02: -0 linesWeek of 2026-08-09: +0 linesWeek of 2026-08-09: -0 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesWeek of 2026-08-23: +0 linesWeek of 2026-08-23: -0 linesWeek of 2026-08-30: +0 linesWeek of 2026-08-30: -0 linesWeek of 2026-09-06: +0 linesWeek of 2026-09-06: -0 linesJun 7, 2026Sep 6, 2026
+764 lines added, -7 removed over the last year.

Commits per week

last 52 weeks
30Week of 2025-10-05: 0 commitsWeek of 2025-10-12: 0 commitsWeek of 2025-10-19: 0 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 0 commitsWeek of 2025-12-28: 0 commitsWeek of 2026-01-04: 0 commitsWeek of 2026-01-11: 0 commitsWeek of 2026-01-18: 0 commitsWeek of 2026-01-25: 0 commitsWeek of 2026-02-01: 0 commitsWeek of 2026-02-08: 0 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 0 commitsWeek of 2026-03-01: 0 commitsWeek of 2026-03-08: 0 commitsWeek of 2026-03-15: 0 commitsWeek of 2026-03-22: 0 commitsWeek of 2026-03-29: 0 commitsWeek of 2026-04-05: 0 commitsWeek of 2026-04-12: 0 commitsWeek of 2026-04-19: 0 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 0 commitsWeek of 2026-05-24: 0 commitsWeek of 2026-05-31: 0 commitsWeek of 2026-06-07: 3 commitsWeek of 2026-06-14: 0 commitsWeek of 2026-06-21: 0 commitsWeek of 2026-06-28: 0 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 0 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 0 commitsWeek of 2026-08-02: 0 commitsWeek of 2026-08-09: 0 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 0 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 1 commitsWeek of 2026-09-13: 0 commitsWeek of 2026-09-20: 0 commitsWeek of 2026-09-27: 0 commitsOct 5, 2025Sep 27, 2026
4 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 0 commitsSun 1:00 — 0 commitsSun 2:00 — 0 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 0 commitsSun 7:00 — 0 commitsSun 8:00 — 0 commitsSun 9:00 — 0 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 0 commitsSun 14:00 — 0 commitsSun 15:00 — 0 commitsSun 16:00 — 0 commitsSun 17:00 — 0 commitsSun 18:00 — 0 commitsSun 19:00 — 0 commitsSun 20:00 — 0 commitsSun 21:00 — 0 commitsSun 22:00 — 0 commitsSun 23:00 — 0 commitsMon 0:00 — 0 commitsMon 1:00 — 0 commitsMon 2:00 — 0 commitsMon 3:00 — 0 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 0 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 0 commitsMon 12:00 — 0 commitsMon 13:00 — 0 commitsMon 14:00 — 0 commitsMon 15:00 — 0 commitsMon 16:00 — 0 commitsMon 17:00 — 0 commitsMon 18:00 — 0 commitsMon 19:00 — 0 commitsMon 20:00 — 0 commitsMon 21:00 — 0 commitsMon 22:00 — 0 commitsMon 23:00 — 0 commitsTue 0:00 — 0 commitsTue 1:00 — 0 commitsTue 2:00 — 0 commitsTue 3:00 — 0 commitsTue 4:00 — 0 commitsTue 5:00 — 0 commitsTue 6:00 — 0 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 0 commitsTue 10:00 — 0 commitsTue 11:00 — 0 commitsTue 12:00 — 0 commitsTue 13:00 — 0 commitsTue 14:00 — 0 commitsTue 15:00 — 0 commitsTue 16:00 — 0 commitsTue 17:00 — 0 commitsTue 18:00 — 0 commitsTue 19:00 — 0 commitsTue 20:00 — 0 commitsTue 21:00 — 0 commitsTue 22:00 — 0 commitsTue 23:00 — 0 commitsWed 0:00 — 0 commitsWed 1:00 — 0 commitsWed 2:00 — 0 commitsWed 3:00 — 0 commitsWed 4:00 — 0 commitsWed 5:00 — 0 commitsWed 6:00 — 0 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 0 commitsWed 10:00 — 0 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 0 commitsWed 14:00 — 0 commitsWed 15:00 — 0 commitsWed 16:00 — 0 commitsWed 17:00 — 0 commitsWed 18:00 — 0 commitsWed 19:00 — 0 commitsWed 20:00 — 0 commitsWed 21:00 — 0 commitsWed 22:00 — 1 commitsWed 23:00 — 0 commitsThu 0:00 — 0 commitsThu 1:00 — 0 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 0 commitsThu 6:00 — 0 commitsThu 7:00 — 0 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 0 commitsThu 11:00 — 0 commitsThu 12:00 — 0 commitsThu 13:00 — 0 commitsThu 14:00 — 0 commitsThu 15:00 — 0 commitsThu 16:00 — 0 commitsThu 17:00 — 0 commitsThu 18:00 — 0 commitsThu 19:00 — 0 commitsThu 20:00 — 0 commitsThu 21:00 — 1 commitsThu 22:00 — 0 commitsThu 23:00 — 0 commitsFri 0:00 — 0 commitsFri 1:00 — 0 commitsFri 2:00 — 0 commitsFri 3:00 — 0 commitsFri 4:00 — 0 commitsFri 5:00 — 0 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 0 commitsFri 9:00 — 0 commitsFri 10:00 — 0 commitsFri 11:00 — 0 commitsFri 12:00 — 0 commitsFri 13:00 — 0 commitsFri 14:00 — 0 commitsFri 15:00 — 0 commitsFri 16:00 — 0 commitsFri 17:00 — 0 commitsFri 18:00 — 0 commitsFri 19:00 — 1 commitsFri 20:00 — 0 commitsFri 21:00 — 0 commitsFri 22:00 — 0 commitsFri 23:00 — 0 commitsSat 0:00 — 0 commitsSat 1:00 — 0 commitsSat 2:00 — 0 commitsSat 3:00 — 0 commitsSat 4:00 — 0 commitsSat 5:00 — 0 commitsSat 6:00 — 0 commitsSat 7:00 — 0 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 0 commitsSat 12:00 — 0 commitsSat 13:00 — 0 commitsSat 14:00 — 0 commitsSat 15:00 — 0 commitsSat 16:00 — 1 commitsSat 17:00 — 0 commitsSat 18:00 — 0 commitsSat 19:00 — 0 commitsSat 20:00 — 0 commitsSat 21:00 — 0 commitsSat 22:00 — 0 commitsSat 23:00 — 0 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits4 (100%)
Community commits0 (0%)

4 commits in total over the last year.

DateListRankStars gained
Jun 13, 2026daily#24+30
  • obra/superpowers

    An agentic skills framework & software development methodology that works.

    295.2K stars · Shell

  • mattpocock/skills

    Skills for Real Engineers. Straight from my .agents directory.

    276K stars · Shell

  • msitarzewski/agency-agents

    A complete AI agency at your fingertips - From frontend wizards to Reddit community ninjas, from whimsy injectors to reality checkers. Each agent is a specialized expert with personality, processes, and proven deliverables.

    156.5K stars · Shell

  • nvm-sh/nvm

    Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions.

    95.3K stars · Shell

  • tw93/Mole

    🐹 Clean, uninstall, analyze, optimize, and monitor your Mac. Free open-source CLI, plus a native Mac app.

    69.1K stars · Shell

  • omacom/omarchy

    Beautiful, Modern & Opinionated Linux

    43.8K stars · Shell