← 返回 Skills 市场
swancho

Mac Notes Agent

作者 Swan C · GitHub ↗ · v1.1.0
cross-platform ✓ 安全检测通过
1534
总下载
1
收藏
6
当前安装
3
版本数
在 OpenClaw 中安装
/install mac-notes-agent
功能描述
Integrate with the macOS Notes app (Apple Notes). Supports creating, listing, reading, updating, deleting, and searching notes via a simple Node.js CLI that bridges to AppleScript.
使用说明 (SKILL.md)

Mac Notes Agent

Overview

This skill lets the agent talk to Apple Notes on macOS using AppleScript (via osascript). It is implemented as a small Node.js CLI:

node skills/mac-notes-agent/cli.js \x3Ccommand> [options]

Requires macOS with the built-in Notes app and osascript available.

All operations target the default Notes account. Optionally you can specify which folder to use.


Commands

1) Add a new note

node skills/mac-notes-agent/cli.js add \
  --title "Meeting notes" \
  --body "First line\
Second line\
Third line" \
  [--folder "Jarvis"]
  • --title (required): Note title
  • --body (required): Note body text. Use \ for line breaks.
  • --folder (optional): Folder name. If omitted, uses system default folder. If folder doesn't exist, it will be created.

Line breaks (\ ) are converted to \x3Cbr> tags internally for proper rendering in Notes.

Result (JSON):

{
  "status": "ok",
  "id": "Jarvis::2026-02-09T08:40:00::Meeting notes",
  "title": "Meeting notes",
  "folder": "Jarvis"
}

2) List notes

node skills/mac-notes-agent/cli.js list [--folder "Jarvis"] [--limit 50]
  • Lists notes in the given folder (or all folders if omitted).
  • Output is JSON array with title, folder, creationDate, and synthetic id.

3) Read a note (get)

# By folder + title
node skills/mac-notes-agent/cli.js get \
  --folder "Jarvis" \
  --title "Meeting notes"

# By synthetic id
node skills/mac-notes-agent/cli.js get --id "Jarvis::2026-02-09T08:40:00::Meeting notes"

4) Update a note (replace body)

node skills/mac-notes-agent/cli.js update \
  --folder "Jarvis" \
  --title "Meeting notes" \
  --body "New content\
Replaces everything"
  • Replaces the entire body of the matching note.
  • Can also use --id for identification.

5) Append to a note

node skills/mac-notes-agent/cli.js append \
  --folder "Jarvis" \
  --title "Meeting notes" \
  --body "\
---\
Additional notes here"
  • Appends new content to the end of the existing note.

6) Delete a note

node skills/mac-notes-agent/cli.js delete \
  --folder "Jarvis" \
  --title "Meeting notes"

7) Search notes

node skills/mac-notes-agent/cli.js search \
  --query "keyword" \
  [--folder "Jarvis"] \
  [--limit 20]
  • Searches note titles and bodies for the keyword.

Identification Model

Apple Notes doesn't expose stable IDs. This CLI uses:

  • Primary key: (folderName, title)
  • Synthetic ID: folderName::creationDate::title

When multiple notes share the same title, the CLI operates on the most recently created one.


Environment

  • macOS only: Uses AppleScript via osascript
  • No npm dependencies: Uses only Node.js built-ins (child_process)
安全使用建议
This skill appears to do what it claims: it runs AppleScript (via osascript) to operate on your Apple Notes. Before installing: (1) confirm you trust the skill author or inspect cli.js yourself (it's small and included); (2) be aware macOS will likely prompt to allow 'osascript' automation access to the Notes app — granting that lets the skill read and modify all Notes; (3) avoid passing untrusted input to the CLI (there is only basic escaping and edge cases could break or alter the generated AppleScript); and (4) if you don't want an agent to modify your Notes autonomously, restrict invocation to manual/user-invoked only. If you want extra assurance, run the CLI locally from a test account and review behavior before enabling it for automated use.
功能分析
Type: OpenClaw Skill Name: mac-notes-agent Version: 1.1.0 The skill is designed to interact with the macOS Notes application using Node.js and AppleScript (`osascript`). While `osascript` is a powerful command, the `cli.js` code explicitly scopes all AppleScript commands to the 'Notes' application (`tell application "Notes"`) and includes a robust `esc` function to sanitize user-provided arguments (title, body, folder) by escaping double quotes and backslashes, preventing AppleScript injection. The `SKILL.md` file provides clear, benign instructions for the AI agent, without any evidence of prompt injection attempts or instructions to perform actions outside the stated purpose of managing notes. No data exfiltration, persistence mechanisms, or other malicious behaviors were identified.
能力评估
Purpose & Capability
Name/description claim a macOS Notes bridge via AppleScript; the provided cli.js implements exactly that using only Node built-ins and osascript. No unrelated binaries, env vars, or services are requested.
Instruction Scope
SKILL.md instructs running the included Node CLI which in turn runs osascript AppleScript snippets to read/modify Notes. It does not read other files or contact external endpoints. Caution: the CLI constructs AppleScript text from user-supplied inputs with only simple escaping (backslashes and double quotes); this can lead to malformed scripts or AppleScript injection edge-cases for specially crafted inputs — review/validate inputs if you plan to expose it to untrusted content.
Install Mechanism
No install spec; the skill is instruction-only with a single CLI file included. Nothing is downloaded or installed by the skill itself.
Credentials
The skill requests no credentials, env vars, or config paths. Its runtime requirement (macOS with osascript) is proportional to its purpose.
Persistence & Privilege
always is false and there is no special persistence. However, the agent (by default) may invoke this skill autonomously and the skill can create/modify/delete Notes — consider the risk of granting automation control over your Notes if you allow autonomous invocations.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install mac-notes-agent
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /mac-notes-agent 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Remove --bodyFile option for security (arbitrary file read). Use --body with \n for multi-line text instead.
v1.0.0
Initial stable release
v0.1.0
Initial release of mac-notes-agent: Node.js CLI to interact with Apple Notes on macOS. - Supports creating, listing, reading, updating, appending, deleting, and searching notes. - Uses AppleScript (via osascript) to bridge with the Notes app. - Identifies notes primarily by (folder, title); provides a synthetic ID for convenience. - Handles note bodies as plain text or file input, with support for folder creation. - All commands output structured JSON for easy integration. - No external Node.js dependencies; runs on Mac with built-in Notes app.
元数据
Slug mac-notes-agent
版本 1.1.0
许可证
累计安装 6
当前安装数 6
历史版本数 3
常见问题

Mac Notes Agent 是什么?

Integrate with the macOS Notes app (Apple Notes). Supports creating, listing, reading, updating, deleting, and searching notes via a simple Node.js CLI that bridges to AppleScript. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1534 次。

如何安装 Mac Notes Agent?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install mac-notes-agent」即可一键安装,无需额外配置。

Mac Notes Agent 是免费的吗?

是的,Mac Notes Agent 完全免费(开源免费),可自由下载、安装和使用。

Mac Notes Agent 支持哪些平台?

Mac Notes Agent 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Mac Notes Agent?

由 Swan C(@swancho)开发并维护,当前版本 v1.1.0。

💬 留言讨论