Apple Notes Writer
将内容以完美格式写入Apple备忘录(macOS only)。
功能特性
- - ✅ HTML格式支持 - 标题、列表、粗体、斜体等丰富格式
- ✅ Markdown转换 - 自动将Markdown转为Apple Notes支持的HTML
- ✅ 特殊字符转义 - 自动处理引号、反斜杠等棘手字符
- ✅ 文件夹管理 - 支持创建文件夹、指定目标文件夹
- ✅ 更新模式 - 可选择更新同名笔记或创建新笔记
使用方法
方式一:直接调用Python脚本
CODEBLOCK0
方式二:在Python代码中使用
CODEBLOCK1
支持的HTML标签
Apple Notes原生支持以下HTML标签:
| 标签 | 效果 |
|---|
INLINECODE0 <h2> INLINECODE2 | 大标题、中标题、小标题 |
| INLINECODE3 |
段落 |
|
<br> | 换行 |
|
<ul> <li> | 无序列表(圆点) |
|
<ol> <li> | 有序列表(数字) |
|
<b> <strong> | 粗体 |
|
<i> <em> | 斜体 |
|
<u> | 下划线 |
|
<div> | 容器(必须包裹内容) |
HTML格式规范
✅ 正确示例
CODEBLOCK2
❌ 错误示例
CODEBLOCK3
Markdown转换规则
使用 markdown_to_html() 函数转换:
| Markdown | 转换结果 |
|---|
| INLINECODE16 | INLINECODE17 |
| INLINECODE18 |
<h2>标题</h2> |
|
### 标题 |
<h3>标题</h3> |
|
**粗体** |
<b>粗体</b> |
|
*斜体* |
<i>斜体</i> |
|
- 列表项 |
<ul><li>列表项</li></ul> |
|
1. 列表项 |
<ol><li>列表项</li></ol> |
| 空行 |
<br> |
特殊字符与符号
自动转义的字符
脚本自动处理以下特殊字符:
| 字符 | 处理方式 |
|---|
| INLINECODE31 | 转义为 INLINECODE32 |
| INLINECODE33 |
转义为
\" |
|
' | 无需转义 |
|
\n | 转为
<br> |
|
< > | HTML转义(Markdown模式) |
推荐使用的特殊符号
Apple Notes完美支持以下Unicode符号:
| 符号 | 用途 | 示例 |
|---|
| ✓ | 完成/正确 | INLINECODE40 |
| ✗ |
失败/错误 |
<li>✗ 失败</li> |
| ⚠️ | 警告/注意 |
<p>⚠️ 重要提醒</p> |
| ☐ | 待办复选框 |
<li>☐ 待办事项</li> |
| ● | 列表圆点 | (
<ul>自动显示) |
| → | 箭头/流程 |
<p>步骤1 → 步骤2</p> |
| 📌 | 标记重点 |
<p>📌 核心结论</p> |
| 💡 | 提示/想法 |
<p>💡 建议</p> |
触发词
当用户提到以下内容时,使用此技能:
| 触发词 | 场景 |
|---|
| "记笔记到备忘录" | 创建新笔记 |
| "写入Apple Notes" |
创建/更新笔记 |
| "创建备忘录" | 创建新笔记 |
| "更新备忘录" | 更新现有笔记 |
| "记录到备忘录" | 创建新笔记 |
| "保存到Apple备忘录" | 创建新笔记 |
| "添加到备忘录" | 追加内容 |
| "写入备忘录" | 创建新笔记 |
工作流程
- 1. 确认需求 - 了解笔记主题、目标文件夹
- 准备内容 - 用HTML格式组织内容,或使用Markdown转换
- 转义字符 - 使用内置函数处理特殊字符
- 执行写入 - 运行AppleScript创建/更新笔记
- 验证结果 - 确认内容正确写入
- 反馈用户 - 报告完成情况和笔记位置
高级用法
更新现有笔记
通过笔记ID更新已有笔记:
CODEBLOCK4
验证写入结果
CODEBLOCK5
完整示例
示例1:记录会议纪要
CODEBLOCK6
示例2:从Markdown文件批量导入
CODEBLOCK7
注意事项
- 1. 仅支持macOS - 依赖AppleScript,Windows/Linux不可用
- iCloud账户 - 默认使用iCloud账户,可修改
account参数 - 文件夹必须存在 - 写入前确保目标文件夹已创建
- HTML标签限制 - 不支持
<code>、<img>、<table>等复杂标签 - 内容长度限制 - 单条笔记建议不超过10MB
故障排查
问题:笔记创建成功但格式错乱
原因:HTML标签未闭合或不支持
解决:检查所有标签是否正确闭合,只使用支持的标签
问题:特殊字符显示异常
原因:引号或反斜杠未正确转义
解决:使用脚本内置的转义函数,不要手动转义
问题:找不到文件夹
原因:文件夹不存在或名称错误
解决:先用create-folder创建文件夹,或检查文件夹名称
问题:AppleScript执行失败
原因:权限问题或Apple Notes未运行
解决:确保Apple Notes已安装并至少运行过一次,检查自动化权限
依赖
- - macOS 10.14+
- Python 3.7+
- Apple Notes.app
许可证
MIT License
Apple Notes Writer
将内容以完美格式写入Apple备忘录(仅限macOS)。
功能特性
- - ✅ HTML格式支持 - 标题、列表、粗体、斜体等丰富格式
- ✅ Markdown转换 - 自动将Markdown转为Apple Notes支持的HTML
- ✅ 特殊字符转义 - 自动处理引号、反斜杠等棘手字符
- ✅ 文件夹管理 - 支持创建文件夹、指定目标文件夹
- ✅ 更新模式 - 可选择更新同名笔记或创建新笔记
使用方法
方式一:直接调用Python脚本
bash
写入HTML格式内容
python scripts/apple_notes.py write \
--title 我的笔记 \
--content
从Markdown文件写入
python scripts/apple_notes.py write \
--title Markdown笔记 \
--file content.md \
--markdown
写入指定文件夹
python scripts/apple_notes.py write \
--title 工作笔记 \
--content
\
--folder 工作
更新已存在的笔记
python scripts/apple_notes.py write \
--title 我的笔记 \
--content
\
--update
读取笔记内容
python scripts/apple_notes.py read --title 我的笔记
列出文件夹中的所有笔记
python scripts/apple_notes.py list --folder 工作
创建新文件夹
python scripts/apple_notes.py create-folder --title 新项目
方式二:在Python代码中使用
python
from scripts.applenotes import AppleNotesWriter, markdownto_html
创建写入器
writer = AppleNotesWriter(account=iCloud)
写入HTML内容
html_content =
result = writer.write(
title=会议记录,
content=html_content,
folder=工作,
update_existing=True
)
print(result) # SUCCESS: Note created/updated - 会议记录
Markdown转HTML后写入
markdown_text =
学习笔记
重点内容
总结
这是总结段落。
html = markdowntohtml(markdown_text)
writer.write(title=学习笔记, content=html)
支持的HTML标签
Apple Notes原生支持以下HTML标签:
| 标签 | 效果 |
|---|
| <h1> <h2> <h3> | 大标题、中标题、小标题 |
| <p> |
段落 |
|
| 换行 |
|
- | 无序列表(圆点) |
| - | 有序列表(数字) |
| | 粗体 |
| | 斜体 |
| | 下划线 |
| | 容器(必须包裹内容) |
HTML格式规范
✅ 正确示例
html
❌ 错误示例
html
标题
内容
代码块
Markdown转换规则
使用 markdowntohtml() 函数转换:
| Markdown | 转换结果 |
|---|
| # 标题 | <h1>标题</h1> |
| ## 标题 |
标题
|
| ### 标题 |
标题
|
|
粗体 |
粗体 |
|
斜体 |
斜体 |
| - 列表项 |
|
| 1. 列表项 |
- 列表项
|
| 空行 |
|
特殊字符与符号
自动转义的字符
脚本自动处理以下特殊字符:
转义为 \ |
| | 无需转义 |
| \n | 转为
|
| < > | HTML转义(Markdown模式) |
推荐使用的特殊符号
Apple Notes完美支持以下Unicode符号:
| 符号 | 用途 | 示例 |
|---|
| ✓ | 完成/正确 | <li>✓ 已完成</li> |
| ✗ |
失败/错误 |
- ✗ 失败
|
| ⚠️ | 警告/注意 |
⚠️ 重要提醒
|
| ☐ | 待办复选框 |
- ☐ 待办事项
|
| ● | 列表圆点 | (
自动显示) |
| → | 箭头/流程 | 步骤1 → 步骤2
|
| 📌 | 标记重点 | 📌 核心结论
|
| 💡 | 提示/想法 | 💡 建议
|
触发词
当用户提到以下内容时,使用此技能:
| 触发词 | 场景 |
|---|
| 记笔记到备忘录 | 创建新笔记 |
| 写入Apple Notes |
创建/更新笔记 |
| 创建备忘录 | 创建新笔记 |
| 更新备忘录 | 更新现有笔记 |
| 记录到备忘录 | 创建新笔记 |
| 保存到Apple备忘录 | 创建新笔记 |
| 添加到备忘录 | 追加内容 |
| 写入备忘录 | 创建新笔记 |
工作流程
- 1. 确认需求 - 了解笔记主题、目标文件夹
- 准备内容 - 用HTML格式组织内容,或使用Markdown转换
- 转义字符 - 使用内置函数处理特殊字符
- 执行写入 - 运行AppleScript创建/更新笔记
- 验证结果 - 确认内容正确写入
- 反馈用户 - 报告完成情况和笔记位置
高级用法
更新现有笔记
通过笔记ID更新已有笔记:
python
获取笔记ID后更新
note_id = x-coredata://.../ICNote/p20
script = f
tell application Notes
set targetNote to note id {note_id}
set body of targetNote to {escaped_content}
end tell
subprocess.run([osascript, -e, script])
验证写入结果
python
verify_script = f
tell application Notes
set targetNote to note id {note_id}
return body of targetNote
end tell
result = subprocess.run([osascript, -e, verify_script],
capture_output=True, text=True)
print(result.stdout) # 打印笔记内容验证
完整示例
示例1:记录会议纪要
python
from scripts.apple_notes import AppleNotesWriter
writer = AppleNotesWriter()
content =
产品评审会议纪要
时间:2024年3月28日 14:00
参会人:张三、李四、王五
讨论事项
- 确认Q2产品路线图
- 讨论新功能优先级
- 确定下周迭代计划
待办事项
- 张三:完成需求文档(3月30日前)
- 李四:准备技术方案(4月1日前)
---
记录时间:2024-03-28 16:30
标签
skill
ai
通过对话安装
该技能支持在以下平台通过对话安装:
OpenClaw
WorkBuddy
QClaw
Kimi
Claude
方式一:安装 SkillHub 和技能
帮我安装 SkillHub 和 apple-notes-writer-1775963475 技能
方式二:设置 SkillHub 为优先技能安装源
设置 SkillHub 为我的优先技能安装源,然后帮我安装 apple-notes-writer-1775963475 技能
通过命令行安装
skillhub install apple-notes-writer-1775963475
下载
⬇ 下载 apple-notes-writer v1.0.0(免费)
文件大小: 14.04 KB |
发布时间: 2026-4-13 09:22