Use Claude Code / CodeX CLI to perform multiple tasks in parallel with a Codex-style UI.
A code agent task management system that provides parallel execution of AI-powered coding tasks. Users can run multiple Claude Code agents simultaneously through a Codex-style web interface, with support for different agents for comparison and evaluation.
- 🤖 Multi-Agent Support: Run Claude Code and other AI agents in parallel
- 🔄 Parallel Task Management: Execute multiple coding tasks simultaneously
- 🌐 Codex-Style Web UI: Clean interface for managing agent tasks
- 🔍 Agent Comparison: Compare outputs from different AI models
- 🐳 Containerized Execution: Secure sandboxed environment for each task
- 🔗 Git Integration: Automatic repository cloning, commits, and PR creation
- Selfhost: Deploy you rown parallel code agent platform.
- Frontend: Next.js with TypeScript and TailwindCSS
- Backend: Python Flask API with Docker orchestration
- Agents: Claude Code (Anthropic) with extensible support for other models
- Task Management: Parallel execution system based on container
- Docker and Docker Compose installed
- (Optional) Supabase account for persistent data storage
-
Clone the repository
git clone <this-repo> cd async-code
-
Create the environment file
cp server/.env.example server/.env
Edit
server/.env
and set yourANTHROPIC_API_KEY
. If you are using Supabase, also setSUPABASE_URL
,SUPABASE_ANON_KEY
andSUPABASE_SERVICE_ROLE_KEY
. -
Build and start the stack
docker-compose up --build -d
- Frontend: http://localhost:3000
- Backend API: http://localhost:5000
- Create a new project in the Supabase dashboard.
- Open the SQL editor and run
db/init_supabase.sql
to create the required tables. - Grab your project URL, anon key and service role key from Project Settings → API and place them in
server/.env
.
- Setup GitHub Token: Enter your GitHub token in the web interface
- Configure Repository: Specify target repository and branch
- Select Agent: Choose your preferred AI agent (Claude Code, etc.)
- Submit Tasks: Start multiple coding tasks in parallel
- Compare Results: Review and compare outputs from different agents
- Create PRs: Generate pull requests from successful tasks
# server/.env
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# Supabase
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# Flask configuration
FLASK_ENV=production
FLASK_DEBUG=False
# Run all services
docker-compose up
# Development mode
cd async-code-web && npm run dev # Frontend
cd server && python main.py # Backend
- Set
FLASK_ENV=production
inserver/.env
and exportNODE_ENV=production
before running the stack. - Build and start the containers:
NODE_ENV=production docker-compose up --build -d
- Monitor the logs with:
docker-compose logs -f
See LICENSE file for details.