Files
EJClaw/README.md
Eyejoker 527ce08eee docs: slim README to landing page format
Remove internal architecture details, full .env examples, and
room assignment model. Keep role overview, tribunal flow, key
features, and quick start.
2026-04-01 04:54:07 +09:00

3.4 KiB

EJClaw

Version Claude Agent SDK Codex SDK Bun Discord

Tribunal multi-agent AI assistant (Owner + Reviewer + Arbiter) over Discord with autonomous paired review and Mixture of Agents.

Originally derived from qwibitai/nanoclaw. Prompt design inspired by Q00/ouroboros and garrytan/gstack.

Overview

A single unified service (ejclaw) runs a Tribunal of three roles:

Role Purpose Default
Owner Handles user requests, writes code Codex (@codex)
Reviewer Critically reviews owner's work, verifies design direction Claude Code (@claude)
Arbiter On-demand deadlock breaker between owner and reviewer Codex (@codex-review)

Each role's agent type and model are independently configurable via .env (OWNER_AGENT_TYPE, REVIEWER_AGENT_TYPE, ARBITER_AGENT_TYPE, *_MODEL). Three Discord bots provide the identity layer — which bot speaks is determined by the active role, not hardcoded.

Tribunal Flow

User message
  → Owner responds
    → Reviewer auto-triggered (critical review)
      → DONE → Owner finalizes → @user ✅
      → Feedback → Owner addresses → loop
      → BLOCKED → Arbiter (if enabled) or @user ⚠️
      → Deadlock (3+ rounds) → Arbiter summoned → binding verdict

Mixture of Agents (MoA)

When enabled, the arbiter collects opinions from configurable external reference models before rendering its verdict. No extra SDK processes — lightweight API calls only.

Features

  • Tribunal 3-agent system — Owner/reviewer/arbiter with on-demand deadlock resolution
  • Per-role model selectionOWNER_MODEL, REVIEWER_MODEL, ARBITER_MODEL + effort + fallback
  • Container-isolated reviewer — Docker container with read-only source mount (supports both Claude and Codex runners)
  • Global failover — Claude exhaustion → automatic codex fallback, auto-recovers
  • Mixture of Agents — External reference models enrich arbiter verdicts
  • Token rotation — Multi-account Claude/Codex rotation on rate limits
  • Voice transcription — Groq/OpenAI Whisper
  • Session persistence — Separate sessions per role
  • Mid-turn steering — Inject follow-up messages while agent is working

Quick Start

git clone https://github.com/phj1081/EJClaw.git
cd EJClaw
bun install
bun run build:runners    # Build both runners
bun run build            # Build main project
bun run build:container  # Build reviewer Docker image
cp .env.example .env     # Configure tokens and settings
bun run deploy           # Or: bun run dev

Development

bun run build                # Build main project
bun run build:runners        # Install + build both runners
bun run build:container      # Rebuild reviewer Docker image
bun run dev                  # Dev mode with hot reload
bun test                     # Run tests

License

MIT — Originally derived from qwibitai/nanoclaw