Research workspace with semantic search over your papers and notes — Zotero-integrated, local-first, and reachable from a browser or desktop app.
Prisma is a Research Library Assistant that helps researchers intelligently organize, curate, and enhance their research libraries using Zotero as the primary organization tool. It discovers research content, assesses relevance, and provides intelligent library management.
Architecture: CLI → Coordinator → Source Integrations (External APIs + Zotero Libraries) → Zotero Storage → LLM Analysis → Library Enhancement
Required (Offline):
- Zotero Desktop with Local HTTP API enabled (library management operations)
- Ollama with local LLM (research analysis and curation)
Optional (Online):
- Zotero Web API access (for discovering and saving new research)
- Internet access to source APIs (arXiv, Semantic Scholar, etc.)
- 📚 Multi-Document Support: Papers, books, chapters, theses, reports, and grey literature
- 🔗 Zotero Integration: Leverages existing research libraries and bibliographic data
- 🌊 Research Streams: Persistent topic monitoring with automatic discovery and organization
- ⭐ Quality-Based Sources: 1-5 star rating system prioritizing reliable academic databases
- 🛡️ Academic Validation: Filters out non-academic content with confidence scoring
- 🌐 Multi-Source Search: Combines premium APIs with structured data sources
- 📖 Full-Text Analysis: Processes PDFs, abstracts, and metadata across all document types
- 🤖 AI-Powered Curation: Uses local LLMs for intelligent research assessment and organization
- 📊 Library Organization: Generates structured research organization and enhanced library management
- 🗂️ Vault Workspace: A local, flat-Markdown second brain for notes, sources, and chats —
prisma serveopens it as a web app, installable PWA, or native desktop shell - 🔍 Semantic Search: ChromaDB embeddings + a native knowledge graph re-rank results beyond keyword matching
Prisma's research library management workflow:
- Discover Research - Query external APIs and Zotero libraries using stream's search criteria
- External Sources: arXiv, Semantic Scholar, PubMed, etc.
- Zotero Libraries: Existing research collections and newly imported items
- Assess Relevance - Use LLM to quickly evaluate research relevance to the topic
- Curate Content - Filter and organize relevant research immediately
- For Relevant Research:
- Check Zotero Storage - Search local Zotero library for duplicates (offline HTTP API)
- Save to Zotero - Store new research and add to stream collection (if online)
- Mark Unsaved - Flag research that couldn't be saved (if offline)
- Analyze Content - Comprehensive LLM analysis for research assessment
- Enhance Library - Improve organization and provide research insights (noting any unsaved research)
Note: Zotero serves dual roles as both a source integration (for discovering existing relevant research) and primary organization tool (for organizing and managing research collections).
📖 Complete CLI Reference: See CLI Documentation for detailed command options, examples, and advanced usage.
# Create a new research stream
prisma streams create "Stream Name" "search query" --frequency weekly
# List all streams
prisma streams list
# Update streams (find new papers)
prisma streams update --all
prisma streams update stream-id --force
# Get stream details
prisma streams info stream-id# Generate research analysis
prisma review "neural networks" --output report.md
# Use specific sources
prisma review "AI ethics" --sources arxiv,scholar --limit 50
# Zotero-only mode
prisma review "machine learning" --zotero-only# Check system status
prisma status --verbose
# Zotero integration
prisma zotero test-connection
prisma zotero list-collectionspip install prisma
prisma streams create "AI Research" "artificial intelligence machine learning" --frequency weekly
prisma streams list
prisma streams update --allprisma serveOpens the vault workspace at http://127.0.0.1:8766/app — installable as a PWA, or wrapped in the Tauri desktop shell. See Installation for the full setup.
git clone https://github.com/CServinL/prisma.git
cd prisma
python3 -m venv ~/prisma
source ~/prisma/bin/activate
pip install -e ".[dev]"
prisma --helpChanges to source files are immediately active — no reinstall needed.
📖 Wiki — complete documentation
- Features — what Prisma does and how
- Installation — user and developer setup
- CLI Reference — all commands and options
- Configuration — YAML reference
- Research Streams — persistent topic monitoring
- Sources — quality ratings and academic validation
- Zotero Integration — read/write split, offline mode
- Architecture — components and data flow
- Roadmap — planned features
- 🐍 Python 3.12+ — pip/setuptools, no Poetry
- 🤖 Ollama for local LLM backend (analysis, chat, and knowledge-graph extraction)
- 🔗 Zotero for reference management — the bookmark layer; the vault is the second brain
- ⌨️ Click for the command-line interface
- 🗂️ Flat Markdown vault — no database; notes, sources, chats, and streams are plain
.md/.yamlfiles - 🔍 ChromaDB for semantic search, running as its own supervised server process
- 🌐 FastAPI + SvelteKit — REST + WebSocket API, installable as a PWA on any platform, or wrapped in a native Tauri desktop shell
- 🛡️ Supervised processes —
prisma serveruns a small supervisor that isolates the API, UI, and ChromaDB into independent, crash-recoverable processes
See Architecture Overview for complete technical details.
We welcome contributions from the community! Please see our Contributing Guidelines for details on:
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.