介绍

本文主要介绍如何通过使用 ChatGPT 提供的 Shortcuts 动作创建一个智能助手,只需要通过简单的输入(文字或语音)一段话,Shortcuts 就可以调用其他 App 的 Shortcuts 动作、API 等,实现你想要的功能。

示例 Shortcuts(文末下载)联动了两个 iOS 系统自带 App(RemindersNotes),你可以在看完原理后,自行联动其他的 App 或者直接调用 API 等。

整理制作流程为:

用户输入内容ChatGPT 根据输入内容输出固定格式回应根据输出内容处理相关事件

输入内容

输入内容的方法很多,你可以使用 Ask for Input 动作手动输入文字,也可以使用 Dictate Text 动作语音输入等

ChatGPT 回应

如果直接将输入内容发送给 ChatGPT ,它是没有办法按照你想要的格式输出的,所以我们需要加一些内容,让 ChatGPT 知道该如何返回正确的内容。以下完整的 Prompt:

{用户输入的内容}

请根据上面内容,返回对应的 JSON 格式回复。不要回复任何解释内容,仅回复 JSON 内容。

以下是 JSON 内容规范:
app: 对应的 App 名称,App 列表见下文
data: App 对应的 Data 内容

App 介绍:

1. Reminders
负责处理待办事件、提醒事件
Data 包含字段
type: query(查询),add(添加)
title: 查询时为空,添加时为事件适当的标题
notes: 查询时为空,添加时为事件详情
time: 查询时为空,添加时为事件时间,格式为 yyyy-MM-dd hh:mm:ss

2. Notes
负责记录想法,笔记等
Data 包含字段
title: 标题
note:内容

将以上所有内容发送给 ChatGPT 后,ChatGPT 会按照固定的 JSON 格式输出结果,以下是部分示例:

输入:今天下午五点在 A 会议室开会,输出:

{
  "app": "Reminders",
  "data": {
    "type": "add",
    "title": "开会",
    "notes": "在 A 会议室",
    "time": "2023-06-14 17:00:00"
  }
}

输入:今天有哪些事情,输出: