Skip to main content

FrontierScholar

FrontierScholar 知沿学术

A research wiki of about 1.01M computer-science arXiv papers, built for coding agents. Papers are organised into domains, topics and subtopics; each subtopic has pages on its research problems, method families, datasets and benchmarks, and a frontier page of open gaps and rising approaches. Every claim points back to arXiv ids.

This repository has the fs command-line client and the fs-cli agent skill. Website and API documentation: https://frontier-scholar.com.

Install

pip install frontier-scholar      # Python 3.8+, no dependencies
fs --version                      # CLI and API versions, data snapshot

fs talks to the public endpoint https://frontier-scholar.com and needs no key (see Limits).

Agent skill

skills/fs-cli/ tells a coding agent (Claude Code, Codex, Cursor, Gemini CLI, pi, ...) when and how to use fs:

npx skills add FrontierScholar/FrontierScholar
# or
gh skill install FrontierScholar/FrontierScholar

or copy skills/fs-cli/ into your agent's skills folder. Then ask in plain language, e.g. "Use fs: what are the open problems of adaptive retrieval, and which approaches are rising?"

Commands

Command What it does
fs select "QUERY" The next level of the tree (domains, topics, subtopics), ranked by a query
fs search paper "QUERY" Papers ranked by title, abstract and dataset names; --before / --after dates
fs search wiki [index|pages|frontier|bench] "QUERY" Subtopic overviews, problem / method / resource pages, frontier gaps and trends, benchmarks
fs read TARGET... A paper (original abstract, date, subtopics), a paper's pages, wiki pages, folders, a subtopic's papers
fs related ID... Papers the wiki groups with the given ones
fs meta [wiki|dates] ID... Titles and dates, subtopics, first-version date checks
fs select "adaptive retrieval" --topk 3
fs search paper "adaptive retrieval" --before 2025-01-01
fs search wiki frontier "adaptive retrieval" --status open
fs read 2601.04618
fs meta dates 2601.04618 2604.15621 --before 2026-06-01

Answers are JSON (wiki pages print as Markdown). They are lookups and keyword (BM25) rankings over one fixed data snapshot: nothing is generated. Wiki pages are summaries written from the papers; the only original text is a paper's abstract. fs COMMAND -h lists every option and output field.

From Python:

from frontier_scholar import Client

r = Client().call("search/paper", {"query": "adaptive retrieval", "topk": 5})
for p in r["items"]:
    print(p["paper_id"], p["date"], p["title"])

The HTTP API is POST https://frontier-scholar.com/api/v1/fs/<command> with the arguments as JSON; see the documentation.

Limits

Without a key, each IP gets 30 requests a minute and 1,000 a day, and calls are smaller (--topk up to 20, read up to 5 targets, meta up to 50 ids, no --grep); curl https://frontier-scholar.com/api/v1/fs/quota shows what is left. With a key from the FrontierScholar team, set FS_API_KEY (in the environment, never in code); calls then use that account's limits. When a limit is reached, fs waits and retries by itself. Queries should be in English: the index is English text. FS_BASE points fs at another service.

Layout

src/frontier_scholar/   the fs CLI and its client (standard library only)
skills/fs-cli/          the agent skill: SKILL.md, references/, CHANGELOG.md
tests/                  CLI tests

The earlier frontier-scholar SDK and skills are on the legacy-sdk branch.

License

Apache-2.0, see LICENSE.

Metadata

Release files for frontier-scholar 1.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for frontier-scholar 1.2.3
File Size Uploaded Provenance Actions
frontier_scholar-1.2.3.tar.gz 21.2 kB Without provenance Details for frontier_scholar-1.2.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for frontier-scholar 1.2.3
File Interpreter ABI Platform Actions
frontier_scholar-1.2.3-py3-none-any.whl Python 3 none any Details for frontier_scholar-1.2.3-py3-none-any.whl

Total release size: 40.6 kB

Release files / frontier_scholar-1.2.3.tar.gz

Download URL frontier_scholar-1.2.3.tar.gz
Size 21.2 kB
Tags Source
SHA-256 checksum
How to use checksums
39c1be3f6facf88663b7428864bb2b0abf1abe9399a27160a4d49ea7f04adf46
BLAKE2b-256 checksum
How to use checksums
375d4e87ef793f87da7d7f0fc4981da2c449a76328b20760195695880eacd47c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.7

Release files / frontier_scholar-1.2.3-py3-none-any.whl

Download URL frontier_scholar-1.2.3-py3-none-any.whl
Size 19.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
67dd30eec6ef90f93dd89487333c6719c171f44c1474dfdf70aff9320be429d6
BLAKE2b-256 checksum
How to use checksums
4bb51c1c3036de914336f9e7c63b347bf780ecf79a69e24b2d04c79dbcb6375c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.7

Security for frontier-scholar 1.2.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page