ZON

Route B · Shortcuts 跑通手册(iPhone 实时转写 + Watch best-effort 触发)

更新:2026-02-02 · 目标:先跑通触发链路(M0),再接入录音转写(M1)
Route B iPhone Realtime Watch Best-effort Focus / Shortcuts / Siri
M0
Watch 点一下 → iPhone 通知
成功信号
Focus 状态变化 + REC ON/OFF
M1
把通知替换为打开 URL
底线
不承诺口袋 100% 唤起开麦
这页按你的“路线 B”合同写:iPhone 端负责“确定性能力”(录音+实时转写+存储+清理),Watch 端只负责 best-effort 触发(能触发最好,触发不了也要让失败可见)。

M0 · Smoke Test

先跑通:Watch → iPhone 的“无提示链路”

你要做的 4 步(只验证链路,不碰开麦)

  1. iPhone:新建 Focus:Recording
  2. iPhone:自动化(当 Recording 开启时)→ 动作:显示通知:REC ON(尽量关闭“运行前询问”)。
  3. iPhone:自动化(当 Recording 关闭时)→ 动作:显示通知:REC OFF。
  4. Watch:创建快捷指令 REC Toggle(切换 Recording Focus),并加到表盘 Complication。

验收(必须可复现)

  • 锁屏:Watch 点一下 → iPhone 出现 REC ON;再点一下 → REC OFF。
  • 每个方向各做 3 次:如果有一次失败,就先修链路(蓝牙/同 Apple ID/快捷指令权限/自动化设置)。
  • 若自动化无法关闭“运行前询问”:路线 B 会退化为 best-effort(需要你手动点确认)。
Apple Watch Complication / Shortcuts iPhone Focus Recording ON/OFF iPhone Automation When Focus toggles Action Notify (M0) App Open URL (M1) best-effort boundary 验证顺序 先确认 Watch → Focus → Automation 能“无提示执行动作”(通知/计时器);再把动作替换成“打开 URL”。
结构图:把 Focus 当成跨设备“信号”。先验证信号通(M0),再接入录音/转写(M1)。

M1 · Connect

把“信号”接到“录音转写”(Route B)

理想(能无提示执行时)

  1. iPhone 自动化:把“显示通知”替换为:打开 URLvoicetranscribe://toggle
  2. App 处理 deep link 后开始/停止录音,并立刻给“已开始/已停止”的可见反馈(通知/状态)。

保底(最稳,适配 best-effort)

  • 自动化继续只做:通知/震动提示“点开 App 开始/结束”。
  • 真正一键入口放在 iPhone:Action Button / 锁屏小组件 / Back Tap。
Trigger Unlocked Locked Pocket Fit App 内按钮(前台) 3/3 2/3 2/3 3 iPhone 快捷指令:打开 URL 3/3 2/3 1/3 2 Action Button / 锁屏小组件 3/3 2/3 2/3 3 Watch:切 Focus → iPhone 自动化 2/3 1/3 1/3 1 Siri 口令(视系统/网络/状态而定) 2/3 1/3 1/3 1
可靠性矩阵:Route B 的关键是“把确定性能力放在 iPhone”。Watch/自动化只算 best-effort,失败要可见。
原始手册(全文)
# Shortcuts 跑通手册(iPhone 快捷启动 + Apple Watch 一键)

你现在要先“跑通”的是两条链路:
1) **iPhone**:快捷启动「录音 + 转写」
2) **Apple Watch**:用快捷指令/表盘 Complication 一键触发 iPhone 开始/停止(或至少能触发 iPhone 自动化)

这份手册按“先验证系统能力 → 再接入录音转写”的顺序写,避免一上来就卡在 iOS 的锁屏/后台限制上。

---

## 0. 现实边界(先说清楚,避免白折腾)

### A) “手表一键 → iPhone 立刻开始用 iPhone 麦克风录音(且 iPhone 锁屏在口袋)”
这件事**不保证可行**,原因不是你不会写,而是 iOS 的安全/后台策略:  
即使你从 Watch 触发了 iPhone 的某个快捷方式/自动化,**涉及打开 App/使用麦克风**时,常见结果是需要 iPhone 解锁、或无法在后台启动录音。

### B) 你依然可以先跑通什么?
你至少可以先跑通两种“可靠”的体验:
- **可靠路径 1(推荐先跑通)**:Watch 一键触发 iPhone **Focus 模式** → iPhone 自动化“无提示执行”→ iPhone 弹提示/打点(验证链路通)
- **可靠路径 2(零代码)**:Watch 直接录音(Watch 麦克风),iPhone 负责后续转写/归档(受限最少)

如果你坚持“必须 iPhone 麦克风 + 锁屏口袋一键”,最终大概率还是要走**自建 App + Background Audio +(最好有)watch App/Complication**,而这会牵涉安装/签名。

---

## 1) 先跑通:Watch → iPhone 的“无提示链路”

目标:你按一下手表,手机哪怕在口袋里/锁屏,也能**自动发生一个可见动作**(Focus 变化/通知/震动)。

### 1.1 在 iPhone 上创建一个 Focus:`Recording`
`设置` → `专注模式` → `+` 新建一个(名称比如 `Recording`)。

### 1.2 在 iPhone 上做一个个人自动化(关键)
`快捷指令` App → `自动化` → `创建个人自动化`:
- 触发器:`专注模式` → `Recording` → `开启时`
- 动作:先放一个最“无争议”的动作验证链路,例如:
  - `显示通知`(内容:`Recording Focus ON`)
  - 或 `开始计时器` 1 秒
- 关闭 `运行前询问`(如果系统允许的话)

这一步的意义:**先确认“手表能让 iPhone 自动执行”**,不要一上来就用“打开 App/录音”这种高权限动作。

### 1.3 在 Watch 上创建快捷指令:一键开/关 Focus
`快捷指令` App(iPhone)里新建快捷指令,例如 `REC Toggle`:
- 动作:`切换专注模式` → 选择 `Recording`
- 在快捷指令详情里打开:`在 Apple Watch 上显示`

然后在 Watch 上:
- 把该快捷指令加到 `表盘 Complication`(Complication 选 `快捷指令`,再选你的 `REC Toggle`)
- 测试:点一下 Complication → iPhone 是否自动出现通知/计时器变化/Focus 状态变化

如果这一步都跑不通,后续任何“手表触发手机录音”都跑不通;先把连接/设置问题解决(蓝牙、同 Apple ID、快捷指令是否允许在 Watch 上运行等)。

---

## 2) iPhone 快捷启动:最快可用的入口(按优先级)

你要的是“锁屏放口袋也要一键开录”,iPhone 侧入口建议按以下优先级选:

1. **Action Button(如果你是 iPhone 15 Pro / 16 系列带动作按钮)**:`设置` → `动作按钮` → 选择 `快捷指令`
2. **锁屏小组件(iOS 16+)**:把一个快捷指令放到锁屏
3. **桌面图标**:快捷指令里 `分享` → `添加到主屏幕`
4. **背部轻点(Back Tap)**:`设置` → `辅助功能` → `触控` → `轻点背面`

> 说明:不同入口对“是否需要解锁”体验差异很大;建议你**先用锁屏小组件/动作按钮**验证“锁屏能不能直接开始”。

---

## 3) 把“录音转写”接上(两条路线)

### 路线 A(零代码先用起来):Shortcuts 录音 +(可选)Shortcuts 转写
适合你现在“不装 Xcode、不付费账号”的阶段。

1) 新建快捷指令:`Pocket Record`
- `录制音频`(通常会立即开始录制;停止方式按界面提示)
- `存储文件` → 选择一个固定目录,例如:
  - `在我的 iPhone 上/Shortcuts/VoiceTranscribe/Audio/`

2) 转写(取决于你系统/你安装的 App 是否提供动作)
- 在 `添加动作` 里搜索 `Transcribe/转写/听写/语音转文字`
  - 如果系统里**有**“音频转文字/转写音频”这类动作:直接用,并把语言设为中文
  - 如果系统里**没有**:需要一个提供 Shortcuts 动作的离线转写 App(很多是 Whisper 离线),把“转写结果”接到下一步
- `追加到文本文件`(建议用一个总文件):`.../Transcripts/transcripts.md`

3) 音频 10 天自动删除(每天跑一次)
`快捷指令` → `自动化` → `创建个人自动化`:
- 触发器:`时间` → 每天
- 动作思路:
  - `获取文件`(Audio 文件夹)
  - `筛选文件`(创建日期早于“当前日期 - 10 天”)
  - `删除文件`

> 这条路线的优点:今天就能用;缺点:是否能“自动转写”、以及是否真能“锁屏一键启动录音”,取决于你 iOS 版本/动作权限。

### 路线 B(你的 App:实时转写最符合目标)
适合你后面愿意把 App 装到手机上(哪怕是 sideload)。

你现在仓库里已经准备了:
- URL scheme:`voicetranscribe://start|stop|toggle`
- iOS 端实时识别:中文 `zh-CN`,on-device 优先,失败再网络兜底(见 `apps/voiceTranscribeMVP/samples/ios/TranscriptionManager.swift`)

接入方式:
1) iPhone 上建快捷指令 `REC Start`:动作 `打开 URL` → `voicetranscribe://start`
2) 同理建 `REC Stop` / `REC Toggle`
3) 把 `REC Toggle` 放到锁屏小组件/动作按钮/桌面图标
4) Watch 上用 Complication 运行同一个快捷指令(或运行一个只做 Focus 的快捷指令,再由 iPhone 自动化打开 URL)

> 注意:这条路线是否能做到“手机锁屏口袋一键”取决于你的 App 是否启用 Background Audio、以及系统是否允许从当前入口直接唤起并开始录音。