# Archon Configuration — template. Copy to .env and fill in. # AI Assistant auth. When true, Archon reuses your local `claude /login` # session instead of reading ANTHROPIC_API_KEY from env. CLAUDE_USE_GLOBAL_AUTH=true # Default AI Assistant (claude | codex) DEFAULT_AI_ASSISTANT=claude # Server (only used if you run the Archon server, not the CLI) PORT=3000 # Concurrency MAX_CONCURRENT_CONVERSATIONS=10 # ─── Optional, used by phase specs the runner executes ─────────────────── # Uncomment + fill in only if your phase specs need them. # PERPLEXITY_API_KEY= # GITHUB_TOKEN= # ─── ElevenLabs TTS (required if step 5 of new-archon-short uses ElevenLabs) ─ # All eight required vars must be set or scripts/elevenlabs-tts.py will KeyError. # scripts/elevenlabs-tts.py loads from both `.env` (this file) and `.archon/.env`. # # Preset voice IDs (use one of these in VOICE_ID if not using a clone): # Brian nPczCjzI2devNBz1zQrb — mature American male, news/launch # Adam pNInz6obpgDQGcFmaJgB — legacy, deeper American # Daniel onwK4e9ZLuTAKqWW03F9 — British documentary # # Tuning matrix — these defaults are the tested-good values for SHORTS on # an Instant Voice Clone (IVC). Adjust per-knob if symptoms appear: # # STABILITY=0.40 # - Below 0.30 → phoneme artifacts ("incoherent words" in the output) # - Above 0.50 → monotone delivery; loses prosodic range # - 0.40 is the artifact-floor that still allows the clone to be expressive # # SIMILARITY_BOOST=0.75 (NOT 0.85, which is ElevenLabs' default) # - High values (0.85+) lock the model to the static reference timbre # and suppress dynamic prosody. Counter-intuitive but real. # - 0.70-0.78 gives the model room to add intonation without drifting # too far from the reference voice # # STYLE=0.70 (for shorts; lower for long-form) # - Above 0.75 with STABILITY≤0.40 → garbled words return # - Below 0.50 → flat reads # - 0.65-0.70 is the energy sweet spot for shorts # # SPEED_SHORTS=1.15 (ceiling) # - 1.20 compresses phonemes (artifacts) AND flattens sentence-final # falling intonation (sentences sound mid-thought) # - 1.10-1.15 is the safe range; 1.15 reads with the most energy # # MODEL_ID=eleven_multilingual_v2 reads with more expressive range than # eleven_turbo_v2_5. Turbo is cheaper + faster but noticeably flatter. # # ELEVENLABS_API_KEY= # ELEVENLABS_VOICE_ID= # ELEVENLABS_MODEL_ID=eleven_multilingual_v2 # ELEVENLABS_STABILITY=0.40 # ELEVENLABS_SIMILARITY_BOOST=0.75 # ELEVENLABS_STYLE=0.70 # ELEVENLABS_SPEED=1.00 # ELEVENLABS_SPEED_SHORTS=1.15 # ELEVENLABS_USE_SPEAKER_BOOST=true # Optional: pronunciation dictionary (both required if either is set) # ELEVENLABS_PRONUNCIATION_DICT_ID= # ELEVENLABS_PRONUNCIATION_DICT_VERSION_ID= # ─── Kokoro TTS (FREE local alternative — required if step 5 uses Kokoro) ─ # Kokoro is open-weight (Apache-licensed), runs locally on CPU, no API key. # Quality is comparable to commercial TTS for most narration use cases. # First run downloads a ~325MB model from Hugging Face; subsequent runs are # fully offline. Word-level timestamps come back natively (no Whisper pass). # # System prerequisite (one-time, not in pip): espeak-ng for phoneme conversion. # Linux: sudo apt install espeak-ng # macOS: brew install espeak # Windows: download the .msi from # https://github.com/espeak-ng/espeak-ng/releases # # Python deps: pip install kokoro>=0.9.4 soundfile numpy # # Voice catalog (~48 voices, 8 languages). Quality grades A–F per voice. # American English picks: # af_heart American female (warm, default — grade A) # af_nova American female (brighter) # af_bella American female (deeper) # am_michael American male (mature) # am_adam American male (neutral) # British English: bf_alice, bm_george, etc. # Other languages prefix: e_ (Spanish), f_ (French), j_ (Japanese), z_ (Mandarin)… # See: https://huggingface.co/hexgrad/Kokoro-82M/blob/main/VOICES.md # # KOKORO_VOICE=af_heart # KOKORO_LANG_CODE=a # 'a'=American Eng, 'b'=British Eng, 'j'=Japanese, etc. # KOKORO_SPEED=1.00 # long-form default # KOKORO_SPEED_SHORTS=1.15 # used with --shorts flag (matches ElevenLabs cadence) # ─── Optional phase-runner overrides ───────────────────────────────────── # Override where phase specs are loaded from / where status is tracked. # PHASE_CMD_DIR=.claude/commands/phases # STATUS_FILE_TEMPLATE=src/TARGET/phase-status.md # ACTIVE_MARKER=.claude/active-target.txt