← 返回 Skills 市场
ianderrington

Apple Notes Extractor

作者 ianderrington · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
800
总下载
0
收藏
2
当前安装
1
版本数
在 OpenClaw 中安装
/install apple-notes-extractor
功能描述
Extract and monitor Apple Notes content for workflow integration. Supports bulk extraction, real-time monitoring, and export to various formats.
使用说明 (SKILL.md)

Apple Notes Skill

Extract and monitor Apple Notes content for workflow integration with support for bulk extraction, real-time monitoring, and export to various formats.

Prerequisites

  • macOS with Apple Notes app
  • Python 3.8+ (for coordination scripts)
  • osascript (built-in macOS)
  • Proper macOS permissions for Notes access

Installation

# Run the installation script
./scripts/setup.sh

# Or manual setup
chmod +x scripts/*.py
pip3 install -r requirements.txt

Commands

Extract Notes

# Basic extraction (all notes)
python3 scripts/extract-notes.py --method simple

# Full extraction with attachments
python3 scripts/extract-notes.py --method full

# Extract specific folder
python3 scripts/extract-notes.py --folder "Work Notes"

# Output to specific format
python3 scripts/extract-notes.py --format markdown --output ~/notes

Monitor Notes

# Start monitoring daemon
python3 scripts/monitor-notes.py --daemon

# Single check for changes
python3 scripts/monitor-notes.py --check-once

# Monitor with custom interval (seconds)
python3 scripts/monitor-notes.py --interval 30

Processing and Export

# Process extracted notes
python3 scripts/notes-processor.py output/raw -o output/processed

# Export to Obsidian
python3 scripts/export-obsidian.py --vault ~/MyVault

# Generate knowledge graph
python3 scripts/knowledge-graph.py --input output/processed

Configuration

Edit configs/extractor.json for:

  • Output formats (JSON, Markdown, HTML)
  • Privacy filters
  • Folder selection
  • Processing options

Edit configs/monitor.json for:

  • Monitoring intervals
  • Change detection settings
  • Auto-processing rules

Features

  • ✅ Extract text content from all notes
  • ✅ Handle embedded images and attachments
  • ✅ Process note metadata (dates, folders)
  • ✅ Multiple output formats (JSON, Markdown, SQLite)
  • ✅ Real-time monitoring for changes
  • ✅ Privacy-first design with local processing
  • ✅ Integration with knowledge management tools
  • ✅ Automatic deduplication
  • ✅ Incremental updates

Output Formats

Format Description Use Case
json Structured data with metadata API integration
markdown Human-readable text files Documentation
sqlite Database format Searchable archive
obsidian Obsidian vault format Knowledge management

Examples

# Quick start - extract all notes to Markdown
python3 scripts/extract-notes.py --format markdown --output ~/extracted-notes

# Monitor and auto-export to Obsidian
python3 scripts/monitor-notes.py --daemon --auto-export obsidian

# Extract work notes with full content
python3 scripts/extract-notes.py --method full --folder "Work Notes" --format json

# Process and create knowledge graph
python3 scripts/extract-notes.py --method full
python3 scripts/notes-processor.py output/raw -o output/processed
python3 scripts/knowledge-graph.py --input output/processed --output knowledge-graph.json

Security & Privacy

  • All processing happens locally on your machine
  • No data sent to external services
  • Respects macOS security permissions
  • Configurable privacy filters for sensitive content
  • Optional encryption for exported data

Integration

Compatible with:

  • Obsidian (direct vault export)
  • Logseq (Markdown export)
  • Notion (JSON import)
  • Custom workflows (JSON/CSV output)
  • AI processing pipelines
  • Search engines (full-text indexing)

Troubleshooting

Common issues:

  • Permission denied: Grant Notes access in System Preferences → Security & Privacy
  • Import errors: Ensure Python 3.8+ and required packages installed
  • AppleScript errors: Check if Notes app is running and accessible
  • Empty output: Verify folder names and note permissions

See README.md for detailed troubleshooting guide.

安全使用建议
What to check before installing or running this skill: - Review setup.sh before running: it may create cron jobs or modify your environment. Do not run it blindly; inspect it in a text editor or run it in a sandbox/VM first. - Search the repository for network- and auth-related files: api-server.py (starts a Flask app, debug=True, no auth), webhook-handler.py (uses a webhook secret placeholder), migration scripts (Notion/Elasticsearch), and any rsync/ssh examples. Treat these as optional features that must be manually enabled and secured. - If you plan to use the API/webhook features: require strong authentication, disable Flask debug mode, bind the server to localhost only or put behind an authenticated reverse proxy, and add access controls. Do not expose the API to the public internet without TLS and auth. - The skill claims 'no data sent to external services' but includes explicit code to send data externally; assume the capability exists and only enable those workflows intentionally. Check configs/workflows.json and configs/monitor.json — set auto_export and webhooks to null/disabled if you want strictly local operation. - Remove or replace hardcoded placeholder secrets and do not commit real tokens. Provide credentials via secure environment mechanisms only if you understand the downstream integrations. - If you want to be extra safe, run the tool in an isolated environment (VM/container) and test with dummy notes before trusting it with your real Notes data. If you want, I can: (1) scan specific files such as setup.sh, api-server.py, and webhook-handler.py and summarize exact lines that enable network/exfil behavior; (2) suggest minimal config edits to run in a strictly-local, non-networked mode.
功能分析
Type: OpenClaw Skill Name: apple-notes-extractor Version: 1.0.0 The skill is classified as suspicious due to several risky capabilities, even though its stated purpose (Apple Notes extraction) appears benign. Key indicators include: 1) Extensive use of `subprocess.run` to execute `osascript` and `ruby` commands in `scripts/extract-notes.py` and `scripts/monitor-notes.py`, which, while necessary for its function, presents a significant attack surface for shell/AppleScript injection if not perfectly sanitized (though no direct unsanitized user input is evident). 2) The `scripts/setup.sh` and `scripts/extract-notes.py` clone an external Ruby parser (`https://github.com/threeplanetssoftware/apple_cloud_notes_parser.git`) via `git clone`, introducing a supply chain risk if the upstream repository were compromised. 3) The `scripts/monitor-notes.py` includes a configurable `webhook_url` for notifications, which, if enabled and set to a malicious endpoint by a user or a prompt-injected agent, could lead to data exfiltration, although it is disabled by default in `configs/monitor.json`. While the documentation (`AUTOMATION_INTEGRATION.md`, `INTEGRATION.md`) contains examples of potentially risky commands (e.g., `git push`, `requests.post` to external APIs), these are presented as integration instructions for the user/agent to configure, not as direct malicious commands for the skill to execute by default.
能力评估
Purpose & Capability
The name/description promise local, privacy-first extraction and monitoring of Apple Notes, which fits the included extraction and monitor scripts (osascript + Python). However the bundle also includes code and docs that enable remote integrations (Notion migration, Elasticsearch indexing, rsync to remote backup servers, webhook handlers, and a Flask API server that serves extracted notes). Those networking/integration capabilities are not reflected in the skill metadata (no required env vars declared) and contradict the 'no data sent to external services' claim in SKILL.md/README — this is an incoherence worth flagging.
Instruction Scope
SKILL.md instructs running setup.sh and the extraction/monitoring scripts (expected). But documentation and automation files also push cron jobs, root-level helper scripts, an API server (api-server.py) exposing notes, and a webhook handler (webhook-handler.py). SKILL.md and other docs repeatedly claim 'all processing happens locally' while the code contains explicit network I/O (requests to external APIs, rsync to user@backup-server, git clone, remote indexing). The instructions do not clearly call out these network features or recommend secure configuration (authentication, firewall).
Install Mechanism
There is no formal install spec (instruction-only), which limits automatic disk writes. However the code includes runtime installation behavior: install_ruby_parser() will git-clone an external GitHub repo and run bundle install if the Ruby parser is needed. setup.sh is present (not shown) and may perform additional setup. Pulling code at runtime from external repos is common for optional components but increases risk — review setup.sh and the git target before running.
Credentials
Metadata declares no required environment variables or credentials, but multiple files contain examples or hardcoded placeholders that expect secrets/credentials (NOTION_TOKEN, DATABASE_ID, WEBHOOK_SECRET, remote rsync user). The skill will operate without env vars for local extraction, but the presence of networked integrations requiring secrets (and not declared up front) is a mismatch and could lead users to accidentally supply credentials in insecure ways or enable exfiltration-capable features unknowingly.
Persistence & Privilege
The skill does not request 'always: true' and is user-invocable only. That said, the repo contains many example automation/cron entries and statements (AUTOMATION_INTEGRATION.md, INTEGRATION_CHECKLIST.md) that claim the system will be added to daily automation and begin extracting automatically. Those changes are only performed if a user or their scripts install them, but the documentation is written as if it has already integrated itself — be cautious and verify any cron or startup changes in setup.sh and any helper scripts before enabling them.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install apple-notes-extractor
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /apple-notes-extractor 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Apple Notes extraction and monitoring with AppleScript, multiple export formats, workflow integration
元数据
Slug apple-notes-extractor
版本 1.0.0
许可证
累计安装 2
当前安装数 2
历史版本数 1
常见问题

Apple Notes Extractor 是什么?

Extract and monitor Apple Notes content for workflow integration. Supports bulk extraction, real-time monitoring, and export to various formats. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 800 次。

如何安装 Apple Notes Extractor?

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

Apple Notes Extractor 是免费的吗?

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

Apple Notes Extractor 支持哪些平台?

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

谁开发了 Apple Notes Extractor?

由 ianderrington(@ianderrington)开发并维护,当前版本 v1.0.0。

💬 留言讨论