Skip to content

L4XB/sixsentences_

Repository files navigation


sixsentences

AI-powered academic literature research.
Search 7 sources. Summarize in 6 sentences. Synthesize with evidence. Export to LaTeX.

Quick Start  Features  Architecture  MIT License


Enter a research query. Get a structured literature review — with citations, gaps, and a reading guide.

sixsentences automates the tedious parts of literature review so you can focus on what matters: understanding the research landscape and finding your contribution.


How it Works

 Your Query
     │
     ▼
 ┌─────────┐    ┌──────────┐    ┌──────────┐    ┌───────────┐    ┌──────────┐
 │ Search 7 │───▶│ Dedup &  │───▶│ Download │───▶│ Summarize │───▶│Synthesize│
 │ Sources  │    │  Score   │    │  PDFs    │    │ 6S each   │    │ & Export │
 └──────────┘    └──────────┘    └──────────┘    └───────────┘    └──────────┘
  S2 · OpenAlex   Fuzzy match     Full text       CONTEXT          Literature
  arXiv · DBLP    + LLM filter    extraction      GOAL             review with
  CrossRef ·                                      METHOD           [N] citations
  PubMed · GS                                     RESULT           + .bib file
                                                  LIMITATION
                                                  RELEVANCE

Features

The 6-Sentence Summary

Every paper gets a structured summary with exactly 6 labeled sentences:

Label What it captures
CONTEXT Research area and problem space
GOAL Specific objective or research question
METHOD Approach, technique, or methodology used
RESULT Key findings with specific numbers and metrics
LIMITATION What was not addressed or could be improved
RELEVANCE How this paper connects to your query

Structured Synthesis Report

Not a wall of text — a structured analysis with evidence:

  • Executive Summary — 3-5 sentences with [N] citations linking to papers
  • Thematic Sections — Papers grouped by research direction, with cross-paper analysis
  • Methodology Landscape — Dominant approaches, emerging methods, evaluation patterns
  • Research Gaps — Prioritized (high/medium/low) with evidence from the papers
  • Reading Guide — Three tiers: Must-Read, State-of-the-Art, Deep-Dive
  • Critical Assessment — Common limitations, biases, reproducibility concerns

Every [N] reference is clickable and shows the paper title on hover.

14-Phase AI Pipeline

# Phase Description
1 Query Understanding Expand into sub-topics, keywords, target venues
2 Multi-Source Search Parallel search across 7 academic databases
3 Deduplication Exact ID + fuzzy title matching (85% threshold)
4 Scoring Quality scoring with keyword relevance and stemming
5 Relevance Filter LLM-based relevance assessment per paper
6 PDF Download Batch retrieval with anti-detection delays
7 Summarization 6-sentence structured + full summaries
8 Citation Snowball Forward/backward citation traversal
9 Reference Mining Extract cited papers from full text
10 Recommendations Semantic Scholar recommendations
11 Refinement Gap analysis and iterative search expansion
12 Enrichment CrossRef metadata enrichment
13 Synthesis Parallel: report, clusters, comparison, authors, trends
14 Report Assembly Persist to database

Multi-LLM Provider Routing

Route different tasks to different providers with automatic fallback:

# Claude for synthesis, MiniMax for bulk scoring
SYNTHESIS_PROVIDERS=anthropic,minimax
SCORING_PROVIDERS=minimax,openai
Provider Example Models
MiniMax MiniMax-M2.7 (default — fast & cheap)
Anthropic Claude Sonnet, Claude Opus
OpenAI GPT-4o, GPT-4o-mini
Google Gemini 2.0 Flash
Ollama Any local model (Llama, Mistral, ...)

LaTeX Export

One click → .zip with publication-ready files:

  • main.tex\section{Related Work} with \subsection{} per theme and \cite{key} references
  • references.bib — Complete BibTeX entries for all papers

Also exports to: BibTeX, RIS, CSV, JSON

More

  • Real-time progress with SSE and phase-aware status messages
  • Chat with your research (streaming, conversation history)
  • Citation graph with PageRank and community detection
  • Reading list — To Read / Reading / Done
  • Annotations with tags and highlights
  • Watch queries for monitoring topics over time
  • Auth with JWT, refresh token rotation, TOTP 2FA

Quick Start

Requirements: Docker + one LLM API key

git clone https://github.com/yourusername/sixsentences.git
cd sixsentences
cp .env.example .env
# Edit .env: set an LLM API key + JWT_SECRET (openssl rand -base64 48)
make up

Open http://localhost:3000 — register, enter a query, watch the pipeline work.


Architecture

┌───────────────────────────────────────────────────────────────────┐
│  Frontend — Next.js 16 · React 19 · TypeScript · Tailwind CSS 4  │
└───────────────────────────────┬───────────────────────────────────┘
                                │
┌───────────────────────────────▼───────────────────────────────────┐
│  Gateway — Go · JWT Auth · SSE Progress · Rate Limiting           │
└──┬────────┬────────┬────────┬────────┬────────┬──────────────────┘
   │        │        │        │        │        │
 Session  Orch.   Source   Dedup    AI       PDF
 Store    ───▶    Proxy    Score   Pipeline  Proc.
  (Go)   14-phase  (Go)    (Go)   (Python)  (Py)
   │     engine     │               │
   │      (Go)      │               │
   ▼                ▼               ▼
Postgres    7 Academic       5 LLM Providers
 + Redis     Sources          + Cost Tracking
 + MinIO

Services

Service Lang Port What it does
gateway Go 8080 API entry point, auth, SSE, rate limiting
orchestrator Go 50052 14-phase pipeline execution engine
session Go 50051 Papers, sessions, synthesis persistence
source-proxy Go 50053 7 academic source adapters
dedup Go 50054 Deduplication, scoring, enrichment
ai-pipeline Python 50055 13 LLM-powered analysis services
pdf-processor Python 50056 PDF download + text extraction
citation-graph Go 50057 Snowball, PageRank, communities
scraper Python 50058 Google Scholar, PubMed, DBLP
notifier Go 50059 Watch queries, webhooks, email
frontend TS 3000 Next.js web application

Stack

Layer Technologies
Backend Go 1.25 · Python 3.12 · gRPC/Protobuf · Chi Router
Frontend Next.js 16 · React 19 · TypeScript 5 · Tailwind 4 · React Query · Zustand
Infra PostgreSQL 16 · Redis 7 · MinIO (S3) · Prometheus
AI Custom multi-provider LLM router (no LiteLLM)

Configuration

Required

Variable How to set
JWT_SECRET openssl rand -base64 48
DB_PASSWORD Any strong password
LLM API key At least one of: MINIMAX_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, OLLAMA_HOST

Optional

Variable Default Description
DEV_MODE false Dev auth bypass — never in production
COOKIE_SECURE false true when serving over HTTPS
S2_API_KEY Semantic Scholar (better rate limits)
CROSSREF_EMAIL CrossRef polite pool
*_PROVIDERS minimax Per-task LLM routing (see above)

Full list in .env.example.


Development

make up          # Start all services (docker compose up -d --build)
make down        # Stop everything
make up-infra    # Only postgres + redis + minio
make build       # Build Go binaries
make test        # Go + Python tests
make proto-gen   # Regenerate gRPC stubs
make lint        # Lint everything
make migrate     # Run DB migrations

Prerequisites: Go 1.25+ · Python 3.12+ · Node.js 20+ · Docker · buf

Project Structure

sixsentences/
├── proto/                  Protobuf service definitions
├── gen/                    Generated gRPC code
├── migrations/             PostgreSQL migrations (001-009)
├── services/
│   ├── gateway/            HTTP API gateway (Go)
│   ├── orchestrator/       Pipeline engine (Go)
│   ├── session/            Persistence (Go)
│   ├── source-proxy/       7 academic sources (Go)
│   ├── dedup/              Dedup & scoring (Go)
│   ├── ai-pipeline/        13 LLM services (Python)
│   ├── pdf-processor/      PDF extraction (Python)
│   ├── citation-graph/     Citation analysis (Go)
│   ├── scraper/            Web scraping (Python)
│   ├── notifier/           Notifications (Go)
│   └── frontend/           Next.js app (TypeScript)
├── docker-compose.yml      Full stack orchestration
├── Makefile                Build & dev commands
└── go.work                 Go workspace (7 modules)

Security

  • bcrypt password hashing (cost 12)
  • JWT with HMAC-SHA256, refresh token rotation, family-based theft detection
  • Tokens stored as SHA-256 hashes
  • TOTP 2FA support
  • Per-user rate limiting
  • Email enumeration prevention
  • Non-root Docker containers
  • Multi-stage builds
  • Custom LLM router — no third-party proxy dependencies

Found a vulnerability? Please open a private security advisory rather than a public issue.


Contributing

Contributions are welcome! Whether it's a bug fix, new feature, or documentation improvement — all PRs are appreciated.

Good First Issues

Looking for a place to start? Check out issues labeled good first issue. Here are some areas where help is needed:

  • New academic sources — Add adapters for PubMed Central, IEEE Xplore, or CORE
  • Citation graph visualization — Replace the current list view with an interactive D3/force-directed graph
  • Better comparison tables — Heatmap coloring, column pinning, numeric sorting
  • Internationalization — The UI is English-only, translations welcome
  • Test coverage — Unit and integration tests for Go services and Python AI pipeline
  • Documentation — API docs, deployment guides, architecture deep-dives

How to Contribute

  1. Fork the repo and create a branch (feat/my-feature or fix/my-bug)
  2. Make your changes — keep diffs small and focused
  3. Run make test and make lint
  4. Open a PR with a clear description of what and why

Code Style

  • Go: gofmt, conventional commits
  • Python: PEP 8, type hints, f-strings
  • TypeScript: ESLint config from Next.js
  • Commits: feat:, fix:, docs:, refactor:, test:

License

MIT — use it, fork it, build on it.

Acknowledgments

Built on the shoulders of great open data and APIs:

Semantic Scholar · OpenAlex · CrossRef · arXiv · PubMed · DBLP

About

AI-powered literature research platform. Search 7 academic sources, summarize papers in 6 structured sentences, synthesize evidence-based reviews, export to LaTeX.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors