diff --git a/public/skill.json b/public/skill.json new file mode 100644 index 0000000..69c2ce7 --- /dev/null +++ b/public/skill.json @@ -0,0 +1,16 @@ +{ + "name": "crabwalk", + "version": "1.0.7", + "description": "Real-time companion monitor for OpenClaw agents", + "homepage": "https://crabwalk.app", + "repository": "https://github.com/luccast/crabwalk", + "metadata": { + "emoji": "🦀", + "category": "monitoring" + }, + "install": { + "method": "tarball", + "location": "~/.crabwalk", + "start_command": "node ~/.crabwalk/.output/server/index.mjs" + } +} diff --git a/public/skill.md b/public/skill.md new file mode 100644 index 0000000..2ae4f5b --- /dev/null +++ b/public/skill.md @@ -0,0 +1,111 @@ +--- +name: crabwalk +version: 1.0.7 +description: Real-time companion monitor for OpenClaw agents +homepage: https://crabwalk.app +repository: https://github.com/luccast/crabwalk +metadata: {"emoji":"🦀","category":"monitoring"} +--- + +# Crabwalk 🦀 + +Real-time companion monitor for OpenClaw agents. Visualize agent sessions, tool calls, and activity in a reactive graph UI. + +## Quick Install + +```bash +# Get latest version +VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4) + +# Download and extract +mkdir -p ~/.crabwalk +curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk + +# Start server (runs on port 3000) +node ~/.crabwalk/.output/server/index.mjs +``` + +## One-Liner Install + +```bash +VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4) && mkdir -p ~/.crabwalk && curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk && echo "Crabwalk ${VERSION} installed to ~/.crabwalk" +``` + +## Running + +```bash +# Default (port 3000) +node ~/.crabwalk/.output/server/index.mjs + +# Custom port +PORT=8080 node ~/.crabwalk/.output/server/index.mjs + +# With gateway auth token +CLAWDBOT_API_TOKEN=your_token node ~/.crabwalk/.output/server/index.mjs +``` + +Open http://localhost:3000 in browser. + +## Configuration + +| Env Var | Description | Default | +|---------|-------------|---------| +| `PORT` | Server port | `3000` | +| `CLAWDBOT_API_TOKEN` | Gateway auth token | none | + +## Features + +- `/monitor` — Real-time agent activity graph (ReactFlow) +- `/workspace` — File browser and markdown viewer +- Live WebSocket updates from clawdbot gateway + +## Requirements + +- Node.js 20+ +- clawdbot gateway running on `ws://127.0.0.1:18789` + +## Check for Updates + +```bash +INSTALLED=$(cat ~/.crabwalk/package.json 2>/dev/null | grep '"version"' | cut -d'"' -f4) +LATEST=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4 | tr -d 'v') + +if [ -z "$INSTALLED" ]; then + echo "Crabwalk not installed" +elif [ "$INSTALLED" != "$LATEST" ]; then + echo "Update available: $INSTALLED -> $LATEST" +else + echo "Already on latest: $INSTALLED" +fi +``` + +## Updating + +**IMPORTANT: Always ask user permission before updating.** + +If update available, ask user: +> "Crabwalk update available (X.X.X -> Y.Y.Y). See release: https://github.com/luccast/crabwalk/releases/tag/vY.Y.Y — Update now?" + +Only proceed if user confirms: + +```bash +VERSION=$(curl -s https://api.github.com/repos/luccast/crabwalk/releases/latest | grep '"tag_name"' | cut -d'"' -f4) +rm -rf ~/.crabwalk +mkdir -p ~/.crabwalk +curl -sL "https://github.com/luccast/crabwalk/releases/download/${VERSION}/crabwalk-${VERSION}.tar.gz" | tar -xz -C ~/.crabwalk +echo "Updated to ${VERSION}" +``` + +## Verify Installation + +```bash +# Check version +cat ~/.crabwalk/package.json | grep '"version"' + +# Test server starts +timeout 5 node ~/.crabwalk/.output/server/index.mjs 2>&1 | head -5 || true +``` + +--- + +Repository: https://github.com/luccast/crabwalk