update docs

This commit is contained in:
2026-01-15 21:39:18 +01:00
parent 2f93fb6cb5
commit e97da03887
3 changed files with 34 additions and 11 deletions

View File

@@ -8,7 +8,7 @@ OPENAI_API_KEY=your_openai_api_key_here
# Provider Settings # Provider Settings
DEFAULT_PROVIDER=claude DEFAULT_PROVIDER=claude
CLAUDE_MODEL=claude-3-5-sonnet-20241022 CLAUDE_MODEL=claude-3-5-sonnet-20241022
OPENAI_MODEL=gpt-4-turbo-preview OPENAI_MODEL=gpt-4o-mini
# API Configuration # API Configuration
MAX_TOKENS=4000 MAX_TOKENS=4000

View File

@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
DevDen is a self-hosted AI chat platform that enables organizations to provide AI-powered Q&A based on their own knowledge bases. Users interact through a clean chat interface while administrators manage knowledge bases, AI providers, and user access through a terminal-style dashboard. DevDen is a self-hosted AI chat platform that enables organizations to provide AI-powered Q&A based on their own knowledge bases. Users interact through a clean chat interface while administrators manage knowledge bases, AI providers, and user access through a terminal-style dashboard.
**Current Status:** MVP with AI integration complete. Backend FastAPI server with Claude and OpenAI support. Frontend streams responses in real-time. **Current Status:** MVP with AI integration and Microsoft Entra ID authentication. Backend FastAPI server with Claude and OpenAI support. Frontend streams responses in real-time.
## Architecture ## Architecture
@@ -26,14 +26,16 @@ DevDen is a self-hosted AI chat platform that enables organizations to provide A
## Current Files ## Current Files
**Frontend:** **Frontend:**
- `index.html` - Main chat interface structure with welcome screen - `index.html` - Main chat interface with login, welcome, and chat screens
- `script.js` - Chat interaction logic with SSE streaming - `script.js` - Chat interaction logic with SSE streaming and auth handling
- `style.css` - Catppuccin Mocha theme with pixel aesthetic - `style.css` - Catppuccin Mocha theme with pixel aesthetic
**Backend:** **Backend:**
- `backend/app/main.py` - FastAPI application entry point - `backend/app/main.py` - FastAPI application entry point
- `backend/app/config.py` - Environment configuration - `backend/app/config.py` - Environment configuration (AI providers, Entra ID, JWT)
- `backend/app/api/chat.py` - Chat endpoints (POST /api/chat, POST /api/chat/stream) - `backend/app/api/chat.py` - Chat endpoints (POST /api/chat, POST /api/chat/stream) - protected
- `backend/app/api/auth.py` - Auth endpoints (login, callback, me, logout, status)
- `backend/app/middleware/auth.py` - JWT validation middleware
- `backend/app/services/provider_manager.py` - Provider abstraction and fallback - `backend/app/services/provider_manager.py` - Provider abstraction and fallback
- `backend/app/services/provider_claude.py` - Claude implementation - `backend/app/services/provider_claude.py` - Claude implementation
- `backend/app/services/provider_openai.py` - OpenAI implementation - `backend/app/services/provider_openai.py` - OpenAI implementation
@@ -77,12 +79,16 @@ docker compose down
# Health check # Health check
curl http://localhost:8000/health curl http://localhost:8000/health
# Check auth status
curl http://localhost:8000/api/auth/status
# List available providers # List available providers
curl http://localhost:8000/api/chat/providers curl http://localhost:8000/api/chat/providers
# Test chat (non-streaming) # Test chat (requires JWT token from auth flow)
curl -X POST http://localhost:8000/api/chat \ curl -X POST http://localhost:8000/api/chat \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-d '{"message": "Hello!"}' -d '{"message": "Hello!"}'
``` ```

View File

@@ -9,6 +9,7 @@
### Prerequisites ### Prerequisites
- Docker and Docker Compose installed - Docker and Docker Compose installed
- API key from [Anthropic](https://console.anthropic.com/) or [OpenAI](https://platform.openai.com/api-keys) - API key from [Anthropic](https://console.anthropic.com/) or [OpenAI](https://platform.openai.com/api-keys)
- Microsoft Entra ID app registration (for authentication)
### Setup ### Setup
@@ -21,15 +22,22 @@ cd devden
2. **Configure environment variables** 2. **Configure environment variables**
```bash ```bash
cp .env.example .env cp .env.example .env
# Edit .env and add your API keys # Edit .env and add your API keys and Entra ID credentials
``` ```
3. **Start the services** 3. **Set up Microsoft Entra ID** (Azure AD)
- Go to [Azure Portal - App Registrations](https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps)
- Create a new app registration
- Add redirect URI: `http://localhost:3000/auth/callback`
- Generate a client secret under "Certificates & secrets"
- Copy Tenant ID, Client ID, and Client Secret to your `.env` file
4. **Start the services**
```bash ```bash
docker compose up -d --build docker compose up -d --build
``` ```
4. **Access DevDen** 5. **Access DevDen**
- Frontend: http://localhost:3000 - Frontend: http://localhost:3000
- Backend API: http://localhost:8000 - Backend API: http://localhost:8000
- Health Check: http://localhost:8000/health - Health Check: http://localhost:8000/health
@@ -37,10 +45,19 @@ docker compose up -d --build
### Environment Variables ### Environment Variables
Required variables in `.env`: Required variables in `.env`:
``` ```bash
# AI Providers (at least one required)
ANTHROPIC_API_KEY=your_key_here # For Claude ANTHROPIC_API_KEY=your_key_here # For Claude
OPENAI_API_KEY=your_key_here # For OpenAI OPENAI_API_KEY=your_key_here # For OpenAI
DEFAULT_PROVIDER=claude # claude or openai DEFAULT_PROVIDER=claude # claude or openai
# Microsoft Entra ID (required for authentication)
ENTRA_TENANT_ID=your-tenant-id
ENTRA_CLIENT_ID=your-client-id
ENTRA_CLIENT_SECRET=your-client-secret
# JWT (change in production)
JWT_SECRET=generate-a-secure-random-string
``` ```
--- ---