Files
EJClaw/.env.example
Eyejoker f4b04d6c4d feat: add Mixture of Agents (MoA) for arbiter verdicts
When MOA_ENABLED=true, arbiter queries multiple LLM models in parallel
via OpenAI-compatible API, then an aggregator model synthesizes the
final verdict from all opinions. Falls back to single-agent arbiter
when MoA is disabled.

Config: MOA_BASE_URL, MOA_API_KEY, MOA_REFERENCE_MODELS, MOA_AGGREGATOR_MODEL
2026-03-31 00:20:41 +09:00

72 lines
3.5 KiB
Plaintext

# ===== EJClaw Environment Configuration =====
# Copy this file to .env and fill in the values.
# Single unified service manages all three Discord bots in one process.
# --- Discord bots (3 tokens for 3 bots) ---
DISCORD_BOT_TOKEN= # Claude bot
DISCORD_CODEX_BOT_TOKEN= # Codex-main bot (owner)
DISCORD_REVIEW_BOT_TOKEN= # Codex-review bot (fallback reviewer)
# --- Agent type configuration ---
OWNER_AGENT_TYPE=codex # codex | claude-code
REVIEWER_AGENT_TYPE=claude-code # claude-code | codex
# --- API keys ---
CLAUDE_CODE_OAUTH_TOKEN= # Claude Code OAuth token (primary account)
CLAUDE_CODE_OAUTH_TOKENS= # Comma-separated tokens for multi-account rotation
GROQ_API_KEY= # Voice transcription (Groq Whisper, free: console.groq.com)
# --- Bot identity ---
ASSISTANT_NAME=claude # Trigger name (@claude)
# --- Claude model ---
CLAUDE_MODEL=claude-opus-4-6 # Claude model
CLAUDE_EFFORT=high # Claude effort level
CLAUDE_THINKING=adaptive # Claude thinking mode
# --- Codex model ---
CODEX_MODEL=gpt-5.4 # Codex model
CODEX_EFFORT=xhigh # Codex reasoning effort
# --- Usage dashboard ---
STATUS_CHANNEL_ID= # Discord channel ID for live status updates
# STATUS_SHOW_ROOMS=true # Show room status in dashboard
# STATUS_SHOW_ROOM_DETAILS=false # Show detailed room info
# --- Fallback provider (when Claude/Codex both unavailable) ---
# FALLBACK_ENABLED=true # Enable fallback provider
# FALLBACK_PROVIDER_NAME=kimi # Provider name for logging
# FALLBACK_BASE_URL= # OpenAI-compatible API base URL
# FALLBACK_AUTH_TOKEN= # API token for fallback provider
# FALLBACK_MODEL=kimi-k2.5 # Fallback model
# FALLBACK_SMALL_MODEL=kimi-k2.5 # Fallback small model
# FALLBACK_COOLDOWN_MS=600000 # Cooldown between fallback attempts (10min)
# --- Per-role model overrides (paired rooms) ---
# Override global CLAUDE_MODEL/CODEX_MODEL per role.
# Model is injected based on each role's agent type (claude-code → CLAUDE_MODEL, codex → CODEX_MODEL).
# OWNER_MODEL=gpt-5.4 # Owner model override
# OWNER_EFFORT=xhigh # Owner effort override
# OWNER_FALLBACK_ENABLED=true # Fall back to codex on Claude failure (default: true)
#
# REVIEWER_MODEL=claude-opus-4-6 # Reviewer model override
# REVIEWER_EFFORT=high # Reviewer effort override
# REVIEWER_FALLBACK_ENABLED=true # Fall back to codex on Claude failure (default: true)
#
# ARBITER_MODEL=claude-sonnet-4-6 # Arbiter model override
# ARBITER_EFFORT=high # Arbiter effort override
# ARBITER_FALLBACK_ENABLED=true # Fall back to codex on Claude failure (default: true)
# --- Mixture of Agents (MoA) ---
# Queries multiple models in parallel for arbiter verdicts, then aggregates.
# Requires OpenAI-compatible API (OpenRouter recommended for multi-model access).
# MOA_ENABLED=true
# MOA_BASE_URL=https://openrouter.ai/api/v1
# MOA_API_KEY=sk-or-xxx
# MOA_REFERENCE_MODELS=anthropic/claude-sonnet-4-6,openai/gpt-5.4,deepseek/deepseek-chat
# MOA_AGGREGATOR_MODEL=anthropic/claude-opus-4-6
# --- Advanced ---
# MAX_CONCURRENT_AGENTS=5 # Max parallel agent processes
# SESSION_COMMAND_ALLOWED_SENDERS= # Comma-separated Discord user IDs for session commands