AI Newsletter Digest improvements: fixed QP soft line break decoding, URL extraction, and content cleaning
This commit is contained in:
83
skills/openclaw-self-healing/demo-script.sh
Normal file
83
skills/openclaw-self-healing/demo-script.sh
Normal file
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
# Demo script for Self-Healing System (safe simulation)
|
||||
|
||||
# Colors
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[1;33m'
|
||||
BLUE='\033[0;34m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m' # No Color
|
||||
BOLD='\033[1m'
|
||||
|
||||
clear
|
||||
|
||||
echo -e "${CYAN}${BOLD}🦞 OpenClaw Self-Healing System${NC}"
|
||||
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
echo ""
|
||||
sleep 1
|
||||
|
||||
# Step 1
|
||||
echo -e "${YELLOW}▶ Step 1: Check Gateway Status${NC}"
|
||||
sleep 0.5
|
||||
echo -e "$ ${BOLD}openclaw status${NC}"
|
||||
sleep 0.5
|
||||
echo -e "${GREEN}✓ Gateway:${NC} Running (PID 12345)"
|
||||
echo -e "${GREEN}✓ Uptime:${NC} 2d 14h 32m"
|
||||
echo -e "${GREEN}✓ Health:${NC} OK (HTTP 200)"
|
||||
echo ""
|
||||
sleep 1.5
|
||||
|
||||
# Step 2
|
||||
echo -e "${YELLOW}▶ Step 2: Simulate Gateway Crash${NC}"
|
||||
sleep 0.5
|
||||
echo -e "$ ${BOLD}kill -9 \$(pgrep openclaw)${NC}"
|
||||
sleep 0.5
|
||||
echo -e "${RED}✗ Gateway process terminated${NC}"
|
||||
echo ""
|
||||
sleep 1.5
|
||||
|
||||
# Step 3
|
||||
echo -e "${YELLOW}▶ Step 3: Level 1 Watchdog (180s)${NC}"
|
||||
sleep 0.5
|
||||
echo -e "[Watchdog] Process check... ${RED}FAILED${NC}"
|
||||
echo -e "[Watchdog] Attempting restart..."
|
||||
echo -e "[Watchdog] ${GREEN}Gateway restarted${NC} (PID 12346)"
|
||||
echo ""
|
||||
sleep 1.5
|
||||
|
||||
# Step 4 - Health Check
|
||||
echo -e "${YELLOW}▶ Step 4: Level 2 Health Check (300s)${NC}"
|
||||
sleep 0.5
|
||||
echo -e "[Health] HTTP check: localhost:18789..."
|
||||
echo -e "[Health] Response: ${GREEN}200 OK${NC}"
|
||||
echo -e "[Health] Gateway healthy ✓"
|
||||
echo ""
|
||||
sleep 1.5
|
||||
|
||||
# Level 3 scenario
|
||||
echo -e "${YELLOW}▶ Step 5: Level 3 Claude Doctor (if L1-L2 fail)${NC}"
|
||||
sleep 0.5
|
||||
echo -e "[Emergency] ${RED}Level 2 failed after 3 retries${NC}"
|
||||
echo -e "[Emergency] Launching Claude Code in tmux..."
|
||||
sleep 0.5
|
||||
echo -e "${BLUE}┌─────────────────────────────────────────┐${NC}"
|
||||
echo -e "${BLUE}│${NC} 🧠 Claude Code Diagnosis Session ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}├─────────────────────────────────────────┤${NC}"
|
||||
echo -e "${BLUE}│${NC} > Analyzing Gateway logs... ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}│${NC} > Root cause: stale PID file ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}│${NC} > Fix: rm ~/.openclaw/gateway.pid ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}│${NC} > Restarting Gateway... ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}│${NC} > ${GREEN}✓ Recovery successful (25s)${NC} ${BLUE}│${NC}"
|
||||
echo -e "${BLUE}└─────────────────────────────────────────┘${NC}"
|
||||
echo ""
|
||||
sleep 2
|
||||
|
||||
# Result
|
||||
echo -e "${CYAN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
echo -e "${GREEN}${BOLD}✅ Self-Healing Complete!${NC}"
|
||||
echo ""
|
||||
echo -e "${CYAN}\"AI heals AI — The system that fixes itself.\"${NC}"
|
||||
echo ""
|
||||
echo -e "GitHub: ${BLUE}github.com/Ramsbaby/openclaw-self-healing${NC}"
|
||||
sleep 2
|
||||
Reference in New Issue
Block a user