重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
apple-mail by rbouschery/marketplace
npx skills add https://github.com/rbouschery/marketplace --skill apple-mail此技能提供通过 AppleScript 在 macOS 上与 Apple Mail 交互的命令。
所有脚本均位于 ../../scripts/ 目录(相对于此文件)。从插件根目录通过 bash 执行它们。
| 脚本 | 用途 | 参数 |
|---|---|---|
list-accounts.sh | 列出所有电子邮件账户 | 无 |
list-mailboxes.sh | 列出邮箱/文件夹 | [account](可选) |
get-unread-count.sh |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 获取未读邮件数量 |
[account] [mailbox](可选) |
| 脚本 | 用途 | 参数 |
|---|---|---|
get-emails.sh | 获取最近的邮件 | [account] [mailbox] [limit] [include_content] [unread_only] |
get-email-by-id.sh | 通过 ID 获取特定邮件 | <id> [account] [mailbox] [include_content] |
search-emails.sh | 搜索邮件 | <query> [account] [mailbox] [limit] |
| 脚本 | 用途 | 参数 |
|---|---|---|
send-email.sh | 发送一封邮件 | <to> <subject> <body> [cc] [bcc] [from] |
create-draft.sh | 创建草稿邮件 | <subject> <body> [to] [cc] [bcc] [from] |
create-reply-draft.sh | 创建邮件回复 | <message_id> <body> [reply_all] [account] [mailbox] |
send-draft.sh | 发送最前端的草稿 | 无 |
| 脚本 | 用途 | 参数 |
|---|---|---|
archive-email.sh | 归档邮件 | <message_id> [account] [mailbox] [archive_mailbox] |
delete-email.sh | 删除邮件 | <message_id> [account] [mailbox] |
mark-read.sh | 将邮件标记为已读 | <message_id> [account] [mailbox] |
mark-unread.sh | 将邮件标记为未读 | <message_id> [account] [mailbox] |
脚本使用分隔符进行结构化输出:
<<>> 分隔记录内的字段||| 分隔多个记录ERROR: 前缀表示错误信息id<<>>subject<<>>sender<<>>to<<>>cc<<>>bcc<<>>dateSent<<>>isRead<<>>content|||
./scripts/list-accounts.sh
./scripts/get-emails.sh "" "INBOX" 10 false false
./scripts/get-emails.sh "" "INBOX" 10 true true
./scripts/get-email-by-id.sh 12345 "iCloud" "INBOX" true
./scripts/search-emails.sh "meeting notes" "" "" 20
./scripts/send-email.sh "recipient@example.com" "Subject" "Body text"
./scripts/send-email.sh "to@example.com" "Subject" "Body" "cc@example.com" "bcc@example.com"
./scripts/create-draft.sh "Draft Subject" "Draft body" "recipient@example.com"
./scripts/create-reply-draft.sh 12345 "Thanks for your message!" false "iCloud" "INBOX"
./scripts/send-draft.sh
./scripts/archive-email.sh 12345 "iCloud" "INBOX"
./scripts/mark-read.sh 12345 "iCloud" "INBOX"
./scripts/mark-unread.sh 12345 "iCloud" "INBOX"
当接收到邮件记录时,按如下方式解析:
||| 分割以获取单个记录<<>> 分割每个记录以获取字段在 bash 中解析的示例:
IFS='|||' read -ra emails <<< "$output"
for email in "${emails[@]}"; do
IFS='<<>>' read -ra fields <<< "$email"
id="${fields[0]}"
subject="${fields[1]}"
sender="${fields[2]}"
# ... 等等
done
关于高级 AppleScript 模式和自定义,请参阅 ./reference/applescript-patterns.md。
每周安装次数
65
仓库
GitHub Stars
1
首次出现
2026年1月21日
安全审计
安装于
opencode57
gemini-cli57
codex57
cursor54
github-copilot51
kimi-cli48
This skill provides commands to interact with Apple Mail on macOS via AppleScript.
All scripts are in the ../../scripts/ directory (relative to this file). Execute them via bash from the plugin root.
| Script | Purpose | Arguments |
|---|---|---|
list-accounts.sh | List all email accounts | none |
list-mailboxes.sh | List mailboxes/folders | [account] (optional) |
get-unread-count.sh | Get unread email count | [account] [mailbox] (optional) |
| Script | Purpose | Arguments |
|---|---|---|
get-emails.sh | Get recent emails | [account] [mailbox] [limit] [include_content] [unread_only] |
get-email-by-id.sh | Get specific email by ID | <id> [account] [mailbox] [include_content] |
search-emails.sh | Search emails | <query> [account] [mailbox] [limit] |
| Script | Purpose | Arguments |
|---|---|---|
send-email.sh | Send an email | <to> <subject> <body> [cc] [bcc] [from] |
create-draft.sh | Create a draft email | <subject> <body> [to] [cc] [bcc] [from] |
create-reply-draft.sh | Create reply to email | <message_id> <body> [reply_all] [account] [mailbox] |
| Script | Purpose | Arguments |
|---|---|---|
archive-email.sh | Archive an email | <message_id> [account] [mailbox] [archive_mailbox] |
delete-email.sh | Delete an email | <message_id> [account] [mailbox] |
mark-read.sh | Mark email as read | <message_id> [account] [mailbox] |
Scripts use delimiters for structured output:
<<>> separates fields within a record||| separates multiple recordsERROR: prefix indicates an error messageid<<>>subject<<>>sender<<>>to<<>>cc<<>>bcc<<>>dateSent<<>>isRead<<>>content|||
./scripts/list-accounts.sh
./scripts/get-emails.sh "" "INBOX" 10 false false
./scripts/get-emails.sh "" "INBOX" 10 true true
./scripts/get-email-by-id.sh 12345 "iCloud" "INBOX" true
./scripts/search-emails.sh "meeting notes" "" "" 20
./scripts/send-email.sh "recipient@example.com" "Subject" "Body text"
./scripts/send-email.sh "to@example.com" "Subject" "Body" "cc@example.com" "bcc@example.com"
./scripts/create-draft.sh "Draft Subject" "Draft body" "recipient@example.com"
./scripts/create-reply-draft.sh 12345 "Thanks for your message!" false "iCloud" "INBOX"
./scripts/send-draft.sh
./scripts/archive-email.sh 12345 "iCloud" "INBOX"
./scripts/mark-read.sh 12345 "iCloud" "INBOX"
./scripts/mark-unread.sh 12345 "iCloud" "INBOX"
When receiving email records, parse them like this:
||| to get individual records<<>> to get fieldsExample parsing in bash:
IFS='|||' read -ra emails <<< "$output"
for email in "${emails[@]}"; do
IFS='<<>>' read -ra fields <<< "$email"
id="${fields[0]}"
subject="${fields[1]}"
sender="${fields[2]}"
# ... etc
done
For advanced AppleScript patterns and customization, see ./reference/applescript-patterns.md.
Weekly Installs
65
Repository
GitHub Stars
1
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykWarn
Installed on
opencode57
gemini-cli57
codex57
cursor54
github-copilot51
kimi-cli48
通过 LiteLLM 代理让 Claude Code 对接 GitHub Copilot 运行 | 高级变通方案指南
46,900 周安装
send-draft.sh |
| Send front-most draft |
| none |
mark-unread.sh| Mark email as unread |
<message_id> [account] [mailbox] |