Skip to main content

crosscheck-ai

AI Dev Team -- multi-agent coding pipeline where Claude codes and other models advise, debug, review, and plan.

Built on OpenRouter. 31 verified models. 240 tests passing.


What is crosscheck-ai?

crosscheck-ai is a team of AI models that work together like a real dev team:

  • Claude (Coder) writes production-ready code
  • GPT-5 (Architect) designs the system structure
  • DeepSeek R1 (Debugger) hunts bugs and edge cases
  • Grok 4 (Security Lead) scans for vulnerabilities
  • Gemini Flash (Analyst) analyzes flow and performance
  • Claude Opus (Planner/CEO) breaks down tasks and delegates

You give the team a task. They discuss, code, review, and iterate -- just like a real engineering team.


Features

Feature Description
AI Dev Team 6 specialized agents with unified phase flow (Plan -> Discuss -> Code -> Review)
Group Chat UI Web-based dialog panel -- talk to all agents at once in real-time
@Mentions Route tasks to specific agents: @coder fix line 45, @security scan for vulns
Code Review Multi-agent review with dual-supervisor voting and conservative reconciliation
Observer Mode Watch external coding sessions (Cursor, Aider, Claude Code), flag bugs in real-time
20+ Languages Auto-detect user language, all agents respond in the same language
31 Models Full OpenRouter model registry -- any model can fill any role
Local Models Ollama support -- zero API cost with local models
Dashboard Web UI for session history, cost trends, model performance
VS Code Extension Inline decorations, CodeLens, live observer

Install

Basic install (CLI + team + review)

pip install crosscheck-ai

With Group Chat UI (recommended)

pip install "crosscheck-ai[chat]"

Full install (all features)

pip install "crosscheck-ai[all]"

For development

git clone https://github.com/Nomadu27/crosscheck-ai.git
cd crosscheck-ai
pip install -e ".[dev]"

Quick Start

1. Set your API key

crosscheck-ai uses OpenRouter, which gives you access to all 31 models with a single key.

export CROSSCHECK_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxx

On Windows:

set CROSSCHECK_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxx

2. Launch the AI Dev Team (terminal)

crosscheck team -t "Add JWT authentication to the Flask app" -f app.py

This starts a full team session:

  1. PLANNING -- Planner (Claude Opus) breaks down the task
  2. DISCUSSION -- All advisors share their perspective (parallel)
  3. CODING -- Coder (Claude Sonnet) writes the actual code
  4. REVIEW -- All advisors review the code (parallel)
  5. If issues found, iterate. If approved, done.

3. Open the Group Chat UI (web browser)

crosscheck chat --port 8080

This opens a web-based group chat at http://localhost:8080 where you can:

  • See all agents talking in real-time
  • Send messages to the whole team
  • Use @coder, @debugger, @security to target specific agents
  • Watch the phase progression in the sidebar
  • Export the full transcript as markdown

4. Code Review (simpler, review-only mode)

crosscheck review mycode.py

Multiple AI models review your code from different angles (bugs, security, architecture, performance). Two supervisors vote independently using conservative reconciliation.

5. Observer Mode (watch external sessions)

# Watch a folder for changes
crosscheck observe watch ./src

# Paste code directly
crosscheck observe paste --code "def login(user, pw): ..."

How the Team Works

User: "Add input validation to the API endpoints"
         |
         v
  [PLANNER / CEO] -- Breaks into subtasks, assigns to team
         |
         v
  [DISCUSSION] -- All advisors share perspective (parallel)
    - Architect: "Use Pydantic models at the boundary"
    - Debugger: "Watch for empty string vs None edge cases"
    - Security: "Validate against injection patterns"
    - Analyst: "Keep validation fast, don't add latency"
         |
         v
  [CODER] -- Writes actual production code
    - Follows team advice
    - Outputs complete files with filenames
         |
         v
  [REVIEW] -- All advisors review the code (parallel)
    - If issues found -> back to CODING (max 3 rounds)
    - If approved -> DONE

Default Team Assignments

Role Model Why
Planner (CEO) Claude Opus 4.6 Best strategic thinking
Architect (CTO) GPT-5 Strong system design
Coder Claude Sonnet 4.6 Best code generation, fast
Debugger DeepSeek R1 Deep reasoning, catches subtle bugs
Security Lead Grok 4 Fast, thorough vuln scanning
Flow Analyst Gemini 2.5 Flash Fast analysis, good at flow/perf

You can override any assignment:

crosscheck team -t "task" --models "coder:openai/gpt-5,debugger:anthropic/claude-opus-4.6"

@Mentions

In both the Group Chat UI and the terminal, use @ to target specific agents:

@coder fix the null check on line 45
@security scan the auth middleware for vulnerabilities
@debugger @analyst both check the database query performance
@architect should we use microservices or monolith?

Aliases work too:

  • @boss, @ceo, @lead -> Planner
  • @cto, @designer -> Architect
  • @dev, @builder -> Coder
  • @debug, @qa, @tester -> Debugger
  • @sec, @guard -> Security
  • @flow, @perf -> Analyst

Model names also work: @claude, @gpt, @gemini, @grok, @deepseek


All CLI Commands

# AI Dev Team
crosscheck team -t "task" [-f file.py] [--rounds 3] [--output terminal|json|transcript]
crosscheck chat [--port 8080] [--no-open]

# Code Review
crosscheck review FILE [--mode fast|balanced|quality] [--max-rounds 3]
crosscheck review FILE --show-diff [--show-diff-mode side-by-side]
crosscheck review FILE --repo-context

# Observer
crosscheck observe paste --code "..."
crosscheck observe watch ./src [--plan "expected behavior"]

# PR Bot
crosscheck pr review --repo owner/repo --pr 42
crosscheck pr webhook --port 8080

# Tools & Sandbox
crosscheck sandbox [PATH] [--tools ruff,pytest] [--list]

# Dashboard
crosscheck dashboard [--port 8080]

# Cache
crosscheck cache stats
crosscheck cache clear [--expired-only]

# Policy
crosscheck policy list
crosscheck policy validate policy.yaml

# Local Models (Ollama)
crosscheck local list-models [--url http://localhost:11434]
crosscheck local review FILE [--supervisor model] [--analyzer model]

# Configuration
crosscheck init            # Create crosscheck.toml
crosscheck profiles        # List profiles
crosscheck models list     # Show all 31 models
crosscheck types           # List review types

Configuration

Environment Variables

CROSSCHECK_API_KEY       # Required -- OpenRouter API key
OPENROUTER_API_KEY       # Alias for CROSSCHECK_API_KEY
CROSSCHECK_MODE          # fast | balanced | quality
CROSSCHECK_MAX_ROUNDS    # Max review/coding rounds (default: 3)
CROSSCHECK_OUTPUT        # terminal | json | markdown

Config File (crosscheck.toml)

crosscheck init  # Creates crosscheck.toml with example config
[default]
api_key = "sk-or-v1-..."
mode = "balanced"
max_rounds = 3
output = "terminal"

[profiles.fast]
mode = "fast"
max_rounds = 1
supervisors = ["anthropic/claude-haiku-4.5"]

[profiles.quality]
mode = "quality"
max_rounds = 5
supervisors = ["anthropic/claude-opus-4.6", "openai/gpt-5"]

Architecture

crosscheck/
  cli.py + cli_extensions.py    CLI (14 commands)
  client.py                     OpenRouter async HTTP client
  config.py                     TOML + env config, profiles
  core.py                       MultiAgentSession orchestrator
  models.py                     31-model registry
  observer.py                   Observer: paste + watch
  prompts.py                    Agent system prompts
  reporter.py                   Terminal/JSON/Markdown output
  cache.py                      Smart caching + AST delta
  context_builder.py            Multi-file repo context
  dashboard.py                  FastAPI dashboard + SQLite
  chat_server.py                WebSocket Group Chat server
  chat_ui/                      Vanilla HTML/JS/CSS chat UI
  diff.py                       Unified + side-by-side diffs
  local.py                      Ollama/LM Studio support
  policy.py                     Company policy agents
  pr_bot.py                     GitHub/GitLab PR bot
  sandbox.py                    Tool sandbox (pytest, ruff, mypy...)
  streaming.py                  Streaming events + Rich Live UI
  agents/
    supervisor.py               Dual-voting supervisor engine
    analyzer.py                 Parallel analyzer pool
    coder.py                    Any-model coder
  team/
    roles.py                    TeamRole enum, RoleSpec, DEFAULT_TEAM
    chat.py                     TeamMessage, ChatHistory, CodeBlock
    command_parser.py           @mention routing
    language.py                 20+ language auto-detection
    session.py                  TeamSession orchestrator

Running Tests

# All tests (240 tests, all mocked, no API key needed)
pytest tests/ -v --tb=auto

# Just the team tests (73 tests)
pytest tests/test_team.py -v

# With coverage
pytest tests/ --cov=crosscheck --cov-report=term-missing

PyPI Package

The package is published on PyPI as crosscheck-ai:

pip install crosscheck-ai          # Basic
pip install "crosscheck-ai[chat]"  # With Group Chat UI
pip install "crosscheck-ai[all]"   # Everything

To build from source:

python -m build
twine check dist/*
twine upload dist/*  # Requires PyPI credentials

License

Copyright (c) 2026-2027 Steddy Nova Srl. All Rights Reserved.

This is proprietary software. Unauthorized copying, distribution, or modification is strictly prohibited.

Contact: info@yuyai.pro

Metadata

Release files for crosscheck-ai 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for crosscheck-ai 2.0.0
File Size Uploaded
crosscheck_ai-2.0.0.tar.gz 148.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for crosscheck-ai 2.0.0
File Interpreter ABI Platform
crosscheck_ai-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 284.2 kB

Release files / crosscheck_ai-2.0.0.tar.gz

Download URL crosscheck_ai-2.0.0.tar.gz
Size 148.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4baabba91724b95481aa531a6649274d009ff6d1f7cae0eaf3a348d26e8e579e
BLAKE2b-256 checksum
How to use checksums
1fb2cad7f5b30e32c01b43b8c18e2247b00657b6d50b3302da0333e875d65242
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / crosscheck_ai-2.0.0-py3-none-any.whl

Download URL crosscheck_ai-2.0.0-py3-none-any.whl
Size 135.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d43cb2bfe8718acfe221746ab24b70e14b9a2fb7b4f7fa66134aae49fcea50ab
BLAKE2b-256 checksum
How to use checksums
795c7ec3a96b489e06dc932ead7ddc66986ef2afa6403c969d5c54d06052efa5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page