介绍
# Timer
设置在后台运行的计时器。计时结束后,您将收到系统通知,并且必须回复提醒信息以通知用户。
## 快速开始
```bash # Set a 5-minute timer bash background:true command:"node {baseDir}/timer.js 5m"
# Set a timer with a label bash background:true command:"node {baseDir}/timer.js 10m 'Check the oven'"
# Set a timer in seconds bash background:true command:"node {baseDir}/timer.js 30s"
# Set a timer in hours bash background:true command:"node {baseDir}/timer.js 1h" ```
## 时间格式
| 格式 | 描述 | 示例 | |--------|-------------|---------| | `Ns` | N 秒 | `30s`, `90s` | | `Nm` | N 分钟 | `5m`, `15m` | | `Nh` | N 小时 | `1h`, `2h` | | `N` | N 分钟(默认) | `5` = 5 分钟 | | `MM:SS` | 分钟和秒 | `5:30` | | `HH:MM:SS` | 小时、分钟、秒 | `1:30:00` |
## ⚠️ 关键:计时完成通知
当计时器完成时,您会收到如下 `System:` 消息: ``` System: [2026-01-24 21:27:13] Exec completed (swift-me, code 0) :: ⏰ Timer complete! Check the pasta! ```
### ❌ 错误 - 请勿这样回复: ``` HEARTBEAT_OK
🎉 Your timer is complete! Check the pasta! ``` 此回复将被**过滤且无法传达**给用户!
### ✅ 正确 - 请这样回复: ``` ⏰ Timer Alert! Your timer is complete: Check the pasta! ``` 直接以通知消息开头。请勿包含 HEARTBEAT_OK。
**为什么?** 以 `HEARTBEAT_OK` 开头且后接少于 300 个字符的回复会被自动抑制,无法触达用户。您的计时器通知将丢失!
## 示例
### 烹饪计时器 ```bash bash background:true command:"node {baseDir}/timer.js 12m 'Pasta is ready!'" ``` 结束时回复:“⏰ 您的 12 分钟计时器到了!面煮好了!”
### 快速提醒 ```bash bash background:true command:"node {baseDir}/timer.js 2m 'Take a break'" ```
### 番茄钟会话 ```bash # Work session bash background:true command:"node {baseDir}/timer.js 25m 'Pomodoro done - time for a break!'" # After user is notified... # Break bash background:true command:"node {baseDir}/timer.js 5m 'Break over - back to work!'" ```
### 多个计时器 ```bash bash background:true command:"node {baseDir}/timer.js 5m 'Tea is ready'" bash background:true command:"node {baseDir}/timer.js 10m 'Eggs are done'" bash background:true command:"node {baseDir}/timer.js 30m 'Meeting starts soon'" ```
## 管理计时器
```bash # List all running timers process action:list
# Check specific timer status process action:poll sessionId:XXX
# View timer output process action:log sessionId:XXX
# Cancel a timer process action:kill sessionId:XXX ```
## 注意事项
- 计时器作为具有唯一 sessionId 的后台进程运行 - 已完成的计时器以代码 0 退出 - 已取消的计时器(通过 kill)以代码 130 退出 - 计时器在 macOS 上完成时会播放声音通知(如果 `afplay` 可用) - 进度每秒(短计时器)或每 10 秒(长计时器)记录一次