AppleScript 无法控制 Siri,因其语音功能运行在受保护的系统进程 assistantd 中且未开放脚本接口;替代方案包括使用快捷指令自动化、AppleScript 调用快捷指令或模拟系统操作。

AppleScript 无法直接控制 Siri 发送语音指令或调用 Siri 的语音识别功能。
为什么 AppleScript 不能控制 Siri
Siri 是苹果深度集成的系统服务,其语音输入、自然语言理解与响应流程全部运行在受保护的系统进程(如 assistantd)中,且未向 AppleScript 或普通开发者开放可调用的脚本接口。AppleScript 只能操作明确支持脚本化的应用程序(如 Finder、Mail、Calendar),而 Siri 不在此列。
- iOS/macOS 均未提供 Siri 的 AppleScript 字典(Script Editor 中无法查看 Siri 的术语)
- 没有公开的 AppleScript 命令如
tell application "Siri" to activate或类似语法 - 系统级语音助手不接受外部脚本触发语音指令,出于隐私与安全限制
可替代的自动化方案
虽然不能“控制 Siri”,但可通过其他方式实现类似效果——即让系统执行 Siri 通常响应的操作:
使用 inotes CLI 从终端管理 Apple Notes。当需要在 macOS 的 Notes.app 中列出、读取、创建、编辑、删除或搜索备忘录时使用。
- 使用快捷指令(Shortcuts)+ 自动化:在 macOS Monterey 及更新版本中,可通过“快捷指令”App 创建无需 Siri 唤醒的操作(如打开应用、发送消息、设置提醒),再用“自动化”触发(定时、到达地点、点击菜单栏等)
-
AppleScript 调用快捷指令:
do shell script "shortcuts run '我的快捷指令'"(需 macOS Ventura 或更新版本,并确保快捷指令已设为“允许不受信任的快捷指令”) -
触发系统服务:例如用 AppleScript 模拟按键(
key code 126向上箭头)或调用system events执行菜单命令,间接完成部分 Siri 常做任务(如“查找文件”可用 Spotlight API 实现)
注意权限与限制
任何绕过 Siri 的自动化操作都需手动授权:
- 首次运行 AppleScript 访问“系统事件”或模拟按键时,需在“系统设置 > 隐私与安全性 > 自动化”中启用对应脚本
- 快捷指令若涉及敏感操作(如发送信息、读取邮件),需单独授权
- macOS 不允许脚本“伪造”用户语音输入,因此不存在真正意义上的“自动说‘嘿 Siri’”方案
不复杂但容易忽略:想让 Mac 自动做某事,优先查快捷指令能否覆盖;再考虑 AppleScript 调用它;而不是尝试驱动 Siri 本身。

















