66 - cron : " */5 * * * *"
77 workflow_dispatch : # 允许手动触发
88
9- # 仅在主仓库的 main 分支上运行
10- run-name : Health Check
11-
129jobs :
1310 health-check :
1411 if : github.repository == 'Project-N-E-K-O/N.E.K.O' && github.ref == 'refs/heads/main'
1512 runs-on : ubuntu-latest
1613 steps :
17- # ── 检查 lanlan.app (海外节点 ) ──
14+ # ── 检查 lanlan.app (US ) ──
1815 - name : Check lanlan.app
1916 id : check_app
2017 run : |
2320 -X POST "https://lanlan.app/text/v1/chat/completions" \
2421 -H "Content-Type: application/json" \
2522 -H "Authorization: Bearer free-access" \
26- -d '{"model":"free-model","messages":[{"role":"user","content":"ok "}],"max_tokens":5,"max_completion_tokens":5}' \
23+ -d '{"model":"free-model","messages":[{"role":"user","content":"sends some useful information "}],"max_tokens":5,"max_completion_tokens":5}' \
2724 2>/dev/null || echo "000")
2825 BODY=$(cat /tmp/resp_app.json 2>/dev/null || echo "{}")
2926 echo "http_code=$HTTP_CODE" >> "$GITHUB_OUTPUT"
3936 echo "healthy=false" >> "$GITHUB_OUTPUT"
4037 fi
4138
42- # ── 检查 lanlan.tech (国内节点 ) ──
39+ # ── 检查 lanlan.tech (China ) ──
4340 - name : Check lanlan.tech
4441 id : check_tech
4542 run : |
4845 -X POST "https://lanlan.tech/text/v1/chat/completions" \
4946 -H "Content-Type: application/json" \
5047 -H "Authorization: Bearer free-access" \
51- -d '{"model":"free-model","messages":[{"role":"user","content":"ok "}],"max_tokens":5,"max_completion_tokens":5}' \
48+ -d '{"model":"free-model","messages":[{"role":"user","content":"sends some useful information "}],"max_tokens":5,"max_completion_tokens":5}' \
5249 2>/dev/null || echo "000")
5350 BODY=$(cat /tmp/resp_tech.json 2>/dev/null || echo "{}")
5451 echo "http_code=$HTTP_CODE" >> "$GITHUB_OUTPUT"
6663
6764 # ── 推送结果到 Discord(仅当 secret 存在时) ──
6865 - name : Send Discord notification
69- if : env.DISCORD_WEBHOOK_URL != ''
66+ if : ${{ secrets.DISCORD_HEALTH_WEBHOOK_URL != '' }}
7067 env :
7168 DISCORD_WEBHOOK_URL : ${{ secrets.DISCORD_HEALTH_WEBHOOK_URL }}
7269 run : |
@@ -89,15 +86,19 @@ jobs:
8986 fi
9087
9188 if [ "$APP_HEALTHY" = "true" ]; then
92- APP_STATUS="✅ OK (HTTP $APP_CODE)"
89+ APP_STATUS="OK (HTTP $APP_CODE)"
90+ APP_EMOJI=":white_check_mark:"
9391 else
94- APP_STATUS="❌ DOWN (HTTP $APP_CODE)"
92+ APP_STATUS="DOWN (HTTP $APP_CODE)"
93+ APP_EMOJI=":x:"
9594 fi
9695
9796 if [ "$TECH_HEALTHY" = "true" ]; then
98- TECH_STATUS="✅ OK (HTTP $TECH_CODE)"
97+ TECH_STATUS="OK (HTTP $TECH_CODE)"
98+ TECH_EMOJI=":white_check_mark:"
9999 else
100- TECH_STATUS="❌ DOWN (HTTP $TECH_CODE)"
100+ TECH_STATUS="DOWN (HTTP $TECH_CODE)"
101+ TECH_EMOJI=":x:"
101102 fi
102103
103104 # 只在有故障时 @everyone
@@ -110,17 +111,17 @@ jobs:
110111 --arg content "$CONTENT" \
111112 --arg title "$TITLE" \
112113 --argjson color "$COLOR" \
113- --arg app_status "$APP_STATUS" \
114- --arg tech_status "$TECH_STATUS" \
114+ --arg app_status "$APP_EMOJI $ APP_STATUS" \
115+ --arg tech_status "$TECH_EMOJI $ TECH_STATUS" \
115116 --arg timestamp "$TIMESTAMP" \
116117 '{
117- content: $content,
118+ content: (if $content == "" then null else $content end) ,
118119 embeds: [{
119120 title: $title,
120121 color: $color,
121122 fields: [
122- {name: "lanlan.app (overseas )", value: $app_status, inline: true},
123- {name: "lanlan.tech (mainland )", value: $tech_status, inline: true}
123+ {name: "lanlan.app (US )", value: $app_status, inline: true},
124+ {name: "lanlan.tech (China )", value: $tech_status, inline: true}
124125 ],
125126 footer: {text: "N.E.K.O Health Monitor"},
126127 timestamp: $timestamp
0 commit comments