AI PLAY玩法更新持续收录
← 回到更新流

2026-10-07 · 原文发布日

10分钟盯一次 DeFi 仓位清算风险

每10分钟读取配置中的仓位 API 与资产价格 API,只有抵押量、债务量、清算阈值和 USD 价格都为正才继续;据此计算健康因子、预估清算价与距离,分级风险并按上一状态判断是否要告警。每轮写入 Sheets 的 Monitoring History,需要告警时由 OpenAI 把既定指标写成简短说明发 Slack,同时记入 Alert History。

原文要点

原模板每 10 分钟跑一次:加载仓位 API 与价格 API 两个 URL,HTTP 拉仓位后仅在抵押量、债务量、清算阈值均大于零时继续,再拉价格且 price_usd 必须为正;随后计算健康因子、预估清算价与清算距离,分级风险并对照上一轮状态决定是否告警;每轮追加 Sheets 的 Monitoring History,需要告警时由 OpenAI 把计算指标写成简短说明发 Slack 并记入 Alert History。原文排障表列出端点异常、price_usd 非正、字段格式不符、alert_required 为 false、AI 输出结构异常、Sheets 映射错误等成因。

这次做成什么

在自有 n8n 复刻“10 分钟 DeFi 清算风险监控”,并用两个本地模拟 HTTP 端点(或 n8n 测试 webhook)做一轮端到端练习,验证正数校验、指标计算、状态升级告警与双表记录(练习方案为本站独立设计)。

准备什么

  • n8n 实例,可每 10 分钟运行 Schedule Trigger 并保存状态
  • 可访问的仓位 API 与资产价格 API(练习可用 n8n webhook 自模拟,勿用真实资金仓位)
  • Google Sheets 凭据,及含 Monitoring History 与 Alert History 两个工作表的表格
  • OpenAI API Key(仅告警分支使用)
  • Slack 凭据与目标告警频道

具体怎么做

  1. 建配置与模拟端点

    Set 节点 Load Monitor Configuration 写入 position_api_url 与 price_api_url 及告警阈值。练习阶段建两个 n8n webhook 返回材料中的合成 JSON,避免直连真实借贷仓位。阈值示例:safe>=1.5、warning 1.2~1.5、critical 1.0~1.2、breached<1.0。

  2. 拉取并校验数据

    HTTP Request 节点请求仓位 API,IF 节点要求 collateral_amount>0 且 debt_amount>0 且 liquidation_threshold>0,否则写入日志并终止本轮。第二个 HTTP 节点请求价格 API,要求 price_usd>0,同样不满足即终止。

  3. 计算风险指标

    Code 节点计算:health_factor = collateral_amount × price_usd × liquidation_threshold ÷ debt_amount;estimated_liquidation_price = debt_amount ÷ (collateral_amount × liquidation_threshold);distance_pct = (price_usd − 清算价) ÷ price_usd × 100。按阈值分级,与上一轮等级(存 workflow static data 或 Sheets 末行)比较,得出 alert_required 与升级方向。

  4. 记录监控历史

    Google Sheets 节点向 Monitoring History 追加一行:timestamp、health_factor、price_usd、liquidation_price、distance_pct、risk_level、alert_required。无论是否告警都写,保证趋势可查。

  5. 告警分支

    alert_required 为 true 时,OpenAI 节点用材料提示词把已算好的指标写成不超过 60 字的中文说明(提示词内强调只使用给定数字),Normalize 节点提取纯文本后经 Slack 节点发到目标频道,同时向 Alert History 追加 timestamp、risk_level、message、previous_level。

可直接复制的材料

模拟仓位与价格 API 响应(练习数据)

本站独立虚构的练习数据,用本地 webhook 返回,不含真实仓位信息。

{\n  \"position\": {\"collateral_amount\": 10, \"collateral_asset\": \"ETH\", \"debt_amount\": 12000, \"debt_asset\": \"USD\", \"liquidation_threshold\": 0.85},\n  \"price\": {\"asset\": \"ETH\", \"price_usd\": 2400, \"timestamp\": \"2026-10-08T08:00:00Z\"}\n}

OpenAI 告警文案提示词(可直接粘贴)

本站独立编写的示例提示词,变量需替换为节点字段;原模板提示词未公开。

你是 DeFi 风控播报员。下面是一轮监控已经算好的指标,你只负责把它们改写成一段不超过 60 字的中文告警,禁止新增任何数字或结论。\n\n风险等级:{{risk_level}}(上一轮:{{previous_level}})\n健康因子:{{health_factor}}\n抵押资产现价:{{price_usd}} USD\n预估清算价:{{liquidation_price}} USD\n距清算:{{distance_pct}}%\n\n要求:第一句说明等级变化,第二句给出健康因子与距清算百分比,结尾提示“请关注仓位”。只输出告警正文,不要解释。

输入与输出示例

本站虚构演算,数字为手算示例,非原作者结果,未真实调用 API。

输入

仓位:10 ETH 抵押、债务 12000 USD、清算阈值 0.85;价格端点返回 price_usd=2400;上一轮风险等级为 safe。

对应输出

health_factor=10×2400×0.85÷12000=1.70;清算价=12000÷(10×0.85)=1411.76 USD;distance_pct=(2400−1411.76)÷2400≈41.2%。本轮 risk_level=safe 与上轮一致,alert_required=false:Monitoring History 追加一行(…,1.70,2400,1411.76,41.2,safe,false),不发 Slack。若价格跌至 1700,则 HF≈1.20 降为 critical,alert_required=true,Slack 收到“风险等级由 safe 升至 critical,健康因子 1.20,距清算 17.0%,请关注仓位”。

做完检查这些

  • 把模拟价格改为 0 时,本轮在价格校验处终止且不写 Slack、不追加告警表
  • HF 从 1.70 降到 1.20 的相邻两轮间,恰好触发一次 critical 告警并记入 Alert History
  • Monitoring History 每 10 分钟固定新增一行且五列数值齐全
  • OpenAI 输出的告警文字中不出现提示词里没给的数字

容易卡住的地方

  • 仓位 API 返回字段名与计算节点预期不一致会让健康因子算错,先用模拟数据核对字段映射
  • liquidation_threshold 用百分数(85)还是小数(0.85)必须与公式一致,混用会把 HF 放大百倍
  • 告警判定依赖上一轮状态,清空 static data 或换表会导致首轮误报或不报
  • Slack 或 OpenAI 凭据失效只影响告警分支,监控历史仍会写表,排查时别误以为整条流没跑

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Monitor DeFi liquidation risk with OpenAI GPT-4.1 and Slack alerts
原作者
WeblineIndia
原始发布日期
2026-10-07T03:55:06.489Z
来源
https://n8n.io/workflows/20583