mirror of
https://github.com/crabwise-ai/crabwalk.git
synced 2026-08-14 00:57:52 +00:00
1c0388c5867a777d60766bb987d131e18cde72e5
* feat(monitor): enhance session list with subagent grouping and improved filtering - Introduced SubagentItem component for rendering subagent sessions. - Grouped subagents under their parent sessions based on the spawnedBy relationship. - Updated filtering logic to separate parent sessions from subagents. - Enhanced sorting and display of sessions, including orphan subagents. - Improved UI for session selection and status indication. This update improves the organization and usability of the session list in the monitor component. * fix(monitor): update session display to show recipient instead of agentId - Changed the displayed identifier in the SessionList component from agentId to recipient for improved clarity in session representation. * feat(monitor): add node position pinning and reorganize layout functionality - Introduced functionality to pin node positions upon drag-end, enhancing user experience in the ActionGraph component. - Added a button to reorganize the layout, clearing pinned positions and reapplying the layout for better visual management. - Updated the node state handling to incorporate pinned positions during layout updates, ensuring a smoother interaction with the graph. * fix(monitor): update styling for ExecNode and SessionNode components - Changed the CSS class for text wrapping in ExecNode to improve readability. - Modified the border and box shadow logic in SessionNode to enhance visual feedback based on session status, particularly for 'thinking' states. * feat(monitor): enhance session node representation with thinking state - Added logic to determine which sessions are in a "thinking" state based on the latest action type in the ActionGraph component. - Updated SessionNode to accept a new `thinking` property, modifying the visual feedback (border and box shadow) to reflect this state, improving user experience and clarity in session status. * revert: undo session thinking state and exec/session styling changes * fix(monitor): update SubagentItem emoji representation * feat(monitor): implement collapsible subagent groups in SessionList - Added functionality to collapse and expand subagent groups within the SessionList component. - Introduced a new state to manage collapsed groups and updated the UI to reflect the expanded/collapsed state with a ChevronDown icon. - Enhanced user experience by allowing users to easily navigate through subagent sessions. * style(monitor): update SessionList component styling - Adjusted padding and alignment for improved layout in the SessionList component. - Increased ChevronDown icon size for better visibility. - Enhanced text styling for consistency and readability. * refactor(monitor): optimize animation handling in SessionList component - Updated SubagentItem animations to improve performance and visual feedback. - Replaced AnimatePresence with motion.div for better control over height and opacity transitions during group collapse/expand. - Simplified initial animation states for a smoother user experience.
🦀 Crabwalk
Real-time companion monitor for Moltbot (Clawdbot) agents by @luccasveg.
Watch your AI agents work across WhatsApp, Telegram, Discord, and Slack in a live node graph. See thinking states, tool calls, and response chains as they happen.
Features
- Live activity graph - ReactFlow visualization of agent sessions and action chains
- Multi-platform - Monitor agents across all messaging platforms simultaneously
- Real-time streaming - WebSocket connection to clawdbot gateway
- Action tracing - Expand nodes to inspect tool args and payloads
- Session filtering - Filter by platform, search by recipient
Installation
Docker (recommended)
docker run -d \
-p 3000:3000 \
-e CLAWDBOT_API_TOKEN=your-token \
-e CLAWDBOT_URL=ws://host.docker.internal:18789 \
ghcr.io/luccast/crabwalk:latest
Note: When running Crabwalk in Docker, the Clawdbot gateway typically runs on the host. Use
CLAWDBOT_URL=ws://host.docker.internal:18789so the container can connect.
Or with docker-compose:
curl -O https://raw.githubusercontent.com/luccast/crabwalk/master/docker-compose.yml
CLAWDBOT_API_TOKEN=your-token CLAWDBOT_URL=ws://host.docker.internal:18789 docker-compose up -d
From source
git clone https://github.com/luccast/crabwalk.git
cd crabwalk
npm install
CLAWDBOT_API_TOKEN=your-token npm run dev
Open http://localhost:3000/monitor
Configuration
Requires clawdbot gateway running on the same machine.
Gateway Token
Find your token in the clawdbot config file:
# Look for gateway.auth.token
cat ~/.clawdbot/clawdbot.json | rg "gateway\.auth\.token"
Or with jq:
jq '.gateway.auth.token' ~/.clawdbot/clawdbot.json
Or copy it directly:
export CLAWDBOT_API_TOKEN=$(python3 -c "import json,os; print(json.load(open(os.path.expanduser('~/.clawdbot/clawdbot.json')))['gateway']['auth']['token'])")
Stack
TanStack Start, ReactFlow, Framer Motion, tRPC, TanStack DB
Languages
TypeScript
94.4%
CSS
3.3%
Shell
2.2%
Dockerfile
0.1%

