SKILL.md 1.8 KB


name: wechat-auto-reply-status

description: 查看微信自动回复 daemon 的运行状态(PID、是否存活、最近日志)。

wechat-auto-reply-status

检查自动回复 daemon 是否在运行,并输出最近日志供排障。

触发场景

  • 用户说"自动回复有在跑吗"/"看下 bot 状态"
  • 报错调查:有消息但没回复时,用本技能看日志

执行步骤

PID_FILE=~/.openclaw/wechat-auto-reply.pid
LOG_FILE=~/.openclaw/logs/auto-reply.log

echo "=== PID ==="
if [ -f "$PID_FILE" ]; then
  PID=$(cat "$PID_FILE")
  if kill -0 "$PID" 2>/dev/null; then
    echo "running, PID=$PID"
    ps -o pid,etime,rss,cmd -p "$PID" 2>/dev/null || true
  else
    echo "pid file exists but process dead (PID=$PID)"
  fi
else
  echo "not running (no pid file)"
fi

echo ""
echo "=== Config ==="
test -f ~/.openclaw/wechat-auto-reply-config.json \
  && cat ~/.openclaw/wechat-auto-reply-config.json \
  || echo "using built-in defaults (no config file)"

echo ""
echo "=== State ==="
test -f ~/.openclaw/wechat-auto-reply-state.json \
  && cat ~/.openclaw/wechat-auto-reply-state.json \
  || echo "no state file yet (daemon hasn't polled)"

echo ""
echo "=== Last 30 log lines ==="
test -f "$LOG_FILE" && tail -n 30 "$LOG_FILE" || echo "no log file"

解读输出

  • running + 最近日志有 INFO received N new message(s)INFO replied → 一切正常
  • running + 日志只有 INFO daemon start 没有 received → 轮询但没有新消息(可能是 since 太近)
  • running + 日志有 WARN wechat offline → 微信掉线,去 8.138.37.248 扫码
  • running + 日志有 ERROR send failed → 后端 send-text 异常,看 body 字段
  • not running → 调用 wechat-auto-reply-start 重启
  • pid file exists but process dead → 异常退出,看最后日志行找原因后重启