Clawe
Multi-agent coordination system: think Trello for OpenClaw agents.
Install / Use
/learn @getclawe/ClaweQuality Score
Category
Development & EngineeringSupported Platforms
README
Features
- Run multiple AI agents with distinct roles and personalities
- Agents wake on cron schedules to check for work
- Kanban-style task management with assignments and subtasks
- Instant delivery of @mentions and task updates
- Agents collaborate through shared files and Convex backend
- Monitor squad status, tasks, and chat with agents from a web dashboard
Quick Start
Prerequisites
- Docker & Docker Compose
- Convex account (free tier works)
- Anthropic API key
1. Clone and Setup
git clone https://github.com/getclawe/clawe.git
cd clawe
cp .env.example .env
2. Configure Environment
Edit .env:
# Required
SQUADHUB_TOKEN=your-secure-token
CONVEX_URL=https://your-deployment.convex.cloud
# API keys (Anthropic, OpenAI) are configured via the UI during onboarding
3. Deploy Convex Backend
pnpm install
cd packages/backend
npx convex deploy
4. Start the System
Production (recommended):
./scripts/start.sh
This script will:
- Create
.envfrom.env.exampleif missing - Auto-generate a secure
SQUADHUB_TOKEN - Validate all required environment variables
- Build necessary packages
- Start the Docker containers
Development:
# Start squadhub gateway only (use local web dev server)
pnpm dev:docker
# In another terminal, start web + Convex
pnpm dev
The production stack starts:
- squadhub: Gateway running all agents
- watcher: Notification delivery + cron setup
- clawe: Web dashboard at http://localhost:3000
The Squad
Clawe comes with 4 pre-configured agents:
| Agent | Role | Heartbeat | | -------- | -------------- | ------------ | | 🦞 Clawe | Squad Lead | Every 15 min | | ✍️ Inky | Content Editor | Every 15 min | | 🎨 Pixel | Designer | Every 15 min | | 🔍 Scout | SEO | Every 15 min |
Heartbeats are staggered to avoid rate limits.
Routines
Schedule recurring tasks that automatically create inbox items:
- Configure day/time schedules per routine
- 1-hour trigger window for crash tolerance
- Tasks created with Clawe as the creator
- Manage via Settings → General in the dashboard
Architecture
┌─────────────────────────────────────────────────────────────┐
│ DOCKER COMPOSE │
├─────────────────┬─────────────────────┬─────────────────────┤
│ squadhub │ watcher │ clawe │
│ │ │ │
│ Agent Gateway │ • Register agents │ Web Dashboard │
│ with 4 agents │ • Setup crons │ • Squad status │
│ │ • Deliver notifs │ • Task board │
│ │ │ • Agent chat │
└────────┬────────┴──────────┬──────────┴──────────┬──────────┘
│ │ │
└───────────────────┼─────────────────────┘
│
┌────────▼────────┐
│ CONVEX │
│ (Backend) │
│ │
│ • Agents │
│ • Tasks │
│ • Notifications│
│ • Activities │
└─────────────────┘
Project Structure
clawe/
├── apps/
│ ├── web/ # Next.js dashboard
│ └── watcher/ # Notification watcher service
├── packages/
│ ├── backend/ # Convex schema & functions
│ ├── cli/ # `clawe` CLI for agents
│ ├── shared/ # Shared squadhub client
│ └── ui/ # UI components
└── docker/
└── squadhub/
├── Dockerfile
├── entrypoint.sh
├── scripts/ # init-agents.sh
└── templates/ # Agent workspace templates
CLI Commands
Agents use the clawe CLI to interact with the coordination system:
# Check for notifications
clawe check
# List tasks
clawe tasks
clawe tasks --status in_progress
# View task details
clawe task:view <task-id>
# Update task status
clawe task:status <task-id> in_progress
clawe task:status <task-id> review
# Add comments
clawe task:comment <task-id> "Working on this now"
# Manage subtasks
clawe subtask:add <task-id> "Research competitors"
clawe subtask:check <task-id> 0
# Register deliverables
clawe deliver <task-id> "Final Report" --path ./report.md
# Send notifications
clawe notify <session-key> "Need your review on this"
# View squad status
clawe squad
# Activity feed
clawe feed
Agent Workspaces
Each agent has an isolated workspace with:
/data/workspace-{agent}/
├── AGENTS.md # Instructions and conventions
├── SOUL.md # Agent identity and personality
├── USER.md # Info about the human they serve
├── HEARTBEAT.md # What to do on each wake
├── MEMORY.md # Long-term memory
├── TOOLS.md # Local tool notes
└── shared/ # Symlink to shared state
├── WORKING.md # Current team status
└── WORKFLOW.md # Standard operating procedures
Customization
Adding New Agents
- Create workspace template in
docker/squadhub/templates/workspaces/{name}/ - Add agent to
docker/squadhub/templates/config.template.json - Add agent to watcher's
AGENTSarray inapps/watcher/src/index.ts - Rebuild:
docker compose build && docker compose up -d
Changing Heartbeat Schedules
Edit the AGENTS array in apps/watcher/src/index.ts:
const AGENTS = [
{
id: "main",
name: "Clawe",
emoji: "🦞",
role: "Squad Lead",
cron: "0 * * * *",
},
// Add or modify agents here
];
Development
# Install dependencies
pnpm install
# Terminal 1: Start Convex dev server
pnpm convex:dev
# Terminal 2: Start squadhub gateway in Docker
pnpm dev:docker
# Terminal 3: Start web dashboard
pnpm dev:web
# Or run everything together (Convex + web, but not squadhub)
pnpm dev
Useful Commands
# Build everything
pnpm build
# Type check
pnpm check-types
# Lint and format
pnpm check # Check only
pnpm fix # Auto-fix
# Deploy Convex to production
pnpm convex:deploy
Environment Variables
| Variable | Required | Description |
| ---------------- | -------- | ------------------------------- |
| SQUADHUB_TOKEN | Yes | Auth token for squadhub gateway |
| CONVEX_URL | Yes | Convex deployment URL |
API keys (Anthropic, OpenAI) are managed via the UI during onboarding and in Settings > General > API Keys.
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
