OpenClaw · 入站电子邮件

一封电子邮件到达。您的 OpenClaw 智能体醒来。

安装一项技能,为智能体提供一个免费收件箱,并将入站邮件路由到具有仅标头身份验证的专用网关挂钩。

先决条件:配置了模型提供程序的工作 OpenClaw 智能体 · 无轮询 · 稍后自定义域

OpenClaw·当前安装
$openclaw skills install @gwendall/domani
已安装 · @gwendall/domani
$openclaw skills verify @gwendall/domani
已验证 · 最新版本
$npx domani-cli login --surface skill
已批准 · 凭据已存储在系统钥匙串中

事件路径

Webhook 触发取代了收件箱轮询循环。

01

电子邮件到达

一条消息到达 agent@domani.run。

02

Domani 进行身份验证

Authorization加上 X-Domani-Signature 伴随着该事件。

03

网关地图

/hooks/domani-email 将负载转变为独立的智能体任务。

04

智能体行为

OpenClaw 可以将最终响应传递到配置的通道。

轮询

重复读取、空闲请求以及轮询间隔设置的延迟。

网络钩子

处理邮件时一键推送;仅在接收器停机后协调存储的收件箱。

1·网关入口

将 Domani 的载荷映射到隔离的智能体运行中。

将其合并到 `~/.openclaw/openclaw.json`;保留更严格的现有设置。在网关环境中放置两个不同的长随机值或 `~/.openclaw/.env`: `OPENCLAW_GATEWAY_TOKEN` 用于控制平面身份验证和 `OPENCLAW_HOOK_TOKEN` 对于这个入口。默认情况下,智能体挂钩运行是隔离的。验证后重新启动。

openclaw.json · 合并,不替换
${ gateway: { mode: "local", bind: "loopback", auth: { mode: "token", token: "${OPENCLAW_GATEWAY_TOKEN}" } }, hooks: { enabled: true, token: "${OPENCLAW_HOOK_TOKEN}", path: "/hooks", allowRequestSessionKey: false, allowedAgentIds: ["main"], mappings: [{ match: { path: "domani-email" }, action: "agent", agentId: "main", wakeMode: "now", name: "Domani email", messageTemplate: "New email for {{email}}\nFrom: {{message.from}}\nSubject: {{message.subject}}\n\n{{message.text}}", deliver: true, channel: "last" }] } }

专用令牌

使用长随机值并且不要重复使用OPENCLAW_GATEWAY_TOKEN。 OpenClaw 将重用标记为一项关键的安全发现。

值得信赖的曝光

让网关仅监听环回地址,并通过 tailnet 或可信反向代理以 HTTPS 公开 hook。适用时,将 trustedProxies 配置为代理的确切 IP 地址。

受限智能体

将电子邮件视为不受信任的输入。使用受限工具策略并禁用不安全内容绕过。

2 · Domani 邮箱

通过环境变量传递令牌,然后证明投递。

使用映射挂钩的外部可访问 HTTPS 形式。隐藏的提示将不记名值保留在 shell 历史记录之外,并且 CLI 会读取它而不打印它。

Domani CLI · 秘密安全
$read -rsp 'OpenClaw hook token: ' OPENCLAW_HOOK_TOKEN; echo
$export OPENCLAW_HOOK_AUTH="Bearer $OPENCLAW_HOOK_TOKEN"
$domani email webhook agent@domani.run --url 'https://YOUR_GATEWAY/hooks/domani-email' --authorization-env OPENCLAW_HOOK_AUTH
Webhook 已配置 · Authorization
$domani email webhook-test agent@domani.run
测试已送达 · HTTP 200
$unset OPENCLAW_HOOK_TOKEN OPENCLAW_HOOK_AUTH

先测试一下

在发送实时邮件之前需要 2xx 结果。

直播第二

发送一封真实的电子邮件并确认一项单独的任务开始。

停机后协调

最多会尝试实时邮箱回调 3 次。在较长的网关停机时间后仍会读取存储的收件箱,因为 Webhook 传递至少一次且重试窗口有限。

故障排除

要检查的四个边界。

401 / 429检查专用挂钩令牌。 OpenClaw 速率限制重复的身份验证失败;等待 Retry-After 而不是更加努力地重试。
404确认hooks.enabled、hooks.path以及映射路径。对于本示例,Domani URL 必须以 /hooks/domani-email 结尾。
超时长智能体工作前的退货验收。 Domani 的测试有 10 秒的接收器超时。
智能体不运行验证配置,重新启动网关,验证 allowedAgentIds,然后检查网关日志以了解映射或模型策略拒绝。

Domani 测试证明网关接受了 HTTP 事件。它不测量下游模型的完成时间。

第一个结果

创建收件箱。测试钩子。发送电子邮件。

在事件循环工作之后保留自定义域决策。

使用记录的 OpenClaw 和 Domani 接口进行社区集成。