Skip to content

hayashikun/sahai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sahai

An AI Coding Agent orchestration tool that manages multiple AI coding agents (Claude Code, GitHub Copilot CLI, Google Gemini, OpenAI Codex) through a web-based Kanban interface. Each task runs in an isolated Git worktree with real-time log streaming.

Features

  • Kanban Board: Visual task management (TODO → In Progress → In Review → Done)
  • Project & Epic: Projects group repositories, and Epics enable AI agents to orchestrate tasks across multiple repositories
  • Multi-Agent Support: Run tasks with Claude Code, GitHub Copilot CLI, Google Gemini, or OpenAI Codex
  • Git Worktree Isolation: Each task gets its own isolated worktree and branch
  • Real-time Streaming: Live execution logs via Server-Sent Events (SSE)
  • Diff Viewer: Review code changes before merging
  • Quick Access: Open worktrees directly in file explorer or terminal
  • Responsive Design: Mobile-friendly interface with adaptive navigation

Supported AI Coding Agents

At least one of the following is required:

Quick Start

npx sahai@latest

Open http://localhost:49831 in your browser.

CLI Options

npx sahai@latest --port 8080             # Custom port
npx sahai@latest --host 0.0.0.0          # Bind to all interfaces
npx sahai@latest -H 0.0.0.0 -p 8080      # Short options
npx sahai@latest --help                  # Show help
npx sahai@latest --version               # Show version

MCP Server Integration

Sahai includes an MCP (Model Context Protocol) server that allows AI agents like Claude Code to create and manage tasks programmatically.

Endpoint: http://localhost:49381/v1/mcp

Add to your Claude Code MCP settings (~/.claude/settings.json):

{
  "mcpServers": {
    "sahai": {
      "type": "url",
      "url": "http://localhost:49381/v1/mcp"
    }
  }
}

Available Tools

Tool Description
create_task Create a new task in a repository
start_task Start a task (creates worktree and spawns executor)
resume_task Resume a paused task with optional message
get_task Get details of a specific task
get_task_logs Get execution logs for a specific task
list_repositories List all registered repositories

Configuration

Variable Default Description
PORT 49831 Server port
HOST localhost Server host

Development

To contribute to Sahai, you'll need Bun (v1.0.0+).

# Clone the repository
git clone https://github.com/hayashikun/sahai.git
cd sahai
bun install

# Run in development mode (backend + frontend with hot reload)
bun run dev

# Run individually
bun run dev:backend   # Hono server on port 49382
bun run dev:frontend  # Vite dev server on port 49381

Project Structure

sahai/
├── packages/
│   ├── backend/    # Hono + SQLite (Drizzle ORM) API server
│   ├── frontend/   # React + Vite + Jotai + Tailwind CSS
│   └── shared/     # Shared TypeScript types and schemas
└── bin/            # CLI entry point

Commands

# Development
bun run dev              # Run backend + frontend
bun run dev:backend      # Backend only (hot reload)
bun run dev:frontend     # Frontend only (Vite)

# Build
bun run build            # Build frontend for production

# Code Quality (Biome)
bun run lint             # Lint check
bun run format           # Format files
bun run check            # Lint + format with auto-fix
bun run ci               # CI check (run before commits)

# Database (from packages/backend/)
bun run db:generate      # Generate migration from schema changes
bun run db:migrate       # Apply migrations
bun run db:studio        # Open Drizzle Studio

Development Environment Variables

Variable Default Description
PORT 49381 Frontend dev server port
API_PORT 49382 Backend API server port
VITE_API_BASE_URL http://localhost:49382 API URL for frontend

License

Apache-2.0

About

AI coding agent orchestration

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages