Shortcuts Generator技能使用说明
2026-03-31
新闻来源:网淘吧
围观:9
电脑广告
手机广告
macOS 快捷指令生成器
生成可被签名并导入苹果快捷指令应用的有效.shortcut文件。
快速入门
一个快捷指令是具有以下结构的二进制属性列表:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>WFWorkflowActions</key>
<array>
<!-- Actions go here -->
</array>
<key>WFWorkflowClientVersion</key>
<string>2700.0.4</string>
<key>WFWorkflowHasOutputFallback</key>
<false/>
<key>WFWorkflowIcon</key>
<dict>
<key>WFWorkflowIconGlyphNumber</key>
<integer>59511</integer>
<key>WFWorkflowIconStartColor</key>
<integer>4282601983</integer>
</dict>
<key>WFWorkflowImportQuestions</key>
<array/>
<key>WFWorkflowMinimumClientVersion</key>
<integer>900</integer>
<key>WFWorkflowMinimumClientVersionString</key>
<string>900</string>
<key>WFWorkflowName</key>
<string>My Shortcut</string>
<key>WFWorkflowOutputContentItemClasses</key>
<array/>
<key>WFWorkflowTypes</key>
<array/>
</dict>
</plist>
最简单的 Hello World 示例
<dict>
<key>WFWorkflowActionIdentifier</key>
<string>is.workflow.actions.gettext</string>
<key>WFWorkflowActionParameters</key>
<dict>
<key>UUID</key>
<string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
<key>WFTextActionText</key>
<string>Hello World!</string>
</dict>
</dict>
<dict>
<key>WFWorkflowActionIdentifier</key>
<string>is.workflow.actions.showresult</string>
<key>WFWorkflowActionParameters</key>
<dict>
<key>Text</key>
<dict>
<key>Value</key>
<dict>
<key>attachmentsByRange</key>
<dict>
<key>{0, 1}</key>
<dict>
<key>OutputName</key>
<string>Text</string>
<key>OutputUUID</key>
<string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
<key>Type</key>
<string>ActionOutput</string>
</dict>
</dict>
<key>string</key>
<string></string>
</dict>
<key>WFSerializationType</key>
<string>WFTextTokenString</string>
</dict>
</dict>
</dict>
核心概念
1. 操作
每个操作都包含:
- 标识符:
is.workflow.actions.<名称>(例如,is.workflow.actions.showresult) - 参数:在
WFWorkflowActionParameters - 中特定于操作的配置UUID
:用于引用此操作输出的唯一标识符
2. 变量引用
- 源操作需要一个
UUID参数 - 通过
OutputUUID在attachmentsByRange字典中引用它 - 使用
(U+FFFC) 作为字符串中变量的占位符 - 将
WFSerializationType设置为WFTextTokenString
3. 控制流
控制流操作(重复、条件、菜单)使用:
GroupingIdentifier:用于链接开始/中间/结束操作的UUIDWFControlFlowMode:0=开始,1=中间(否则/分支),2=结束
常见操作快速参考
| 操作 | 标识符 | 关键参数 |
|---|---|---|
| 文本 | is.workflow.actions.gettext | WFTextActionText |
| 显示结果 | is.workflow.actions.showresult | 文本 |
| 请求输入 | is.workflow.actions.ask | WFAskActionPrompt,WFInputType |
| 使用AI模型 | is.workflow.actions.askllm | WFLLMPrompt,WFLLMModel,WFGenerativeResultType |
| 注释 | is.workflow.actions.comment | WFCommentActionText |
| URL | is.workflow.actions.url | WFURLActionURL |
| 获取URL内容 | is.workflow.actions.downloadurl | WFURL,WFHTTPMethod |
| 获取天气 | is.workflow.actions.weather.currentconditions | (无需参数) |
| 打开应用 | is.workflow.actions.openapp | WFAppIdentifier |
| 打开URL | is.workflow.actions.openurl | WFInput |
| 提示框 | is.workflow.actions.alert | WFAlertActionTitle,WFAlertActionMessage |
| 通知 | is.workflow.actions.notification | WFNotificationActionTitle,WFNotificationActionBody |
| 设置变量 | 设置变量 | WF变量名称,WF输入 |
| 获取变量 | 获取变量操作 | WF变量 |
| 数字 | 数字操作 | WF数字操作数字 |
| 列表 | 列表操作 | WF项目 |
| 字典 | 字典操作 | WF项目 |
| 重复(次数) | 重复操作(按次数) | WF重复次数,分组标识符,WF控制流模式 |
| 重复(每个) | 重复操作(按每个) | WF输入,分组标识符,WF控制流模式 |
| 如果/否则 | is.workflow.actions.conditional | WF输入,WF条件,分组标识符,WF控制流模式 |
| 从菜单选择 | is.workflow.actions.choosefrommenu | WF菜单提示,WF菜单项,分组标识符,WF控制流模式 |
| 查找照片 | is.workflow.actions.filter.photos | WF内容项过滤器(参见 FILTERS.md) |
| 删除照片 | is.workflow.actions.deletephotos | 照片(非 WF输入!) |
详细参考文件
完整文档请参阅:
- PLIST_FORMAT.md- 完整的 plist 结构
- ACTIONS.md- 所有 427 个 WF*Action 标识符和参数
- APPINTENTS.md- 所有 728 个 AppIntent 操作
- PARAMETER_TYPES.md- 所有参数值类型和序列化格式
- VARIABLES.md- 变量引用系统
- CONTROL_FLOW.md- 重复、条件、菜单模式
- FILTERS.md- 查找/筛选操作的内容过滤器(照片、文件等)
- 示例文档- 完整可运行的示例
快捷指令签名
快捷指令在导入前必须进行签名。请使用macOS系统的快捷指令命令行工具:
# Sign for anyone to use
shortcuts sign --mode anyone --input MyShortcut.shortcut --output MyShortcut_signed.shortcut
# Sign for people who know you
shortcuts sign --mode people-who-know-me --input MyShortcut.shortcut --output MyShortcut_signed.shortcut
签名流程:
- 将您的属性列表以XML格式写入
.shortcut文件 - 运行
shortcuts sign命令添加加密签名(约增加19KB) - 签名后的文件可在快捷指令应用中打开/导入
创建快捷指令的工作流程
- 定义操作- 列出快捷指令应执行的功能
- 生成UUID- 每个产生输出的操作都需要唯一的UUID
- 构建操作数组- 为每个操作创建包含标识符和参数字典
- 连接变量引用- 使用以下方式将输出连接到输入
输出UUID - 包装为plist格式- 添加包含图标、名称、版本的根结构
- 写入文件- 保存为
.shortcut(XML plist格式即可) - 签名- 运行
shortcuts sign使其可导入
关键规则
- UUID必须大写:
A1B2C3D4-E5F6-7890-ABCD-EF1234567890 - WFControlFlowMode为整型:使用
<integer>0</integer>而非<string>0</string> - 范围键使用格式:
{起始位置, 长度}- 例如,{0, 1}用于第一个字符 - 占位字符:
(U+FFFC)标记变量插入的位置 - 控制流需要匹配的结束标记:每个重复/如果/菜单的开始都需要一个具有相同
分组标识符的结束动作
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~