核心功能
email-webhook 是一款专为 AI Commander 设计的邮件接收技能,它创建一个本地 HTTP 服务器,将入站邮件转换为标准化 JSON Webhook,并通过 openclaw system event 命令立即唤醒指定的 Agent。
显著优点
1. 即时响应:不同于轮询机制,邮件到达即触发唤醒,延迟极低
2. 部署友好:原生支持 Cloudflare Flexible SSL,默认 2083 端口为 Cloudflare 白名单端口,配合自签名证书即可快速上线
3. 安全加固:强制 Bearer Token 认证、命令注入防护(spawn 替代 shell)、路径遍历过滤(basename 限制写入范围)
4. 轻量依赖:仅依赖 Express 4.21.2 和 Node.js,无数据库要求,数据以 JSONL 格式本地持久化
潜在缺点与局限
- 单点存储:邮件累积在单一 JSONL 文件,缺乏内置轮换机制,长期运行需人工清理
- 无内置 TLS:依赖 Cloudflare 或反向代理提供传输层加密,裸机部署存在中间人风险
- Agent 隔离依赖环境变量:若未配置
OPENCLAW_AGENT_ID,将唤醒服务器上所有 Agent,多租户场景需特别注意 - 无邮件发送能力:纯接收端,双向通信需额外配置 SMTP 技能
适合人群
- 需要将邮件作为 AI Agent 触发器的个人开发者或小型团队
- 已有 Cloudflare 基础设施、追求快速上线且接受自托管方案的用户
- 对实时性要求高于可靠性(如客服自动回复、告警通知)的场景
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 凭证泄露 | `WEBHOOK_SECRET` 若硬编码或日志泄露,攻击者可伪造邮件 | 使用环境变量注入,定期轮换 |
| 磁盘耗尽 | JSONL 无限追加 | 设置 cron 任务定期归档或清理 |
| 唤醒风暴 | 高频邮件导致 Agent 频繁唤醒 | 在 HEARTBEAT.md 中实现去抖逻辑 |