Nenhuma descrição

Brad Lance 44f6d4e16b Release: Version 0.1 (Beta) - Cleanup and documentation 3 meses atrás
app 7e4deac063 Release: Version 0.1 (Beta) - Cleanup and documentation 3 meses atrás
.env.example 8c681f5d40 Switch AI backend from Claude to Gemini 3 meses atrás
.gitignore 7d5b35ea25 Add .wiki/ and wiki-draft/ to .gitignore 3 meses atrás
README.md 7e4deac063 Release: Version 0.1 (Beta) - Cleanup and documentation 3 meses atrás
absrecommend.service 47f038a0f7 Rename application to 'Dewy Oracle' 3 meses atrás
download-all-covers.py 47774cb200 Fix: Download and cache book cover images locally 3 meses atrás
fix-cover-urls.py c00db3aad5 Fix: Proxy book cover images through authenticated endpoint 3 meses atrás
main.py 47f038a0f7 Rename application to 'Dewy Oracle' 3 meses atrás
migrate_database.py 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás
remove-service.sh 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás
requirements.txt 52245e6f69 Add multi-user authentication and reading log features 3 meses atrás
reset-password.py 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás
restart-service.sh 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás
revert-cover-urls.py c00db3aad5 Fix: Proxy book cover images through authenticated endpoint 3 meses atrás
setup-service.sh 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás
test-auth.py 000cd2ad4a Add admin panel, service management, and deployment tooling 3 meses atrás

README.md

Dewy Oracle

Version 0.1 (Beta) - AI-powered book recommendations for Audiobookshelf

A self-hosted web application that syncs with your Audiobookshelf server to track listening history and provide personalized book recommendations using Google Gemini AI.

✨ Features

Core Features

  • 🔄 Audiobookshelf Sync - Automatic sync of listening history and progress
  • 🤖 AI Recommendations - Google Gemini-powered book suggestions based on your tastes
  • 📊 Reading Analytics - Track books finished, hours listened, streaks, and genres
  • Book Ratings - Rate and track your favorite audiobooks
  • 👥 Multi-User Support - Individual accounts with separate libraries
  • 🎨 *arr-Style Dark Theme - Professional UI matching Sonarr/Radarr aesthetic
  • 🔐 Admin Panel - User management, password changes, and settings

What's New in v0.1

  • Complete dark theme redesign with sidebar navigation
  • Admin user creation and password management
  • Fixed author name extraction from Audiobookshelf API
  • Accurate hours calculation using actual audiobook duration
  • Working book rating system
  • Local cover image caching

🚀 Quick Start

Prerequisites

  • Python 3.12+
  • Audiobookshelf server with API access
  • Google Gemini API key

Installation

  1. Clone the repository

    git clone https://git.mrbamm.xyz/Dewey_Orcale/dewey-oracle.git
    cd dewey-oracle
    
  2. Create virtual environment

    python3 -m venv venv
    source venv/bin/activate
    
  3. Install dependencies

    pip install -r requirements.txt
    
  4. Configure environment

    cp .env.example .env
    # Edit .env and add your GEMINI_API_KEY
    
  5. Run the application

    python main.py
    
  6. Access the web interface

  7. Open http://localhost:8000

  8. Register first user account

  9. Enter your Audiobookshelf server URL and API token

  10. Sync your library and generate recommendations!

Production Deployment (systemd)

./setup-service.sh

📖 Usage

  1. Register - Create your account with Audiobookshelf credentials
  2. Sync - Click "Sync with Audiobookshelf" to import your library
  3. Get Recommendations - Click "Generate New Recommendations"
  4. View Stats - Check your reading log for analytics and insights
  5. Rate Books - Rate finished books to improve future recommendations

🛠️ Configuration

Environment Variables

Variable Required Default Description
GEMINI_API_KEY Yes - Google Gemini API key
SECRET_KEY No Auto-generated Session encryption key
DATABASE_URL No sqlite:///./absrecommend.db Database path
HOST No 0.0.0.0 Server host
PORT No 8000 Server port

Per-User Settings

  • Audiobookshelf server URL
  • Audiobookshelf API token (encrypted in database)

🏗️ Development

Branching Strategy (v0.1+)

Starting with version 0.1, we use feature branches:

# Create feature branch
git checkout -b feature/your-feature-name

# Make changes and commit
git add .
git commit -m "Description"

# Push to remote
git push origin feature/your-feature-name

# Merge to master when ready

Tech Stack

  • Backend: FastAPI, Python 3.12, SQLAlchemy (async)
  • Frontend: Jinja2, Vanilla JS, Chart.js
  • Database: SQLite (aiosqlite)
  • AI: Google Gemini 2.5 Flash
  • External API: Audiobookshelf REST API

📝 Version History

v0.1 (Beta) - January 2026

  • Initial beta release
  • Multi-user authentication system
  • AI-powered recommendations with Gemini
  • Reading log with statistics and charts
  • Admin panel with user management
  • Dark theme with sidebar navigation
  • Book rating system
  • Local cover caching

🤝 Contributing

This project uses feature branches. Create a branch for your changes and submit via pull request.

📄 License

See repository for license information.

🔗 Links


Note: This is a beta release (v0.1). Some features may have rough edges. Please report issues via the Gogs issue tracker.