55cb932447
Build and publish Docker image to GHCR / build-and-push (push) Has been cancelled
- Merged stefan-kp/chess_tutor into chess-project with full feature set - Preserved Hermes agent files (agents/, .gitea/, AGENTS.md) - Added OpenRouter abstraction layer (src/lib/openrouter.ts) - Created ModelSelector dropdown component with 9 models - Updated API routes (chat + opening explanation) to use OpenRouter - Updated useTutorChat to route through OpenRouter API - Updated onboarding and API key input for OpenRouter - Created tasks.md with sprint 1 plan - Updated README with new architecture details
2.5 KiB
2.5 KiB
Sprint 1 — Chess Tutor: Local Setup + OpenRouter + Playable Board
Goal: Get the chess tutor running locally with a playable board, AI coach via OpenRouter, and model selection.
Now
- Merge chess_tutor codebase into Tony_tech/chess-project
- Preserve Hermes agent files (agents/, .gitea/, AGENTS.md)
- Add OpenRouter abstraction layer (
src/lib/openrouter.ts) - Create model selector dropdown (
src/components/ModelSelector.tsx) - Update API routes to use OpenRouter (chat + opening explanation)
- Update APIKeyInput for OpenRouter keys
- Install dependencies and start dev server
- Verify board renders at localhost:3050
- Test AI chat with an OpenRouter model
- Test AI chat with a different model (switch via dropdown)
Next
- Add model selection persistence across sessions
- Verify stockfish engine works in browser
- Test opening trainer functionality
- Test tactical puzzle mode
- Add "Chess Coach" personality presets page
Backlog
- Add saved game management UI improvements
- Add PGN import/export
- Add game analysis mode (AI reviews your game)
- Multi-language support polish
- Performance optimization for mobile
- Docker setup for easy deployment
Setup Notes
# 1. Install dependencies
cd Tony_tech/chess-project
npm install
# 2. Start dev server (default port 3050)
npm run dev
# 3. Open browser to http://localhost:3050
# 4. On first visit, the onboarding page will prompt for:
# - Language selection
# - OpenRouter API key (get one at https://openrouter.ai/keys)
# - Model selection (pick your preferred AI model)
Env Configuration
Create chess-project/.env.local:
OPENROUTER_API_KEY=sk-or-v1-your-key-here
NEXT_PUBLIC_DEFAULT_MODEL=google/gemini-2.5-flash
If OPENROUTER_API_KEY is set as an env var, the opening explanation endpoint uses it automatically. For the tutor chat, users enter their key through the UI (stored in localStorage).
Available Models
Users can switch between any of these in the model selector dropdown:
| Model | Provider | Cost |
|---|---|---|
| Gemini 2.5 Flash | Low | |
| Gemini 2.5 Pro | Medium | |
| Claude Sonnet 4 | Anthropic | Medium |
| Claude 3.5 Haiku | Anthropic | Low |
| GPT-4o | OpenAI | Medium |
| GPT-4o Mini | OpenAI | Low |
| DeepSeek Chat | DeepSeek | Very Low |
| Grok 3 | xAI | Medium |
| Llama 3.1 70B | Meta | Low |
Port
The dev server runs on port 3050 by default (configured in package.json).