Reference Management¶
Bipartite replaces GUI reference managers with a CLI that both humans and agents can use. Your paper library lives in git-versionable JSONL, not a proprietary database.
Getting Started¶
Start from the nexus-template, then configure and import:
bip config pdf-root ~/Google\ Drive/My\ Drive/Paperpile
bip import --format paperpile ~/Downloads/export.json
bip rebuild
Paperpile import preserves the notes field from your Paperpile library. Notes appear in bip get output and are searchable via bip search.
bip rebuild builds the SQLite query index from the JSONL source files. Run it after pulling changes or if the database gets corrupted.
Searching¶
Keyword search queries title, abstract, authors, and notes. Use author: or title: prefixes to narrow scope.
Semantic Search¶
For conceptual queries that go beyond keyword matching:
bip index build # Build the semantic index (requires Ollama)
bip semantic "methods for tree inference"
bip similar Zhang2018-vi # Find papers similar to a specific paper
Semantic search uses local embeddings via Ollama to find related papers even without exact word matches.
Working with Papers¶
bip get Smith2024-ab # Fetch metadata as JSON (includes notes if present)
bip get Smith2024-ab --human # Human-readable output
bip open Smith2024-ab # Open PDF in configured viewer
bip open --recent 5 # Open the 5 most recently added papers
bip open --since HEAD~3 # Open papers added in last 3 commits
bip url Smith2024-ab # Get DOI URL
bip url Smith2024-ab --copy # Copy URL to clipboard
bip url Smith2024-ab --arxiv # Get arXiv URL instead
bip open supports supplementary PDFs with --supplement N.
bip url can output DOI, PubMed, PubMed Central, arXiv, or Semantic Scholar URLs.
Adding Papers via Semantic Scholar¶
The bip s2 commands fetch metadata from Semantic Scholar's Academic Graph API:
bip s2 add DOI:10.1038/nature12373
bip s2 add ARXIV:2106.15928 --link ~/papers/paper.pdf
bip s2 lookup DOI:10.1093/sysbio/syy032 # Preview without adding
Supported ID formats: DOI:, ARXIV:, PMID:, PMCID:, CorpusId:, or a raw S2 paper ID.
Use --link to associate a local PDF path when adding. Use --update to refresh metadata for a paper already in the collection.
Exploring Citations¶
bip s2 citations Zhang2018-vi # Who cites this paper?
bip s2 citations Zhang2018-vi --local-only # Only show citing papers already in your collection
bip s2 references Zhang2018-vi # What does this paper cite?
bip s2 references Zhang2018-vi --missing # Only references NOT in your collection
bip s2 gaps # Highly-cited papers you're missing
bip s2 gaps --min-citations 3 # Require at least 3 local citations
bip s2 gaps is particularly useful: it finds papers cited by multiple papers in your collection that you haven't added yet — likely foundational work you should know about.
Exporting¶
bip export --bibtex # Export all papers
bip export --bibtex Smith2024-ab Lee2024-cd # Export specific papers
bip export --bibtex --append refs.bib Smith2024-ab # Append with deduplication
Collaboration¶
The library is designed for multi-user workflows via git:
git pull # Get collaborator changes
bip rebuild # Rebuild index from updated JSONL
bip new --days 7 # What's been added recently?
bip new --since HEAD~3 # Papers added in last 3 commits
bip diff # Uncommitted additions/removals
When merges produce conflicts in refs.jsonl:
bip resolve --dry-run # Preview resolution
bip resolve # Auto-resolve using paper metadata
bip resolve --interactive # Prompt for true conflicts
bip resolve understands that DOI is a unique identifier, that longer author lists are better, and that more complete metadata should win.
Maintenance¶
bip dedupe --dry-run # Find duplicates by source ID
bip dedupe --merge # Merge duplicates, keeping first and updating edges
bip check # Verify repository integrity
Agent Usage¶
All commands output JSON by default. Agents call them via bash — no MCP server needed:
bip search "variational inference" --limit 5
bip get Smith2024-ab
bip s2 add DOI:10.1038/s41586-024-07487-w
Add --human for human-readable output in any command.