/install arxiv-search
arXiv Search (metadata-first)
Collect an initial paper set with enough metadata to support downstream ranking, taxonomy building, and citation generation.
When online, prefer rich arXiv metadata (categories, arxiv_id, pdf_url, published/updated, etc.). When offline, accept an export and convert it cleanly.
Load Order
Always read:
references/domain_pack_overview.md— how domain packs drive topic-specific behavior
Domain packs (loaded by topic match):
assets/domain_packs/llm_agents.json— pinned IDs, query rewrite rules for LLM agent topics
Script Boundary
Use scripts/run.py only for:
- arXiv API retrieval and XML parsing
- offline export conversion (CSV/JSON/JSONL normalization)
- metadata enrichment via
id_listbackfill
Do not treat run.py as the place for:
- hardcoded topic detection or query rewriting (use domain packs)
- domain-specific pinned paper lists (externalize to
assets/domain_packs/)
Input
queries.md(keywords, excludes, time window)
Outputs
papers/papers_raw.jsonl(JSONL; 1 paper per line)- Each record includes at least:
title,authors,year,url,abstract - When using the arXiv API online mode, records also include helpful metadata:
arxiv_id,pdf_url,categories,primary_category,published,updated,doi,journal_ref,comment
- Each record includes at least:
- Convenience index (optional but generated by the script):
papers/papers_raw.csv
Decision: online vs offline
- If you have network access: run arXiv API retrieval.
- If not: import an export the user provides (CSV/JSON/JSONL) and normalize fields.
- Hybrid: if you import offline but still have network later, you can enrich missing fields (abstract/authors/categories) via arXiv
id_listusing--enrich-metadataorqueries.mdenrich_metadata: true.
Workflow (heuristic)
- Read
queries.mdand expand into concrete query strings. - Retrieve results (online) or import an export (offline).
- Normalize every record to include at least:
title,authors(array),year,url,abstract
- Keep the set broad at this stage; dedupe/ranking comes next.
- Apply time window and
max_resultsif specified.
Quality checklist
-
papers/papers_raw.jsonlexists. - Each line is valid JSON and contains
title,authors,year,url.
Side effects
- Allowed: create/overwrite
papers/papers_raw.jsonl; append notes toSTATUS.md. - Not allowed: write prose sections in
output/before writing is approved.
Script
Quick Start
python scripts/run.py --help- Online:
python scripts/run.py --workspace \x3Cworkspace_dir> --query "\x3Cquery>" --max-results 200 - Offline import:
python scripts/run.py --workspace \x3Cworkspace_dir> --input \x3Cexport.csv|json|jsonl>
All Options
--query \x3Cq>: repeatable; multiple queries are unioned--exclude \x3Cterm>: repeatable; excludes applied after retrieval--max-results \x3Cn>: cap total retrieved--input \x3Cexport.*>: offline mode (CSV/JSON/JSONL)--enrich-metadata: best-effort enrich via arXivid_list(needs network)queries.mdalso supports:keywords,exclude,time window,max_results,enrich_metadata
Examples
- Online (multi-query + excludes):
python scripts/run.py --workspace \x3Cws> --query "LLM agent" --query "tool use" --exclude "survey" --max-results 300
- Fetch a single paper by arXiv ID (direct
id_listfetch):python scripts/run.py --workspace \x3Cws> --query 2509.02547 --max-results 1
- Offline auto-detect (no flags):
- Place
papers/import.csv(or.json/.jsonl) under the workspace, then run:python scripts/run.py --workspace \x3Cws>
- Place
- Offline import + time window (via
queries.md):- Set
- time window: { from: 2022, to: 2025 }then run offline import normally
- Set
Troubleshooting
Common Issues
Issue: papers/papers_raw.jsonl is empty
Symptom:
- Script exits with “No results returned …” or output file is empty.
Causes:
- Network is blocked (online mode).
- Queries are too narrow or
queries.mdis empty.
Solutions:
- Use offline import: place
papers/import.csv|json|jsonlin the workspace or pass--input. - Broaden keywords and reduce excludes in
queries.md. - Run with explicit
--queryto sanity-check the parser.
Issue: Offline import records miss fields
Symptom:
- Downstream steps fail because records miss
authors/year/abstract/url.
Causes:
- Export columns don’t match expected fields; upstream export is incomplete.
Solutions:
- Ensure the export contains at least
title,authors,year,url,abstract. - If you later have network, use
--enrich-metadatato backfill missing fields (best effort).
Recovery Checklist
- Confirm
queries.mdhas non-emptykeywords(or pass--query). - If offline: confirm workspace has
papers/import.*and rerun. - Spot-check 3–5 JSONL lines: valid JSON + required fields.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install arxiv-search - 安装完成后,直接呼叫该 Skill 的名称或使用
/arxiv-search触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Arxiv Search 是什么?
Retrieve paper metadata from arXiv using keyword queries and save results as JSONL (`papers/papers_raw.jsonl`). **Trigger**: arXiv, arxiv, paper search, meta... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 403 次。
如何安装 Arxiv Search?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install arxiv-search」即可一键安装,无需额外配置。
Arxiv Search 是免费的吗?
是的,Arxiv Search 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Arxiv Search 支持哪些平台?
Arxiv Search 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Arxiv Search?
由 WILLOSCAR(@willoscar)开发并维护,当前版本 v1.0.0。