Skill: Mac Reminder Bridge
Control macOS Reminders.app from inside Docker via HTTP.
Base URL: http://host.docker.internal:5000
When to use
| User intent | Endpoint |
|---|
| "Remind me to / Set a reminder / Add a reminder" | POST INLINECODE1 |
| "Cancel / Delete my reminder to ..." |
POST
/delete_reminder |
| "Done with / Mark ... as complete" | POST
/complete_reminder |
| "Unmark / reopen reminder ..." | POST
/complete_reminder with
completed:false |
| "Update / Change / Edit my reminder ..." | POST
/update_reminder |
| "What are my reminders / Show reminders" | GET
/list_reminders |
| "What lists do I have" | GET
/list_lists |
POST /add_reminder
CODEBLOCK0
- -
task required; all others optional - INLINECODE10 /
remind_at format: INLINECODE12 - INLINECODE13 :
none | low | medium | INLINECODE17 - INLINECODE18 : leave empty to use the default list
POST /update_reminder
CODEBLOCK1
- -
task identifies which reminder to update - Set
new_due to "" to clear the due date - Only include the fields you want to change
POST /delete_reminder
CODEBLOCK2
- -
fuzzy: true → match by "contains" (useful when unsure of exact wording) - INLINECODE23 : leave empty to search ALL lists
POST /complete_reminder
CODEBLOCK3
- -
completed: false → un-check / reopen the reminder
GET /list_reminders
CODEBLOCK4
Returns structured JSON with task, due, notes, priority, completed, list.
GET /list_lists
Returns all lists with pending/total counts and the default list name.
GET /health
Check if listener is running and has Reminders permission.
Agent step-by-step
Adding a reminder
- 1. Extract:
task (required), due, remind_at, notes, priority, INLINECODE30 - POST INLINECODE31
- Confirm: "✅ Reminder set: " + due date if applicable
Deleting a reminder
- 1. Extract task name; use
fuzzy: true if unsure of exact wording - POST INLINECODE33
- Check
count: if 0, say "⚠️ No reminder found matching ''"
Updating a reminder
- 1. Extract current name and what to change
- POST
/update_reminder with only the changed fields - Confirm what was changed
Listing reminders
- 1. GET
/list_reminders (add ?list=X if user specifies a list) - Format results clearly, grouping by list if multiple lists present
Health check before important ops
CODEBLOCK5
Auth header (if BRIDGE_SECRET is set)
CODEBLOCK6
技能:Mac Reminder Bridge
通过HTTP从Docker内部控制macOS的提醒事项应用。
基础URL:http://host.docker.internal:5000
使用场景
| 用户意图 | 端点 |
|---|
| 提醒我 / 设置提醒 / 添加提醒 | POST /addreminder |
| 取消 / 删除我的提醒... |
POST /deletereminder |
| 完成 / 标记...为已完成 | POST /complete_reminder |
| 取消标记 / 重新打开提醒... | POST /complete_reminder 并设置 completed:false |
| 更新 / 修改 / 编辑我的提醒... | POST /update_reminder |
| 我的提醒有哪些 / 显示提醒 | GET /list_reminders |
| 我有哪些列表 | GET /list_lists |
POST /add_reminder
json
{
task: 购买杂货,
list: 购物,
due: 2025-12-31 09:00,
remind_at: 2025-12-31 08:50,
notes: 买牛奶和鸡蛋,
priority: 高
}
- - task 必填;其他均为可选
- due / remind_at 格式:YYYY-MM-DD HH:MM
- priority:无 | 低 | 中 | 高
- list:留空则使用默认列表
POST /update_reminder
json
{
task: 购买杂货,
fuzzy: false,
new_task: 购买有机杂货,
new_due: 2025-12-31 10:00,
new_notes: 还要买果汁,
new_priority: 中
}
- - task 标识要更新的提醒
- 将 new_due 设置为 可清除截止日期
- 仅包含您想要更改的字段
POST /delete_reminder
json
{ task: 购买杂货, fuzzy: false, list: }
- - fuzzy: true → 按包含匹配(当不确定确切措辞时有用)
- list:留空则搜索所有列表
POST /complete_reminder
json
{ task: 购买杂货, completed: true, fuzzy: false }
- - completed: false → 取消勾选/重新打开提醒
GET /list_reminders
GET /list_reminders
GET /list_reminders?list=购物
GET /list_reminders?completed=true
GET /list_reminders?completed=all
返回结构化JSON,包含任务、截止日期、备注、优先级、完成状态、列表。
GET /list_lists
返回所有列表及其待办/总数统计,以及默认列表名称。
GET /health
检查监听器是否正在运行以及是否拥有提醒事项权限。
智能体操作步骤
添加提醒
- 1. 提取:task(必填)、due、remindat、notes、priority、list
- POST /addreminder
- 确认:✅ 提醒已设置: + 截止日期(如适用)
删除提醒
- 1. 提取任务名称;如不确定确切措辞则使用 fuzzy: true
- POST /delete_reminder
- 检查 count:如果为0,则显示⚠️ 未找到匹配的提醒
更新提醒
- 1. 提取当前名称和要更改的内容
- POST /update_reminder,仅包含更改的字段
- 确认已更改的内容
列出提醒
- 1. GET /list_reminders(如果用户指定了列表,添加 ?list=X)
- 清晰格式化结果,如果存在多个列表则按列表分组
重要操作前的健康检查
bash
curl http://host.docker.internal:5000/health
认证头(如果设置了BRIDGE_SECRET)
X-Bridge-Secret: <密钥>