用途:Lindy 智能体运行在 Lindy 托管基础设施上,不能本地运行。本地开发聚焦于构建并测试智能体所交互的 webhook 接收器、回调处理器和应用代码,并用 ngrok 或 Cloudflare Tunnel 等隧道暴露本地端点供 Lindy webhook 触发。
前置条件:Node.js 18+ 或 Python 3.10+;用于 HTTPS 隧道的 ngrok 或 Cloudflare Tunnel;已配置至少一个智能体的 Lindy 账号;已完成 lindy-install-auth 设置。
主要步骤:
- 创建 webhook 接收器(如 Express 服务,校验 Authorization: Bearer 回调密钥,仅记录 taskId 与 status,并提供 /health 健康检查)。
- 用隧道暴露本地服务:ngrok http 3000,得到形如 https://abc123.ngrok.io 的 HTTPS 地址,填入 Lindy webhook 配置。
- 在 Lindy 面板为智能体添加 HTTP Request 动作,方法 POST,URL 指向隧道地址的 /lindy/callback,带 Content-Type 与 Authorization 头,Body 用 AI Prompt 模式发送 taskId、result、status。注意:隧道是智能体 HTTP Request 动作的目标;webhook 触发器方向相反,使用 Lindy 托管的触发 URL,不能替换为隧道地址。
- 编写测试脚本(test-trigger.ts),从环境变量读取 LINDY_WEBHOOK_URL 与 LINDY_TRIGGER_SECRET,并校验协议为 https 且主机名为 public.lindy.ai,否则拒绝发送密钥。
- 监听模式开发:package.json 中配置 "dev": "tsx watch server.ts"、"test:trigger": "tsx test-trigger.ts"、"tunnel": "ngrok http 3000",分三个终端运行。
- 环境配置 .env:LINDY_WEBHOOK_URL、LINDY_TRIGGER_SECRET、LINDY_CALLBACK_SECRET、NODE_ENV。
输出:生成一份本地测试回执,包含回调路由、脱敏后的隧道来源、测试载荷、认证与未认证的 HTTP 结果、Lindy 任务 ID、回调状态与日志时间戳;不得包含隧道私有路径、任一 bearer 凭据或客户数据。
常见错误:ngrok 免费版 2 小时过期需重启或升级;隧道 URL 变化需在面板更新;回调未收到多为 HTTP Request 动作配置错误;ECONNREFUSED 说明本地服务未启动;SSL 错误需始终使用 https:// 的 ngrok 地址。
限制:Lindy 智能体不在本地运行;官方未提供具体收费、价格或平台支持范围等细节,暂未提供。后续可参考 lindy-sdk-patterns 集成模式。