arxiv-sanity-lite
Self-hostable web app to tag arXiv papers and get recommendations of similar papers using SVMs over tf-idf abstract features.
arxiv-sanity-lite
arxiv-sanity-lite is Andrej Karpathy's lightweight rewrite of the original arxiv-sanity project: a self-hostable web application that helps researchers keep up with the flood of new arXiv preprints. You tag papers you find interesting, and the app recommends similar papers by training a support-vector machine over tf-idf features derived from paper abstracts.
It is deliberately minimal and easy to deploy, making it a great template for a personalized research-survey and paper-tracking tool.
Key features
- Tag-based personal library of arXiv papers
- SVM-over-tf-idf recommendations of similar papers per tag
- Keyword search across fetched abstracts
- Optional email digests of new relevant papers
- Lightweight Flask + SQLite backend, easy to self-host
- Pulls fresh listings directly from the arXiv API
Fetch recent papers via the included script, compute the tf-idf features, and launch the Flask server to browse, tag, and receive recommendations. A practical starting point for anyone building a domain-specific literature-monitoring dashboard.
Curated mirror of the open-source arxiv-sanity-lite (MIT). Get it from the source.
Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.
Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).
The same gate an agent runs before installing (POST /api/v1/trust/arxiv-sanity-lite-paper-recommender/check). Click a policy:
Consume arxiv-sanity-lite programmatically. Authenticate with an API key or session — see Authorize an agent.
# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/arxiv-sanity-lite-paper-recommender
# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/arxiv-sanity-lite-paper-recommender/check \
-H "Content-Type: application/json" \
-d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'
# CLI
npx ai-supply add arxiv-sanity-lite-paper-recommender
# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/arxiv-sanity-lite-paper-recommender/install \
-H "Authorization: Bearer $AIM_KEY"
# MCP tool
install_listing({ "slug": "arxiv-sanity-lite-paper-recommender" })OpenAPI spec →Curated mirror — latest upstream source. See the repository for tagged releases.