通过 AppleScript 创建、读取、搜索及管理 macOS 备忘录。适用于用户要求记笔记、记录事项、保存想法、创建会议记录等场景。
macOS Notes. 管理苹果笔记, 途径是 $SKILL DIR/scripts/ notes.sh. 注意内容作为 HTML 内部存储是一项面向实际任务的技能,主要用于. 脚本接受纯文本或 HTML 主体, 并在读取时返回纯文本;@ @ @ title。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
通过 $SKILL_DIR/scripts/notes.sh 管理 Apple Notes。笔记内容在内部以 HTML 格式存储;该脚本接受纯文本或 HTML 格式的正文输入,读取时返回纯文本。
请始终首先执行此操作,以发现可用账户及文件夹名称:
"$SKILL_DIR/scripts/notes.sh" list-folders
输出格式为:account → folder(每行一个)。
echo '' | "$SKILL_DIR/scripts/notes.sh" create-note
JSON 字段说明:
| 字段 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
title |
是 | - | 笔记标题(将成为首行 / 标题) |
body |
否 | "" | 笔记正文(纯文本 — 将自动转换为 HTML) |
html |
否 | "" | 原始 HTML 正文(若同时提供 body 和 html,则优先使用 html) |
folder |
否 | 默认文件夹 | 文件夹名称(来自 list-folders 输出) |
account |
否 | 默认账户 | 账户名称(来自 list-folders 输出) |
echo '' | "$SKILL_DIR/scripts/notes.sh" read-note
JSON 字段说明:
| 字段 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
name |
是 | - | 笔记标题(需完全匹配) |
folder |
否 | 所有文件夹 | 指定搜索范围的文件夹 |
account |
否 | 默认账户 | 指定搜索范围的账户 |
echo '' | "$SKILL_DIR/scripts/notes.sh" list-notes
JSON 字段说明:
| 字段 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
folder |
否 | 默认文件夹 | 文件夹名称 |
account |
否 | 默认账户 | 账户名称 |
limit |
否 | 20 | 最多返回的笔记数量 |
echo '' | "$SKILL_DIR/scripts/notes.sh" search-notes
JSON 字段说明:
| 字段 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
query |
是 | - | 在笔记标题中搜索的文本 |
account |
否 | 默认账户 | 指定搜索范围的账户 |
limit |
否 | 10 | 最多返回的结果数量 |
将用户请求映射为对应命令:
| 用户表述 | 对应命令 | 关键字段 |
|---|---|---|
| "Note this down: ..." | create-note |
title, body |
| "Save meeting notes" | create-note |
title: "Meeting notes — , body |
| "What did I write about X?" | search-notes |
query: "X" |
| "Show my notes" | list-notes |
(使用默认值) |
| "Read my note about X" | read-note |
name: "X" |
| "Save this in my work notes" | create-note |
从 list-folders 输出中匹配最接近的 account/folder |
"Note down the API key format: prefix_xxxx"
echo '{"title":"API key format","body":"Format: prefix_xxxx"}' | "$SKILL_DIR/scripts/notes.sh" create-note
"Show my recent notes"
echo '{}' | "$SKILL_DIR/scripts/notes.sh" list-notes
"What did I write about passwords?"
echo '{"query":"password"}' | "$SKILL_DIR/scripts/notes.sh" search-notes
"Read my note about Hinge"
echo '{"name":"Hinge"}' | "$SKILL_DIR/scripts/notes.sh" read-note
"Create a meeting summary in my iCloud notes"
"$SKILL_DIR/scripts/notes.sh" list-folders
然后执行:
echo '{"title":"Meeting summary — 2026-02-17","body":"Discussed roadmap.n- Q1: launch MVPn- Q2: iterate","account":"iCloud","folder":"Notes"}' | "$SKILL_DIR/scripts/notes.sh" create-note
list-folders;不同账户下可能重用相同的文件夹名folder: "Notes" 是不明确的logs/notes.log,包含时间戳、命令及笔记标题body 中的换行符将自动转换为
;如需富文本格式,请使用 html 字段