AI Library is a modern document management system developed by AI, focusing on providing an elegant reading experience and efficient knowledge management.
Perfect adaptation for both desktop and mobile devices, providing a consistent reading experience.
Automatically follows system settings to protect your eyes. Supports light, dark, and eye-protection modes.
Quickly locate documents, supporting both title and content search.
- Immersive Reading Mode
- Intelligently hide non-essential UI elements
- Automatically adjust content width and margins
- Support for keyboard shortcuts
- Real-time display of reading progress
- Chapter navigation remains visible
- Support for auto-scrolling
- Multiple Theme Support
- Light theme
- Dark theme
- Eye-protection mode
- Reading Settings
- Font size adjustment
- Line height adjustment
- Paragraph spacing settings
- Page width control
- Large Screen Optimization
- Support for 24-40 inch display adaptation
- Smart column layout
- Optimized image display
- Support for Multiple Document Formats
- Markdown documents
- PDF files
- Tree Directory Structure
- Real-time Document Search
- Recent Access Records
- Reading Position Memory
- Reading Time Statistics
- Responsive Design
- Multiple Theme Support
- Elegant Transition Animations
- Gesture Operation Support
- Keyboard Shortcut Support
- HTTP/2 Support
- High-performance Backend API
- Real-time Search Engine
- Multi-level Cache Optimization
- Automatic Maintenance Tasks
- Vue 3 (Composition API)
- TypeScript
- Tailwind CSS
- Vite
- Pinia State Management
- Vue Router
- FastAPI
- Uvicorn (HTTP/2 Support)
- Python 3.10+
- SQLite Database
- Asynchronous IO Processing
- HTTPS/HTTP2
- Docker Support
- Cloudflare Tunnel
- Node.js 16+
- Python 3.10+
- pip
- yarn/npm
- Git
- Linux/macOS/Windows
- Docker (optional)
git clone https://github.com/yourusername/ai-library.git
cd ai-library# Create Python virtual environment
python -m venv py310
source py310/bin/activate # Linux/macOS
# or
.\py310\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Generate SSL certificate (for development environment)
openssl req -x509 -newkey rsa:4096 -keyout server/key.pem -out server/cert.pem -days 365 -nodescd client
yarn install # or npm install
# Development environment configuration
cp .env.example .env.local- Backend Server
cd server
PYTHONPATH=/path/to/project/server python run.py- Frontend Server
cd client
yarn dev # or npm run dev- Backend server runs at https://localhost:8000
- Frontend server runs at https://localhost:5173
- API documentation available at: https://localhost:8000/docs
GET /api/docs/tree- Get document directory treeGET /api/docs/content/{path}- Get document contentGET /api/docs/metadata/{path}- Get document metadataGET /api/docs/recent- Get recently accessed documentsGET /api/docs/breadcrumb/{path}- Get document breadcrumb navigation
GET /api/search?q={query}- Search documentsPOST /api/search/rebuild-index- Rebuild search index
.
βββ client/ # Frontend code
β βββ src/
β β βββ components/ # Vue components
β β βββ stores/ # Pinia state management
β β βββ services/ # API services
β β βββ styles/ # Global styles
β βββ public/ # Static resources
βββ server/ # Backend code
β βββ app/ # FastAPI application
β β βββ routers/ # API routes
β β βββ services/ # Business logic
β β βββ models/ # Data models
β βββ static/ # Static files
β βββ tests/ # Test cases
βββ docs/ # Documentation directory
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Submit a Pull Request