| Requirement | Version | Notes |
|---|---|---|
| Python | 3.11+ | Use conda or pyenv |
| Node.js | 18+ | For the frontend |
| Neo4j Aura | Free tier | Cloud-hosted graph DB |
| Google account | — | Google Drive for PDF storage |
| Anthropic API key | — | Claude for summaries & chat |
| Ollama (optional) | latest | Local AI for metadata extraction |
git clone https://github.com/NiklasAbraham/PaperManager
cd PaperManager
conda create -n papermanager python=3.11 -y
conda activate papermanager
pip install -r backend/requirements.txt
cd frontend
npm install
cd ..
Ollama is used for local metadata extraction (layer 2), tag suggestions, Cypher assist, and figure captions. Without it the system still works using Semantic Scholar and Claude.
# macOS
brew install ollama
# Linux
curl -fsSL https://ollama.com/install.sh | sh
# Pull the model
ollama pull llama3.2:3b
Copy the example environment file and fill in your credentials:
cp .env.example .env
Edit .env:
# ── Neo4j ──────────────────────────────────────────────────────
NEO4J_URI=neo4j+s://xxxx.databases.neo4j.io
NEO4J_USER=neo4j
NEO4J_PASSWORD=your-password
# ── Google Drive ───────────────────────────────────────────────
# OAuth desktop app credentials from Google Cloud Console
GOOGLE_CLIENT_ID=xxxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=xxxx
GOOGLE_DRIVE_FOLDER_ID=xxxx # Folder where PDFs will be stored
# ── Anthropic ─────────────────────────────────────────────────
ANTHROPIC_API_KEY=sk-ant-xxxx
# Anthropic Foundry enterprise gateway (optional)
ANTHROPIC_WORK_API_KEY=xxxx
ANTHROPIC_WORK_BASE_URL=https://your-foundry-gateway.com/...
# ── App ────────────────────────────────────────────────────────
BACKEND_PORT=8000
FRONTEND_URL=http://localhost:5173
# ── Ollama ─────────────────────────────────────────────────────
OLLAMA_MODEL=llama3.2:3b
# ── Corporate network (optional) ──────────────────────────────
SSL_VERIFY=true
SSL_CA_BUNDLE=/path/to/corporate-ca.pem
.envbackend/token.json and reused automatically./start.sh
This script:
/tmp/papermanager-backend.log)/tmp/papermanager-frontend.log)Open http://localhost:5173 in your browser.
!!! tip “Checking logs”
bash
tail -f /tmp/papermanager-backend.log
tail -f /tmp/papermanager-frontend.log
On startup the backend automatically:
You should see the library page with a drop zone and a + button to add papers.