用途:搭建本地 HTTP 服务器,实时接收 Nansen 智能警报(smart alerts)的 webhook 推送。该技能只负责监听基础设施,不创建或修改警报。
主要能力:使用 Node.js 内置模块(node:http、node:crypto)运行,无需 npm 依赖;绑定 127.0.0.1,默认端口 9477(可用 PORT 覆盖);仅接受 POST /webhook 与 GET /health,其余返回 404;通过 x-nansen-signature 头做 HMAC-SHA256 校验并使用 timing-safe 比较,签名不符返回 401;请求体上限 1 MB,超出返回 413;支持 SIGINT/SIGTERM 优雅关闭;如设置 OPENCLAW_GATEWAY_URL,可将校验通过的负载转发到 OpenClaw 的 /hooks/agent,触发智能体回合。
使用方式:先选择隧道服务(推荐 ngrok,localtunnel 为备选但不稳定);生成密钥:node -e "console.log(require('crypto').randomBytes(32).toString('hex'))";创建 nansen-webhook-server.mjs;启动服务器:WEBHOOK_SECRET='<secret>' node nansen-webhook-server.mjs;启动隧道:ngrok http 9477;随后由用户自行运行 nansen alerts create 或 nansen alerts update,并填入 --webhook 与 --webhook-secret。创建警报前需保持服务器和隧道运行,因为 Nansen 会在创建时验证 webhook 端点。
适用场景:需要在本机实时接收并查看 Nansen 智能警报,或希望将警报转发给本地 OpenClaw 智能体处理。
限制:隧道会把本地端点暴露到公网,ngrok URL 可被枚举,未签名请求仍会到达本机(会被拒绝);隧道 URL 每次重启都会变化,需更新警报中的 webhook 地址;本地隧道不稳定时警报会失败;生产环境建议部署到具有静态 URL 的云主机并置于带 TLS 的反向代理之后。认证与 API 说明:NANSEN_API_KEY 优先,浏览器登录不授予钱包签名、特权服务身份或持久 MCP 集成密钥,浏览器登录仅在 CLI 2.0.0 的 macOS arm64 预览范围内可用。