FrontierScholar 知沿学术
The scientific literature, organised into a wiki agents can walk - down to the research frontier of every subtopic.
Website · API documentation · Agent skill · 中文
What it is
A read-only JSON API over a wiki of the scientific literature, with a Python SDK and CLI (pip install frontier-scholar) and skills for coding agents. The goal is every field of science; the first release covers about 870k arXiv computer-science papers, organised into 20 domains, 1,593 topics and 19,304 subtopics. Every subtopic has pages on its research problems, method families, datasets and benchmarks, plus a frontier page - and every claim on those pages cites the papers it comes from.
| Command | ||
|---|---|---|
| Walk the field | nav / locate |
Domain → topic → subtopic, or let the service's model find the page for a request |
| Read in layers | read / read-id |
A subtopic's index first, then only the pages you pick, within a token budget |
| See the frontier | frontier |
Current approaches with their trend, open gaps with when they were first raised |
| Compare results | bench |
One benchmark's result tables from every subtopic that reports it |
| Check at the source | paper / dates |
A paper's problem, method, evaluation and mechanism; first-version arXiv dates |
| Search | grep / search |
Literal and ranked keyword search inside a topic or subtopic |
What problem it solves
Ask an agent "what is the state of the art in adaptive retrieval, and what is still open?" and it has two bad options. It can search and read abstracts, which name papers but never compare them. Or it can read dozens of full papers, which costs hundreds of thousands of tokens before any synthesis starts.
FrontierScholar does the reading ahead of time. Each subtopic's papers have already been read, compared and written up as problem, method and resource pages, so an agent can spend a few thousand tokens on the synthesis and then open only the papers it needs to verify. Every subtopic also has a frontier page: which approaches are rising, which gaps are open, and which paper first raised each one.
Install
pip install frontier-scholar # the `frontier-scholar` CLI and the Python SDK (Python 3.8+, no dependencies)
npx skills add FrontierScholar/FrontierScholar # the agent skills
The skills can also come from the GitHub CLI v2.90.0 or later:
gh skill install FrontierScholar/FrontierScholar # choose interactively
gh skill install FrontierScholar/FrontierScholar frontier-scholar # one skill
gh skill install FrontierScholar/FrontierScholar --agent claude-code # or codex, cursor, gemini
The API needs a key, issued by the FrontierScholar team. Keep it in an environment variable, never in a command line or a repository:
export FRONTIER_SCHOLAR_API_KEY="wiki_…"
frontier-scholar nav # lists the domains when the key works
The CLI and the SDK talk to https://frontier-scholar.com; set FRONTIER_SCHOLAR_BASE if you were given another address.
Usage
One investigation, start to finish: what is the frontier of adaptive retrieval - deciding when a RAG system should retrieve at all?
1. Find the subtopic. Walk down from a domain:
frontier-scholar nav information-retrieval
frontier-scholar nav information-retrieval/agentic-search
2. Read its frontier. One call returns the current approaches and the open gaps, each tied to papers and dated (output trimmed):
frontier-scholar frontier information-retrieval/agentic-search/adaptive-retrieval
== Adaptive Retrieval — Research Frontier | as of 2025-12-22 | 75 papers of 90 assigned
Approaches:
- Training-free prefix-logit and margin gating [rising] papers: 2509.06472 2511.09803
- Learned evidence-sufficiency and stopping control [rising] papers: 2505.02811 2508.17862 …
- Cost-aware RL search agents with adaptive depth [rising] papers: 2505.17281 2510.00568 …
Gaps:
- No universal threshold or calibration rule across models, datasets, and corpora
[method, open, 6 papers; first 2024-02-26 2402.16457, latest 2025-12-18 2512.16883]
- Cost and latency accounting is inconsistent and rarely end-to-end
[efficiency, open, 6 papers; first 2024-10-22 2410.18141, latest 2025-10-17 2510.15719]
Give a topic or domain instead to survey every subtopic below it, and filter: frontier-scholar frontier information-retrieval --trend rising --status open --query retrieval. --page prints the full page, with its timeline and evidence.
3. Read the pages behind it. A folder's index lists every page with its size, so you choose what to spend tokens on:
frontier-scholar read information-retrieval/agentic-search/adaptive-retrieval/Methods
frontier-scholar read information-retrieval/agentic-search/adaptive-retrieval/Methods/confidence-gated-retrieval.md
4. Verify at the source, and respect a cut-off. Read only the facet you need, and check publication dates:
frontier-scholar paper 2511.09803 --facet evaluation
frontier-scholar dates 1706.03762 2511.09803 --before 2025-01-01
1706.03762 2017-06-12 before 2025-01-01: True
2511.09803 2025-11-12 before 2025-01-01: False
5. Compare results on a benchmark. The same benchmark has a Resources page in every subtopic that uses it; bench collects them:
frontier-scholar bench MIRACL --location information-retrieval
Scores from different splits or settings are not comparable, so each table keeps its protocol and the paper behind every number.
In Python, the same steps are methods of Client:
from frontier_scholar import Client
client = Client() # reads FRONTIER_SCHOLAR_API_KEY
frontier = client.frontier("information-retrieval/agentic-search/adaptive-retrieval")
for gap in frontier["subtopics"][0]["gaps"]:
print(gap["name"], gap["status"], gap["first_raised"])
page = client.read_page("information-retrieval/agentic-search/adaptive-retrieval/Methods/confidence-gated-retrieval.md")
evaluation = client.paper("2511.09803", facets=["evaluation"])
dates = client.paper_dates(["1706.03762", "2511.09803"], before="2025-01-01")
miracl = client.benchmark_results("MIRACL", location="information-retrieval")
Every method returns the tool's data; errors raise FrontierScholarError with the API's code, details and request_id. client.call(tool, arguments) reaches any tool by name.
Over HTTP, every tool is the same call:
curl -sS https://frontier-scholar.com/api/v1/api/invoke \
-H "X-API-Key: $FRONTIER_SCHOLAR_API_KEY" -H "Content-Type: application/json" \
-d '{"tool": "retrieval.frontier", "arguments": {"location": "information-retrieval/agentic-search/adaptive-retrieval"}}'
Agent skills
| Skill | |
|---|---|
frontier-scholar |
The frontier-scholar commands and how to work with the wiki. Load this one first. |
frontier-scholar-benchmark-sota |
A ranked, verified results table for one benchmark, with a date cut-off. |
frontier-scholar-frontier-report |
A research-frontier report: approaches and trends, open gaps and since when, stated coverage. |
Documentation
- frontier-scholar.com/docs: every tool with its parameters, a real response, and request examples in curl, Python and the CLI; errors and limits. In English and Chinese.
- skills/frontier-scholar/SKILL.md: the operating instructions agents load.
frontier-scholar -handhelp(frontier_scholar.Client): the CLI and SDK reference.
License
Apache 2.0 - see LICENSE. Issues and questions: github.com/FrontierScholar/FrontierScholar/issues.
Metadata
Release files for frontier-scholar 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| frontier_scholar-0.1.0.tar.gz | 23.2 kB | Without provenance | Details for frontier_scholar-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| frontier_scholar-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for frontier_scholar-0.1.0-py3-none-any.whl |
Total release size: 43.1 kB
Release files / frontier_scholar-0.1.0.tar.gz
| Download URL | frontier_scholar-0.1.0.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ae9a81b70ea313ca3c4527da6c20b28acfea19189d41460868638ac5a12a322
|
|
BLAKE2b-256 checksum How to use checksums |
63be25bc3221a11948f7f0388c82e913c0300050e104a89650d4b2bfc9349df3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / frontier_scholar-0.1.0-py3-none-any.whl
| Download URL | frontier_scholar-0.1.0-py3-none-any.whl |
|---|---|
| Size | 19.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
552616e0e587e33d07a91f3af1786025005f046c86dfe2c9d9fc6a86364008a7
|
|
BLAKE2b-256 checksum How to use checksums |
bef4b5c9653a9f63755ab34dee7099e0e53b2ef7f4a377bffbd74b6bc93f0ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Security for frontier-scholar 0.1.0
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.