核心用法
email-webhook 是一个专为 AI Commander 设计的邮件接收服务,通过安全的 JSON webhook 端点接收传入邮件并立即唤醒 Agent。该 skill 内置 Express 服务器监听指定端口(默认 2083),将邮件内容以 JSONL 格式持久化到本地 inbox.jsonl 文件,并通过 openclaw system event --mode now 触发即时唤醒机制,确保 Agent 无需等待心跳周期即可处理新邮件。
部署与配置
1. 环境准备:安装 Express 依赖(express@4.21.2),设置强密码 WEBHOOK_SECRET 环境变量
2. 启动服务:运行 Node 脚本启动 webhook 服务器
3. Cloudflare 集成:支持 Cloudflare Flexible SSL,建议使用 2083 端口并配置 A 记录指向服务器 IP
4. Worker 配置:设置 OPENCLAW_WEBHOOK_URL 为 https://webhook.yourdomain.com:2083/api/email
显著优点
- 即时响应:
--mode now唤醒机制实现邮件到达的毫秒级 Agent 激活 - 多层安全防护:采用
child_process.spawn参数数组防命令注入,path.basename()防路径遍历,强制 Bearer Token 认证 - 云原生兼容:原生支持 Cloudflare 代理端口(2082/2083),自动生成自签名证书
- 标准化数据:JSONL 格式存储便于下游处理和分析
- 依赖精简:仅依赖 Express 和 Node.js 运行时
潜在缺点与局限性
- 单点存储风险:
inbox.jsonl本地文件无内置备份机制,磁盘故障或权限问题会导致数据丢失 - 隐私管理负担:用户需手动轮转/清理 inbox 文件,无自动过期策略
- TLS 降级风险:Cloudflare Flexible SSL 模式下存在边缘到源站的不加密传输
- 端口硬编码倾向:文档示例强调 2083,但其他端口需显式配置
PORT变量 - 无内置限流:缺少速率限制保护,可能面临 DoS 攻击
适合人群
- 需要邮件触发 AI 工作流的自动化工程师
- 使用 Cloudflare 基础设施的自托管 AI Commander 用户
- 对延迟敏感、追求即时 Agent 唤醒的实时处理场景
- 具备 Node.js 运维能力的技术团队
常规风险
| 风险类别 | 说明 |
|---------|------|
| **认证绕过** | 弱 `WEBHOOK_SECRET` 或环境变量泄露可导致未授权邮件注入 |
| **数据残留** | 长期未清理的 inbox.jsonl 可能成为敏感信息泄露源 |
| **依赖漏洞** | Express 4.21.2 存在已知 CVE 时需手动升级 |
| **网络暴露** | 端口直接暴露时缺乏内置 WAF/防火墙规则建议 |