feat: analysis providers, settings UI, song search, WAV duration fix
- Multi-provider AI analysis (Anthropic, OpenAI, Ollama, Algorithmic) - server-only guards on all provider files; client bundle fix - /settings page with provider status, Ollama model picker, preferences - Song search box on /analyze replacing raw MBID input (debounced, keyboard nav) - Auto-register song via MusicBrainz on POST /api/tracks (no more 404) - Fix WAV duration bug: last section songEnd was double-counting elapsed time - Registry sync comment updated for self-hosted HTTPS git servers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
25
.env.example
25
.env.example
@@ -10,16 +10,33 @@ POSTGRES_PASSWORD=clicktrack
|
||||
# ── Redis ────────────────────────────────────────────────────────────────────
|
||||
REDIS_URL=redis://localhost:6379
|
||||
|
||||
# ── Community registry ───────────────────────────────────────────────────────
|
||||
# ── Community registry (optional) ────────────────────────────────────────────
|
||||
# HTTPS URL of a git repository containing .ctp.json tempo map files.
|
||||
# Compatible with any self-hosted git server (Gitea, Forgejo, GitLab, etc.).
|
||||
# To authenticate, embed a personal access token in the URL:
|
||||
# REGISTRY_REPO=https://user:token@git.yourdomain.com/org/clicktrack-registry
|
||||
REGISTRY_REPO=
|
||||
REGISTRY_BRANCH=main
|
||||
REGISTRY_SYNC_INTERVAL=3600
|
||||
|
||||
# ── AI Tempo Analysis ────────────────────────────────────────────────────────
|
||||
# Required for the /analyze feature (AI tempo map generation).
|
||||
# Get a key at https://console.anthropic.com
|
||||
# BPM detection is client-side and works without this key.
|
||||
# BPM detection is client-side and works without any of these keys.
|
||||
|
||||
# --- Cloud AI: Anthropic (existing) ---
|
||||
# Required to enable Anthropic provider. Get a key at https://console.anthropic.com
|
||||
ANTHROPIC_API_KEY=
|
||||
ANTHROPIC_MODEL=claude-opus-4-6 # optional model override
|
||||
|
||||
# --- Cloud AI: OpenAI-compatible ---
|
||||
OPENAI_API_KEY= # required to enable OpenAI provider
|
||||
OPENAI_BASE_URL=https://api.openai.com/v1 # override for Groq, Together, Fireworks, etc.
|
||||
OPENAI_MODEL=gpt-4o # optional model override
|
||||
|
||||
# --- Local AI: Ollama ---
|
||||
OLLAMA_BASE_URL=http://localhost:11434 # required to enable Ollama provider
|
||||
# Model is selected by the user in the UI — no OLLAMA_MODEL env var needed
|
||||
|
||||
# Algorithmic provider is always available — no config needed.
|
||||
|
||||
# ── App ──────────────────────────────────────────────────────────────────────
|
||||
NEXT_PUBLIC_APP_NAME=ClickTrack
|
||||
|
||||
Reference in New Issue
Block a user