Version 1 (#160)

New front-end
Launch Chat API
Manage Sources
Enable re-embedding of all contents
Sources can be added without a notebook now
Improved settings
Enable model selector on all chats
Background processing for better experience
Dark mode
Improved Notes

Improved Docs: 
- Remove all Streamlit references from documentation
- Update deployment guides with React frontend setup
- Fix Docker environment variables format (SURREAL_URL, SURREAL_PASSWORD)
- Update docker image tag from :latest to :v1-latest
- Change navigation references (Settings → Models to just Models)
- Update development setup to include frontend npm commands
- Add MIGRATION.md guide for users upgrading from Streamlit
- Update quick-start guide with correct environment variables
- Add port 5055 documentation for API access
- Update project structure to reflect frontend/ directory
- Remove outdated source-chat documentation files
This commit is contained in:
Luis Novo 2025-10-18 12:46:22 -03:00 committed by GitHub
parent 124d7d110c
commit b7e656a319
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
319 changed files with 46747 additions and 7408 deletions

View file

@ -107,14 +107,14 @@ Open Notebook consists of four main services that work together:
- **Tasks**: Podcast generation, content transformations, embeddings
- **Technology**: Surreal Commands worker system
### 4. **Streamlit UI** (Port 8502)
### 4. **React frontend** (Port 8502)
- **Purpose**: Web-based user interface
- **Features**: Notebooks, chat, sources, notes, search
- **Technology**: Streamlit framework
- **Technology**: Next.js framework
### Service Communication Flow
```
User Browser → Streamlit UI → FastAPI Backend → SurrealDB Database
User Browser → React frontend → FastAPI Backend → SurrealDB Database
Background Worker ← Job Queue
```
@ -317,7 +317,7 @@ This will start:
- SurrealDB database on port 8000
- FastAPI backend on port 5055
- Background worker for processing
- Streamlit UI on port 8502
- React frontend on port 8502
### Alternative: Start Services Individually
@ -333,7 +333,7 @@ make api
# Terminal 3: Background Worker
make worker
# Terminal 4: Streamlit UI
# Terminal 4: React frontend
make run
```
@ -357,7 +357,7 @@ cd open-notebook
cat > docker-compose.yml << 'EOF'
services:
open_notebook:
image: lfnovo/open_notebook:latest-single
image: lfnovo/open_notebook:v1-latest-single
ports:
- "8502:8502"
- "5055:5055"
@ -455,7 +455,7 @@ After installation, configure your AI models for optimal performance:
#### Language Models (Chat & Generation)
**Budget-Friendly Options:**
- `gpt-4o-mini` (OpenAI) - Great value for most tasks
- `gpt-5-mini` (OpenAI) - Great value for most tasks
- `deepseek-chat` (DeepSeek) - Excellent quality-to-price ratio
- `gemini-2.0-flash` (Google) - Large context window
@ -473,7 +473,7 @@ After installation, configure your AI models for optimal performance:
#### Text-to-Speech (Podcast Generation)
**High Quality:**
- `eleven_turbo_v2_5` (ElevenLabs) - Best voice quality
- `tts-1` (OpenAI) - Good quality, reliable
- `gpt-4o-mini-tts` (OpenAI) - Good quality, reliable
**Budget Options:**
- `gemini-2.5-flash-preview-tts` (Google) - $10 per 1M tokens
@ -507,9 +507,9 @@ After installation, configure your AI models for optimal performance:
#### Personal Research
```env
# Language: gpt-4o-mini (OpenAI)
# Language: gpt-5-mini (OpenAI)
# Embedding: text-embedding-3-small (OpenAI)
# TTS: tts-1 (OpenAI)
# TTS: gpt-4o-mini-tts (OpenAI)
# STT: whisper-1 (OpenAI)
```
@ -552,7 +552,7 @@ curl http://localhost:8000/health
# Test API backend
curl http://localhost:5055/health
# Test Streamlit UI
# Test React frontend
curl http://localhost:8502/healthz
```
@ -611,7 +611,7 @@ OPEN_NOTEBOOK_PASSWORD=your_secure_password_here
```
**Features:**
- **Streamlit UI**: Password prompt on first access
- **React frontend**: Password prompt on first access
- **REST API**: Requires `Authorization: Bearer your_password` header
- **Local Usage**: Optional (can be left empty)
@ -654,7 +654,7 @@ lsof -i :8502
kill -9 <PID>
# Or use different port
uv run --env-file .env streamlit run app_home.py --server.port=8503
uv run --env-file .env cd frontend && npm run dev --server.port=8503
```
#### Permission Denied (Docker)