🎁 Get the FREE AI Skills Starter GuideSubscribe →
BytesAgainBytesAgain
🦀 ClawHub

apple-notes-writer

by @johnmuin

完美格式写入Apple备忘录。支持HTML格式、Markdown转换、多文件夹管理、自动转义特殊字符。

Versionv1.0.0
Downloads533
TERMINAL
clawhub install apple-notes-writer

📖 About This Skill


name: apple-notes-writer description: 完美格式写入Apple备忘录。支持HTML格式、Markdown转换、多文件夹管理、自动转义特殊字符。

Apple Notes Writer

将内容以完美格式写入Apple备忘录(macOS only)。

功能特性

  • HTML格式支持 - 标题、列表、粗体、斜体等丰富格式
  • Markdown转换 - 自动将Markdown转为Apple Notes支持的HTML
  • 特殊字符转义 - 自动处理引号、反斜杠等棘手字符
  • 文件夹管理 - 支持创建文件夹、指定目标文件夹
  • 更新模式 - 可选择更新同名笔记或创建新笔记
  • 使用方法

    方式一:直接调用Python脚本

    # 写入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代码中使用

    from scripts.apple_notes import AppleNotesWriter, markdown_to_html

    创建写入器

    writer = AppleNotesWriter(account="iCloud")

    写入HTML内容

    html_content = """

    会议记录

    时间:2024年3月28日

    • 讨论项目进度
    • 确定下周计划
    """

    result = writer.write( title="会议记录", content=html_content, folder="工作", update_existing=True ) print(result) # SUCCESS: Note created/updated - 会议记录

    Markdown转HTML后写入

    markdown_text = """

    学习笔记

    重点内容

  • 第一点:非常重要
  • *第二点*:次要内容
  • 总结

    这是总结段落。 """

    html = markdown_to_html(markdown_text) writer.write(title="学习笔记", content=html)

    支持的HTML标签

    Apple Notes原生支持以下HTML标签:

    | 标签 | 效果 | |------|------| |

    | 大标题、中标题、小标题 | |

    | 段落 | |
    | 换行 | |

    • | 无序列表(圆点) | |
      1. | 有序列表(数字) | | | 粗体 | | | 斜体 | | | 下划线 | |
        | 容器(必须包裹内容) |

        HTML格式规范

        ✅ 正确示例

        大标题

        这是一个段落,包含粗体文字斜体文字

        • 列表项1
        • 列表项2

        ❌ 错误示例

        
        

        标题

        内容

        代码块

        内容

        Markdown转换规则

        使用 markdown_to_html() 函数转换:

        | Markdown | 转换结果 | |----------|----------| | # 标题 |

        标题

        | | ## 标题 |

        标题

        | | ### 标题 |

        标题

        | | 粗体 | 粗体 | | *斜体* | 斜体 | | - 列表项 |
        • 列表项
        | | 1. 列表项 |
        1. 列表项
        | | 空行 |
        |

        特殊字符与符号

        自动转义的字符

        脚本自动处理以下特殊字符:

        | 字符 | 处理方式 | |------|----------| | \ | 转义为 \\ | | " | 转义为 \" | | ' | 无需转义 | | \n | 转为
        | | < > | HTML转义(Markdown模式) |

        推荐使用的特殊符号

        Apple Notes完美支持以下Unicode符号:

        | 符号 | 用途 | 示例 | |------|------|------| | ✓ | 完成/正确 |

      2. ✓ 已完成
      3. | | ✗ | 失败/错误 |
      4. ✗ 失败
      5. | | ⚠️ | 警告/注意 |

        ⚠️ 重要提醒

        | | ☐ | 待办复选框 |
      6. ☐ 待办事项
      7. | | ● | 列表圆点 | (
          自动显示) | | → | 箭头/流程 |

          步骤1 → 步骤2

          | | 📌 | 标记重点 |

          📌 核心结论

          | | 💡 | 提示/想法 |

          💡 建议

          |

          触发词

          当用户提到以下内容时,使用此技能:

          | 触发词 | 场景 | |--------|------| | "记笔记到备忘录" | 创建新笔记 | | "写入Apple Notes" | 创建/更新笔记 | | "创建备忘录" | 创建新笔记 | | "更新备忘录" | 更新现有笔记 | | "记录到备忘录" | 创建新笔记 | | "保存到Apple备忘录" | 创建新笔记 | | "添加到备忘录" | 追加内容 | | "写入备忘录" | 创建新笔记 |

          工作流程

          1. 确认需求 - 了解笔记主题、目标文件夹 2. 准备内容 - 用HTML格式组织内容,或使用Markdown转换 3. 转义字符 - 使用内置函数处理特殊字符 4. 执行写入 - 运行AppleScript创建/更新笔记 5. 验证结果 - 确认内容正确写入 6. 反馈用户 - 报告完成情况和笔记位置

          高级用法

          更新现有笔记

          通过笔记ID更新已有笔记:

          # 获取笔记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])

          验证写入结果

          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:记录会议纪要

          from scripts.apple_notes import AppleNotesWriter

          writer = AppleNotesWriter()

          content = """

          产品评审会议纪要

          时间:2024年3月28日 14:00

          参会人:张三、李四、王五

          讨论事项

          • 确认Q2产品路线图
          • 讨论新功能优先级
          • 确定下周迭代计划

          待办事项

          • 张三:完成需求文档(3月30日前)
          • 李四:准备技术方案(4月1日前)

          ---

          记录时间:2024-03-28 16:30

          """

          writer.write( title="产品评审会议纪要-20240328", content=content, folder="工作", update_existing=True )

          示例2:从Markdown文件批量导入

          import os
          from scripts.apple_notes import AppleNotesWriter, markdown_to_html

          writer = AppleNotesWriter() notes_dir = "/path/to/notes"

          for filename in os.listdir(notes_dir): if filename.endswith('.md'): with open(os.path.join(notes_dir, filename), 'r') as f: markdown_content = f.read() html_content = markdown_to_html(markdown_content) title = filename.replace('.md', '') writer.write( title=title, content=html_content, folder="导入的笔记" ) print(f"已导入: {title}")

          注意事项

          1. 仅支持macOS - 依赖AppleScript,Windows/Linux不可用 2. iCloud账户 - 默认使用iCloud账户,可修改account参数 3. 文件夹必须存在 - 写入前确保目标文件夹已创建 4. HTML标签限制 - 不支持

          等复杂标签 5. 内容长度限制 - 单条笔记建议不超过10MB

          故障排查

          问题:笔记创建成功但格式错乱

          原因:HTML标签未闭合或不支持 解决:检查所有标签是否正确闭合,只使用支持的标签

          问题:特殊字符显示异常

          原因:引号或反斜杠未正确转义 解决:使用脚本内置的转义函数,不要手动转义

          问题:找不到文件夹

          原因:文件夹不存在或名称错误 解决:先用create-folder创建文件夹,或检查文件夹名称

          问题:AppleScript执行失败

          原因:权限问题或Apple Notes未运行 解决:确保Apple Notes已安装并至少运行过一次,检查自动化权限

          依赖

        • macOS 10.14+
        • Python 3.7+
        • Apple Notes.app
        • 许可证

          MIT License

          BytesAgain
          Discover the best AI agent skills for your workflow.
          © 2026 BytesAgain. All rights reserved.
          BytesAgain is an independent skill directory. We index and link to third-party content (ClawHub, GitHub, LobeHub, Dify, etc.) for informational purposes only. All trademarks, skill names, and content are the property of their respective owners. BytesAgain does not claim ownership of any indexed content.