← 返回
未分类

苹果备忘录

通过 osascript 管理 Apple 备忘录(创建、查看、编辑、删除、搜索、移动)。当用户提及"备忘录"、"笔记"、"notes"、或需要与 Apple Notes 应用交互时使用此技能。数据通过 iCloud 同步到所有 Apple 设备。仅限 macOS。
user_c71f1c98
未分类 community v1.0.0 1 版本 99473.7 Key: 无需
★ 0
Stars
📥 189
下载
💾 20
安装
1
版本
#latest

概述

Apple Notes (osascript)

通过 osascript 直接操作 Apple 备忘录,无需安装额外工具。数据通过 iCloud 同步到 iPhone/iPad/Mac。

适用场景

  • 用户提到"备忘录"、"笔记"或 Apple Notes
  • 记录想法、会议纪要、技术笔记
  • 创建富文本内容(标题、列表、表格、链接、代码块)
  • 管理备忘录文件夹

不适用场景

  • 待办事项/提醒 → 使用 Apple Reminders skill
  • Markdown 文件编辑 → 直接操作文件系统
  • 第三方笔记应用(Notion、Obsidian)→ 使用对应工具

授权

首次使用需要 macOS 备忘录权限。在 IDE 嵌入式终端中运行:

osascript -e 'tell application "Notes" to get name of every folder'

系统会弹出授权对话框,用户点击"允许"后即可正常使用。

常用操作

查看备忘录

# 列出所有备忘录(标题)
osascript -e 'tell application "Notes" to get name of every note'

# 列出指定文件夹中的备忘录
osascript -e 'tell application "Notes" to get name of every note of folder "工作"'

# 查看备忘录内容(返回 HTML)
osascript -e 'tell application "Notes" to get body of note "标题"'

# 查看纯文本内容
osascript -e 'tell application "Notes" to get plaintext of note "标题"'

# 列出所有文件夹
osascript -e 'tell application "Notes" to get name of every folder'

创建备忘录

备忘录内容使用 HTML 格式,支持丰富的排版。

# 简单备忘录
osascript -e 'tell application "Notes" to make new note at folder "Notes" with properties {name:"标题", body:"<p>内容</p>"}'

# 指定文件夹(文件夹不存在会报错,需先创建)
osascript -e 'tell application "Notes" to make new note at folder "工作" with properties {name:"会议纪要", body:"<p>讨论内容...</p>"}'

对于较长的内容,使用 heredoc 传入:

osascript << 'EOF'
tell application "Notes"
    make new note at folder "Notes" with properties {name:"周报", body:"
<h1>本周工作</h1>
<ul>
<li>完成功能 A</li>
<li>修复 Bug B</li>
</ul>
<h2>下周计划</h2>
<ol>
<li>开始功能 C</li>
<li>代码审查</li>
</ol>
"}
end tell
EOF

编辑备忘录

# 替换整个内容
osascript -e 'tell application "Notes" to set body of note "标题" to "<p>新内容</p>"'

# 追加内容(先读后拼接)
osascript << 'EOF'
tell application "Notes"
    set oldBody to body of note "标题"
    set body of note "标题" to oldBody & "<p>追加的内容</p>"
end tell
EOF

删除备忘录

osascript -e 'tell application "Notes" to delete note "标题"'

搜索备忘录

# 按标题搜索(模糊匹配)
osascript -e 'tell application "Notes" to get name of every note whose name contains "关键词"'

# 搜索并返回匹配数量
osascript -e 'tell application "Notes" to count (every note whose name contains "关键词")'

管理文件夹

# 创建文件夹
osascript -e 'tell application "Notes" to make new folder with properties {name:"新文件夹"}'

# 移动备忘录到另一个文件夹
osascript -e 'tell application "Notes" to move note "标题" to folder "目标文件夹"'

HTML 格式参考

Apple Notes 的 body 使用 HTML,以下是常用标签:

元素HTML效果
------------------
一级标题

标题

大号粗体
二级标题

标题

中号粗体
三级标题

标题

小号粗体
段落

文本

普通段落
粗体文本粗体
斜体文本斜体
无序列表
  • 项目
圆点列表
有序列表
  1. 项目
编号列表
代码块
code
等宽字体
链接文本可点击链接
表格
...
表格
换行
换行

特殊字符转义

在 osascript 中传递 HTML 时,注意转义:

  • <<(在 HTML 内容中如需显示尖括号)
  • >>
  • ""\"(取决于上下文)
  • &&

操作验证与重试

每次写操作(创建、编辑、删除、移动)完成后,必须验证结果。不要仅凭命令未报错就认为成功。

验证流程

  1. 创建后:用 get name of every note 确认新备忘录出现在列表中
  2. 编辑后:用 get plaintext of note "标题" 读取内容,确认关键文本已更新。注意 Notes 会重新格式化 HTML,不要用 get body 做精确匹配,用 plaintext 检查文本内容是否正确
  3. 删除后:用 get name of every note 确认目标备忘录已不在列表中
  4. 移动后:用 get name of every note of folder "目标文件夹" 确认备忘录已出现在目标文件夹

编辑失败的常见原因

  • 部分替换失效:Notes 内部 HTML 与原始输入差异很大(Notes 会自动添加
    等标签),AppleScript 字符串匹配很容易失败。解决方案:编辑时优先使用整体替换 set body 而非局部查找替换
  • 特殊字符问题:单引号 ' 在 AppleScript 字符串中需要特殊处理,建议使用 heredoc(osascript << 'EOF')传入包含引号的内容
  • 权限被拒:如果命令返回权限错误,重新运行授权命令

重试策略

如果验证发现操作未生效:

  1. 先检查错误原因(权限、标题不匹配、HTML 格式问题)
  2. 针对原因调整命令后重试
  3. 编辑操作建议直接用 set body 整体重写,这是最可靠的方式

注意事项

  • 所有操作通过 osascript 调用 Apple Events,完全非交互
  • 备忘录内容通过 iCloud 自动同步到用户的所有 Apple 设备
  • get body 返回 Notes 内部的 HTML(可能与原始输入不同,Notes 会重新格式化)
  • get plaintext 返回纯文本版本,适合内容提取和验证
  • 默认文件夹名为 "Notes"(英文系统)或 "备忘录"(中文系统),建议先用 get name of every folder 确认

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-04-09 09:06 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-intelligence

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,366 📥 319,412
security-compliance

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,221 📥 267,139
ai-intelligence

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,067 📥 803,147