A paper-first workflow for research groups to archive original PDFs, build structured literature records, capture team judgment, and reuse that knowledge with each member's own LLM.
Tip
Open the hosted app and choose Continue as Guest to explore paper intake, extraction, archiving, publishing, reviews, and comments. Guest actions are simulated locally: they do not call the configured LLM and do not write to GitHub, Google Drive, or team records.
Research knowledge is usually split across personal folders, reading notes, chat histories, and repeated LLM conversations. That makes good papers hard to rediscover, team judgment easy to lose, and literature research unnecessarily repetitive.
Research Literature Hub gives a group one durable workflow:
| Share papers | Build trusted records | Reuse with personal LLMs |
|---|---|---|
| Upload papers that members have read or recently discovered. | Extract metadata and summaries, then add human reviews, ratings, tags, and comments. | Export a catalog, reusable prompt, or selected-paper pack to ChatGPT, Claude, Gemini, Kimi, or another LLM. |
The web app is an LLM context provider, not another chatbot. It maintains reliable literature context while members continue using the LLM subscriptions they already have.
The system deliberately separates original files from public knowledge records:
| Layer | Recommended service | Stores | Access |
|---|---|---|---|
| Team file storage | Shared Google Drive folder | Original paper PDFs and confirmed Key Figure image caches | Private or team-controlled |
| Public record storage | Public GitHub repository | Metadata, summaries, tags, ratings, comments, lightweight figure references, indexes, prompts, and PDF references | Public, versioned, and LLM-readable |
Google Drive is the source-document repository. GitHub is the searchable knowledge and audit layer. Vercel hosts the interface that connects them.
Important
A Drive URL stored in a public record is itself public, even when the file still requires permission. Configure file sharing according to your copyright and access policy.
- Members upload PDFs and supply basic details.
- Optional AI extraction drafts metadata, summaries, domains, and technical tags.
- A member verifies and improves the structured record.
- The original PDF is archived in private team storage, while its literature record is published to the public repository.
- Team ratings and attributed comments accumulate shared judgment over time.
- Members use catalogs and reusable prompts with their own external LLMs.
The two storage branches remain linked through DOI, citation key, normalized filename, Drive metadata, provenance, and the PDF reference stored in each literature record.
| Area | Included |
|---|---|
| Paper intake | Explicit PDF selection, optional LLM extraction, DOI metadata, and human confirmation |
| Organization | Primary domain, cross-domains, publication type, venue, year, and technical tags |
| Deduplication | DOI, citation key, normalized title, and Drive metadata checks |
| Structured records | Summary, problem, method, key results, strengths, limitations, relevance, and notes |
| Visual highlights | Optional AI-suggested Key Figure, browser crop/confirmation, private image cache, and compact card preview |
| Team knowledge | Named accounts, research interests, shared card editing, recommendation/innovation/rigor reviews, comments, and activity history |
| Record governance | Creator/admin direct deletion, reasoned member deletion requests, and administrator approval |
| Original files | Google Drive adapter, global filenames, archive provenance, and download links |
| LLM context | Markdown/JSON catalog, repository-access prompt, compact catalog, and selected full-record pack |
| Interface | English/Chinese UI with standardized English academic metadata |
| Data ownership | GitHub Markdown records remain the source of truth; no separate application database |
The Use with My LLM page supports three levels of context:
- Repository access prompt for web-enabled LLMs. The model starts from
index/llm_catalog.mdand opens only relevant records. - Compact catalog pack for models that cannot reliably browse GitHub. It includes searchable metadata, team weight, one-line summaries, tags, and record links.
- Selected full-record pack for deeper discussion after retrieval. It includes a small set of structured records, reviews, comments, and available PDF references.
This keeps routine research conversations on each member's own subscription instead of charging a shared API for every question. See Using the Hub with an LLM.
Research Literature Hub (Vercel)
/ \
/ \
Private file storage (Google Drive) Public record storage (GitHub)
- original PDFs - structured Markdown records
- normalized filenames - reviews and comments
- team-controlled access - generated indexes and LLM catalogs
- duplicate metadata - PDF references and provenance
|
v
Members' external LLMs
GitHub Actions validate records, scan tracked files for common secrets, merge bibliography data, rebuild indexes and LLM catalogs, and update the application version.
Requirements:
- Node.js 20+
- Python 3.12+
- A GitHub repository for records and generated catalogs
- Optional Google Drive storage and LLM provider credentials
git clone https://github.com/yzyzieee/Research-Literature-Hub.git
cd Research-Literature-Hub/webapp
npm install
copy .env.example .env.local
npm run devOpen http://localhost:3000. Guest mode and public-record browsing work without write
credentials. Persistent publishing and team collaboration require GitHub configuration.
Use webapp/.env.example as the complete template.
| Variable | Purpose |
|---|---|
AUTH_SECRET |
Signs team login session cookies |
GITHUB_TOKEN |
Fine-grained token with repository Contents read/write |
GITHUB_REPO |
Write target in owner/repository form |
NEXT_PUBLIC_GITHUB_REPO |
Repository used for public record and catalog links |
LLM_PROVIDER |
Optional metadata and summary extraction provider |
| Provider API key | Server-only key for the selected provider |
DRIVE_FOLDER_ID |
Google Drive folder used by the included storage adapter |
| Google OAuth/service-account variables | Server-side Drive authorization |
Never commit .env.local, OAuth tokens, service-account JSON, API keys, or PDF files.
For the complete setup, see Deployment.
official/ Published literature records
index/ Generated indexes and LLM catalogs
bib/ Shared and personal BibTeX sources
team/ Team account and card-deletion request registries
webapp/ Next.js application
scripts/ Validation, indexing, promotion, and bibliography tools
docs/ Deployment, schema, LLM usage, and content policy
examples/ Example literature record
pip install -r scripts/requirements.txt
python scripts/check_secrets.py
python scripts/check_cards.py
python scripts/update_index.py
python scripts/merge_bibtex.py
cd webapp
npm run buildThis maintainer-controlled open-source project is published for transparency, self-hosting, and reuse. It is not an invitation to modify the maintainer's hosted library, team registry, or deployment. Fork the project to operate an independent repository and storage configuration.

