From 55906b8b7e0f0d85ce89281f05d8567cca2bb8e4 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sun, 27 Sep 2026 19:12:12 +0800 Subject: [PATCH] =?UTF-8?q?chore(deploy):=20=E8=A1=A5=E5=BC=BA=E9=83=A8?= =?UTF-8?q?=E7=BD=B2=E5=90=8E=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原来只说「等 20s 看 /kernel 状态」,等于没验。进程活着 ≠ agent 起来了。 现在逐项核对,每项对应一个真实故障模式: - 60s 内未见 'kernel ready' ⇒ 判失败并给出回滚命令 + journalctl 尾部 - 注册工具条目数(生产应 18 个左右)⇒ 少了说明插件加载异常 - 'LLM API unreachable' 次数 > 3 ⇒ 内核在 rollback 循环 (生产设了 max_retries=100000,不可达会一直重试) - ONNX provider 相关日志 ⇒ 缺失时应是明确错误+降级,不静默假装启用 --- deploy-plan.sh | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/deploy-plan.sh b/deploy-plan.sh index 5d89097..5547ed6 100755 --- a/deploy-plan.sh +++ b/deploy-plan.sh @@ -112,7 +112,39 @@ do_deploy() { return 1 fi say "部署后验证" - info "等 20s 让 agent 起来,然后看 /kernel 状态" + # 只说"等 20s 看日志"是不够的 —— 进程活着 ≠ agent 起来了。 + # 逐项核对,每项都对应一个真实故障模式: + info "等待 agent 就绪(最多 60s)…" + local ready=0 + for i in $(seq 1 30); do + if journalctl -u "$SVC" --since '-2 min' --no-pager 2>/dev/null \ + | grep -q 'kernel ready'; then ready=1; break; fi + sleep 2 + done + if [ "$ready" = "1" ]; then + info "✓ kernel ready" + else + info "✗ 60s 内没看到 'kernel ready' —— 回滚:bash $BAK/ROLLBACK.sh" + journalctl -u "$SVC" --since '-2 min' --no-pager | tail -25 + return 1 + fi + # 插件加载:生产有 18 个,少于 10 个说明加载异常 + local nplug + nplug=$(journalctl -u "$SVC" --since '-2 min' --no-pager 2>/dev/null \ + | grep -c 'SetToolRegistrar registering tool') + info "注册工具条目: $nplug" + # LLM 可达:不可达会进 rollback 循环(生产设了 max_retries=100000) + local unreach + unreach=$(journalctl -u "$SVC" --since '-2 min' --no-pager 2>/dev/null \ + | grep -c 'LLM API unreachable') + if [ "${unreach:-0}" -gt 3 ]; then + info "✗ LLM 不可达 ${unreach} 次 —— 内核在 rollback 循环" + info " 回滚:bash $BAK/ROLLBACK.sh" + return 1 + fi + info "✓ LLM 可达(unreachable=${unreach:-0})" + info "✓ ONNX provider:见日志 'onnx' 相关行(缺失时应为明确错误+降级,不静默)" + journalctl -u "$SVC" --since '-2 min' --no-pager | grep -iE 'onnx|provider' | tail -5 } # ---------------------------------------------------------------- rollback