Skip to content

Multiple AI agents working together in simple, collaborative chat workspace by Typescript.

License

Notifications You must be signed in to change notification settings

teamclawai/teamclaw

Repository files navigation

TeamClaw

Multi-Agent AI Collaboration Platform - Chat with multiple AI agents like a team workspace

License: MIT TypeScript Next.js

Overview

TeamClaw is an open-source multi-agent platform where multiple AI agents work together in a team environment. Users can chat with agents in channels, mention them with @, and watch them collaborate to complete tasks.

Inspired by: nanobot, pi-mono

Features

  • πŸ€– Multi-Agent Teams - Configure multiple AI agents with different specialties
  • πŸ’¬ Channel-Based Chat - Group channels and direct messages with agents
  • πŸ”„ Parallel Responses - All agents in a channel respond simultaneously
  • 🧠 Smart Filtering - Agents self-decide whether to respond based on context
  • 🌐 Web Portal - Modern Next.js-based chat interface
  • πŸ”§ Configurable - Easy JSON-based configuration
  • πŸš€ Background Processing - Async agent response handling

Quick Start

Prerequisites

  • Node.js 18+
  • pnpm 8+
  • OpenRouter API key (or other LLM provider)

Installation

# Clone the repository
git clone https://github.com/yourusername/teamclaw.git
cd teamclaw

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Configure
cp config/default.json config/local.json
# Edit config/local.json with your API keys

Configuration

Edit config/local.json:

{
  "providers": {
    "openrouter": {
      "apiKey": "your-api-key-here"
    }
  },
  "model": "openai/gpt-4o-mini",
  "agents": {
    "dev": {
      "name": "Dev Agent",
      "description": "Expert developer for coding tasks",
      "systemPrompt": "You are a senior software developer..."
    },
    "review": {
      "name": "Review Agent", 
      "description": "Code review specialist",
      "systemPrompt": "You are a code review expert..."
    }
  }
}

Running

# Start the web portal
pnpm dev

# Open http://localhost:12345

Architecture

teamclaw/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ core/          # Message routing and orchestration
β”‚   β”œβ”€β”€ agent/         # Agent instance wrapper
β”‚   β”œβ”€β”€ workflow/      # Workflow agent for complex tasks
β”‚   β”œβ”€β”€ channels/      # Channel adapters (Web, Slack)
β”‚   β”œβ”€β”€ memory/        # Memory storage (LanceDB)
β”‚   β”œβ”€β”€ gateway/       # Next.js web portal
β”‚   └── config/        # Configuration management
β”œβ”€β”€ config/            # Default configuration files
└── docs/              # Documentation

Tech Stack

  • Frontend: Next.js 15, React 19, TypeScript, Tailwind CSS
  • Backend: Next.js API routes, tRPC
  • AI: Vercel AI SDK, OpenRouter
  • Database: JSON file-based (LanceDB planned)
  • Build: pnpm, Turborepo

Usage

Creating a Channel

  1. Click the "+" button next to "Channels"
  2. Enter a channel name (e.g., "dev-team")
  3. Select agents to add to the channel
  4. Click "Create Channel"

Chatting with Agents

  1. Select a channel from the sidebar
  2. Type your message in the input box
  3. Press Enter to send
  4. All agents in the channel will respond in parallel

Direct Messages

  1. Click on an agent in the "Agents" section
  2. Start chatting directly with that agent

API

Send Message

curl -X POST http://localhost:12345/api/agent-response/trigger \
  -H "Content-Type: application/json" \
  -d '{
    "conversationId": "conv_123",
    "content": "Hello agents",
    "agentId": "dev",
    "memberIds": ["dev", "review"]
  }'

Development

Project Structure

Each package follows these conventions:

  • src/index.ts - Main exports
  • src/*.ts - Module implementations
  • test/*.test.ts - Vitest tests

Running Tests

# Run all tests
pnpm test

# Run tests for specific package
cd packages/core && pnpm test

Code Style

  • TypeScript strict mode enabled
  • No any types
  • Explicit function return types
  • kebab-case for files, PascalCase for classes

See AGENTS.md for detailed development guidelines.

Roadmap

v0.1.0 (Current)

  • βœ… Multi-agent chat interface
  • βœ… Channel-based conversations
  • βœ… Parallel agent responses
  • βœ… Web portal
  • βœ… Basic configuration

v0.2.0 (Planned)

  • πŸ”² Slack integration
  • πŸ”² Agent memory/persistence
  • πŸ”² Tool calling support
  • πŸ”² Workflow orchestration

v0.3.0 (Planned)

  • πŸ”² LanceDB vector search
  • πŸ”² File attachments
  • πŸ”² Agent collaboration protocols
  • πŸ”² Plugin system

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Getting Started

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes
  4. Run tests: pnpm test
  5. Commit: git commit -m 'feat: add amazing feature'
  6. Push: git push origin feature/amazing-feature
  7. Open a Pull Request

License

MIT License - see LICENSE file for details.

Acknowledgments

Support


Made with ❀️ by the TeamClaw community

Releases

No releases published

Packages

 
 
 

Contributors

Languages