为AionClaw后端增加/health接口是避免Gateway返回502及Dashboard显示“节点离线”的关键;需确认服务端口、验证监听、按Node.js或FastAPI规范添加轻量健康端点,并通过本地访问和Gateway配置验证生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

为AionClaw后端服务增加健康检查接口,是确保Gateway能准确识别服务存活状态、避免502 Bad Gateway的关键动作。不加这个接口,Dashboard可能显示“节点离线”或反复重连失败,而你根本看不到具体哪一步卡住了。
确认AionClaw服务运行模式与端口
打开AionClaw安装目录下的 config.yaml 或 settings.json,查找 【server.port】 字段——这是健康检查探测的目标端口,默认通常是 8080 或 3000。若配置中使用了反向代理(如Nginx),则必须以实际暴露给Gateway的端口为准,而非服务内部绑定端口。
执行 netstat -ano | findstr :8080(Windows)或 lsof -i :3000(macOS/Linux)验证该端口确有AionClaw进程监听。没监听就别往下走,否则健康检查永远超时。
添加 /health 端点(Node.js 后端)
如果你用的是AionClaw官方推荐的Node.js后端模板(基于Express或Fastify),直接在主路由文件(如 src/routes/index.ts)末尾插入以下代码:
app.get('/health', (req, res) => { res.status(200).json({ status: 'ok', timestamp: Date.now(), version: process.env.APP_VERSION || 'dev' }); });
这行代码必须放在所有中间件注册之后、app.listen() 之前。如果加在中间件链中间,某些鉴权或CORS中间件可能拦截掉该请求,导致返回401或CORS错误——健康检查就变成了“被拒绝的健康”。
添加 /health 端点(Python FastAPI 后端)
方法一:在 main.py 的根路径下追加
@app.get("/health")def health_check(): return {"status": "ok", "uptime": time.time() - start_time}
方法二:新建 health.py 模块并挂载到子应用(推荐用于生产环境)
from fastapi import APIRouter router = APIRouter() @router.get("/health") def health(): return {"status": "ok"} → 在 main.py 中调用 app.include_router(router)
【注意】不要在 /health 中调用数据库连接或外部API——健康检查必须轻量、秒级响应。加一个MySQL ping或Redis get,超时阈值一设成3秒,三次失败就直接被Gateway摘除。
验证健康检查是否生效
第一步:本地访问 http://localhost:8080/health,确认返回 200 OK 和 JSON 响应体。
第二步:在Gateway配置中将后端节点的健康检查路径设为 /health,协议选HTTP,状态码填 200。
第三步:重启AionClaw服务 → 等待30秒 → 查看Dashboard「节点状态」栏是否从灰色变为绿色圆点。若仍是灰色,立刻打开Gateway日志,搜索 health check failed 关键字定位失败原因。















