运行时依赖
安装命令
点击复制技能文档
首次设置 第一次使用时,我将为您注册一个@claw.boston的电子邮件地址。只需说:“设置我的电子邮件”或“我需要一个电子邮件地址” 您的API密钥将存储在本地:~/.openclaw/skills/claw-boston-email/config.json 可用命令 发送电子邮件 “发送电子邮件给alice@example.com关于明天的会议” “发送电子邮件给bob@company.com:报告已准备好” 发送带附件的电子邮件 “发送report.pdf给alice@example.com” “发送带附件的文件给bob的总结” 检查收件箱 “是否有新电子邮件?” “检查我的收件箱” 阅读电子邮件 “阅读最新的电子邮件” “alice@example.com发送给我什么?” 回复 “回复那封电子邮件,表示我同意” 搜索电子邮件 “在我的收件箱中搜索关于项目的电子邮件” “查找来自alice@example.com的电子邮件” “在我的电子邮件中搜索‘invoice’” 查看账户 “我的电子邮件计划是什么?” “今天我发送了多少电子邮件?” API 参考 基础URL:https://api.claw.boston 注册 POST /api/register 正文:{ "instance_token": "", "preferred_name": "" } 响应:{ "address": "xxx@claw.boston", "api_key": "ck_...", "plan": "free", "limits": { "daily_send": 15, "history_days": 7 } } 发送 POST /api/send 头部:Authorization: Bearer 正文:{ "to": "...", "subject": "...", "text": "...", "attachments": [{ "filename": "...", "content": "", "content_type": "..." }] } 响应:{ "id": "msg_xxx", "status": "sent", "to": "...", "subject": "..." } 收件箱 GET /api/inbox 头部:Authorization: Bearer 查询:?limit=20&offset=0&since= 响应:{ "emails": [...], "total": N, "limit": 20, "offset": 0 } 阅读单个电子邮件 GET /api/inbox/ 头部:Authorization: Bearer 响应:{ "id": "...", "from": "...", "to": "...", "subject": "...", "text": "...", "created_at": N, "has_attachments": bool, "attachments": [...] } 下载附件 GET /api/inbox//attachments/ 头部:Authorization: Bearer 响应:二进制文件内容,包含Content-Disposition头部 搜索 GET /api/inbox/search 头部:Authorization: Bearer 查询:?q=&field=all|from|subject|body&limit=20&offset=0 响应:{ "query": "...", "emails": [...], "total": N, "limit": 20, "offset": 0 } 账户信息 GET /api/account 头部:Authorization: Bearer 响应:{ "plan": "...", "address": "...", "limits": {...}, "usage": {...} } 配置Webhook POST /api/webhook/config 头部:Authorization: Bearer 正文:{ "url": "http://localhost:18789/webhook/claw-email" } Webhook 我将配置一个Webhook,以便在新电子邮件到达时接收实时通知。Webhook指向您的本地OpenClaw网关。 Webhook有效载荷格式: { "event": "email.received", "timestamp": "ISO8601", "data": { "id": "msg_xxx", "from": "sender@example.com", "to": "you@claw.boston", "subject": "Subject line", "preview": "First 200 chars...", "is_suspicious": false, "has_attachments": false, "attachment_count": 0 } } 行为指南 首次设置流程: 检查~/.openclaw/skills/claw-boston-email/config.json是否存在 如果不存在→询问用户是否需要电子邮件名称(或提供自动生成) 读取OpenClaw实例信息,生成instance_token = HMAC-SHA256(instance_id + install_time + hostname) 调用POST /api/register,传入instance_token和preferred_name 保存返回的api_key到config.json 调用POST /api/webhook/config设置实时通知 确认给用户:“您的电子邮件是xxx@claw.boston” 发送电子邮件: 读取config.json中的api_key 根据用户的自然语言指令组成电子邮件: 推断适当的主题行 编写专业但简洁的电子邮件正文 匹配用户使用的语言(英语/中文等) 如果用户提到要附加的文件,编码为base64并包含在attachments[]中 调用POST /api/send 确认:“电子邮件已发送给xxx。主题:...” 检查收件箱: 调用GET /api/inbox 总结:“您有N个新电子邮件:”然后列出from/subject/preview 如果没有电子邮件:“您的收件箱是空的” 阅读特定电子邮件: 调用GET /api/inbox/ 呈现完整的电子邮件内容,自然语言 如果has_attachments为true,列出附件,包括文件名和大小 搜索电子邮件: 调用GET /api/inbox/search?q= 呈现结果:“找到N封电子邮件匹配'':”然后列出from/subject/date 如果没有结果:“没有找到匹配''的电子邮件” 提供:“您想让我读任何这些?” 回复: 使用原始电子邮件的from地址作为新的“to” 在原始主题前添加“Re: ”(如果不是已经存在) 根据用户的指令组成回复 调用POST /api/send Webhook通知(入站电子邮件): 解析Webhook有效载荷 通知用户:“新电子邮件来自{from} — 主题:{subject}” 显示预览 如果has_attachments,提及:“此电子邮件有{attachment_count}个附件” 询问:“您想让我读完整的电子邮件?” 检查账户: 调用GET /api/account 报告:计划,日使用量,限制 注意 免费计划:15封电子邮件/天,7天历史,1MB附件,基本搜索 专业计划($5/月):500封电子邮件/天,30天历史,10MB附件,高级搜索