#!/bin/bash # OpenClaw Live Status Installer (Wizard Mode) echo "==========================================" echo " OpenClaw Live Status Tool - Installer " echo "==========================================" # 1. Install Binary echo "[+] Installing binary to /usr/local/bin/live-status..." cp src/live-status.js /usr/local/bin/live-status chmod +x /usr/local/bin/live-status # 2. Install Skill echo "[+] Installing skill to /app/skills/live-status..." mkdir -p /app/skills/live-status cp skill/SKILL.md /app/skills/live-status/SKILL.md # 3. Global Agent Configuration (Injection) echo "[+] Configuring global agent defaults..." AGENTS_FILE="/home/node/.openclaw/workspace/AGENTS.md" if [ -f "$AGENTS_FILE" ]; then if grep -q "Live Status Protocol" "$AGENTS_FILE"; then echo " > AGENTS.md already configured." else echo " > Injecting mandatory protocol into AGENTS.md..." cat >> "$AGENTS_FILE" <\` to stream progress. 5. **Complete:** Mark as \`[COMPLETED]\` when done. **Why:** This provides "Antigravity-style" visibility without spamming channels. Sub-agents MUST use this tool instead of \`message\` for progress reports. EOF fi else echo " > Warning: AGENTS.md not found. Skipping injection." fi # 4. Mattermost Configuration (Wizard) echo "" echo "[?] Mattermost Configuration Check:" # Check if the installed tool still has the default placeholder if grep -q "DEFAULT_TOKEN_PLACEHOLDER" /usr/local/bin/live-status; then echo " > Default token detected." read -p " > Enter your Mattermost Bot Token: " NEW_TOKEN if [[ -n "$NEW_TOKEN" ]]; then # Replace the placeholder in the INSTALLED binary (not the source) sed -i "s/DEFAULT_TOKEN_PLACEHOLDER/$NEW_TOKEN/g" /usr/local/bin/live-status echo " > Token configured successfully." else echo " > No token entered. Tool may not function." fi else echo " > Custom token already configured." fi echo "" echo "==========================================" echo " Installation Complete!" echo "==========================================" echo "Usage: live-status create \"...\""