mcpField
M
macos-notes

macos-notes

github.com/lucaperret生产力743 次安装32 周前更新
代码仓库

关于 macos-notes

macos-notes 是一项通过脚本管理 Apple Notes 的技能,适用于需要从命令行创建、查找和读取笔记的人。它提供按账户和文件夹操作的命令,并通过标准输入接收 JSON。

主要功能

  1. 01列出账户与文件夹
  2. 02创建纯文本或 HTML 笔记
  3. 03读取指定笔记
  4. 04列出和搜索笔记标题
  5. 05通过标准输入传递 JSON

适用场景

  1. 01将会议记录保存到指定文件夹
  2. 02查找提及特定主题的笔记
  3. 03读取某条已有笔记
  4. 04查看近期笔记列表

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/lucaperret/agent-skills --skill macos-notes

安装后在 Claude Code 中输入/macos-notes确认已加载。

附带文件scripts/notes.sh

详细介绍

macOS 备忘录

通过 $SKILL_DIR/scripts/notes.sh 管理 Apple Notes。备忘录内容在内部以 HTML 存储;脚本接受纯文本或 HTML 正文,读取时返回纯文本。

快速入门

列出文件夹

请始终先列出文件夹,以查找账户和文件夹名称:

"$SKILL_DIR/scripts/notes.sh" list-folders

输出格式:account → folder(每行一个)。

创建备忘录
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" create-note

JSON 字段:

字段必填默认值描述
title是-备忘录标题(会成为第一行/标题)
body否""备忘录内容(纯文本,会自动转换为 HTML)
html否""原始 HTML 正文(如果同时提供 body,则覆盖 body)
folder否默认文件夹文件夹名称(来自 list-folders)
account否默认账户账户名称(来自 list-folders)
阅读备忘录
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" read-note

JSON 字段:

字段必填默认值描述
name是-备忘录标题(完全匹配)
folder否所有文件夹要搜索的文件夹
account否默认账户要搜索的账户
列出备忘录
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" list-notes

JSON 字段:

字段必填默认值描述
folder否默认文件夹文件夹名称
account否默认账户账户名称
limit否20返回的备忘录数量上限
搜索备忘录
echo '<json>' | "$SKILL_DIR/scripts/notes.sh" search-notes

JSON 字段:

字段必填默认值描述
query是-要在备忘录标题中搜索的文本
account否默认账户要搜索的账户
limit否10返回的结果数量上限

解读自然语言

将用户请求映射到命令:

用户说命令关键字段
“记下这个:……”create-notetitle、body
“保存会议记录”create-notetitle: "Meeting notes — <date>"、body
“我写过关于 X 的什么内容?”search-notesquery: "X"
“显示我的备忘录”list-notes(默认值)
“阅读我关于 X 的备忘录”read-notename: "X"
“把这个保存到我的工作备忘录里”create-note根据 list-folders 中的信息匹配最接近的 account/folder

示例提示词

“记下 API 密钥格式:prefix_xxxx”

echo '{"title":"API key format","body":"Format: prefix_xxxx"}' | "$SKILL_DIR/scripts/notes.sh" create-note

“显示我最近的备忘录”

echo '{}' | "$SKILL_DIR/scripts/notes.sh" list-notes

“我写过关于密码的什么内容?”

echo '{"query":"password"}' | "$SKILL_DIR/scripts/notes.sh" search-notes

“阅读我关于 Hinge 的备忘录”

echo '{"name":"Hinge"}' | "$SKILL_DIR/scripts/notes.sh" read-note

“在我的 iCloud 备忘录中创建一份会议摘要”

"$SKILL_DIR/scripts/notes.sh" list-folders

然后:

echo '{"title":"Meeting summary — 2026-02-17","body":"Discussed roadmap.\n- Q1: launch MVP\n- Q2: iterate","account":"iCloud","folder":"Notes"}' | "$SKILL_DIR/scripts/notes.sh" create-note

重要规则

  1. 如果用户未指定账户/文件夹,请始终先列出文件夹——不同账户可能使用相同的文件夹名称
  2. 指定特定位置时,同时提供账户和文件夹——仅填写 folder: "Notes" 会产生歧义
  3. 跳过受密码保护的备忘录——脚本无法读取或修改这些备忘录
  4. 通过 stdin 传入 JSON——绝不要将其作为 CLI 参数传入(避免数据泄露在进程列表中)
  5. 脚本会验证所有字段(类型转换、范围检查)——无效输入会被拒绝并报错
  6. 所有操作都会记录到 logs/notes.log,包括时间戳、命令和备忘录标题
  7. 正文使用纯文本——body 中的换行符会自动转换为 <br>;如需富文本格式,请使用 html
  8. 备忘录标题 = 第一行——Notes.app 会将正文的第一行视为备忘录名称

评论

支持 Markdown