← Back to Skills Marketplace
runshengdu

llm-researcher

by runshengdu · GitHub ↗ · v1.0.5 · MIT-0
cross-platform ✓ Security Clean
357
Downloads
0
Stars
0
Active Installs
6
Versions
Install in OpenClaw
/install llm-researcher
Description
LLM 论文与项目研究员。分析LLM相关论文和Github项目, 并按指定类目进行分类整理。使用场景:(1) 获取 LLM 领域最新进展,(2) 追踪特定方向的最新研究
README (SKILL.md)

执行前置确认(必须)

1.在按本skill开始任何步骤前,必须先询问用户:是否已在当前环境安装 Python,并说明用途:运行 scripts/pdf_to_md.py 将论文 PDF 转为 Markdown(终端中需能执行 pythonpython3)。明确告知没有 Python 则无法按规范执行论文 PDF 解析,可请用户安装 Python 后再继续,或在与用户达成一致的前提下仅做不涉及 pdf_to_md.py 的降级(例如只做 GitHub 条目、或跳过需 PDF 的论文条目),并在过程说明与最终报告中写明该限制。 2.询问用户对于每个数据源获取的条目数量。 3.询问用户调用脚本从PDF链接提取markdown是用哪个参数

  • introduction:仅返回严格匹配 # Introduction 一级标题的 Markdown 内容
  • all:返回整篇论文转换后的完整 Markdown 内容 4.输出报告的语言。 在未完成上述确认前,不要开始执行本 skill 的核心流程。

默认数据源

  1. alphaxiv -
    • https://www.alphaxiv.org/?sort=Hot&interval=7+Days
    • https://www.alphaxiv.org/?source=GitHub&interval=7+Days&sort=Hot
  2. GitHub Trending - https://github.com/trending?since=weekly
  • 如果用户没有指定数量,默认每个数据源最多提取 10 个条目。
  • 只使用以上默认数据源,不额外扩展新的数据源网址。

工具使用优先级

获取网页中的论文列表、项目列表、论文链接和 arXiv ID 时,按以下顺序尝试:

  1. 浏览器工具优先:动态网页优先使用浏览器打开、滚动、点击和观察页面内容。如果网页打不开,通常是因为网络原因,多尝试2次一般能打开
  2. 网页抓取工具次之:如果浏览器无法稳定拿到内容,再尝试网页抓取。
  3. 网页转 Markdown 兜底:最后再使用 https://r.jina.ai/example.com 读取页面 Markdown。
  4. 如果以上方式都不可用:就跳过,在最终报告里写明原因。

总体流程

阶段 1:发现条目并建立任务队列

  1. 对论文页面,优先从网页内容中拿到 arXiv ID
  2. 对GitHub项目,记录项目标题和仓库 URL,不要求 arXiv ID
  3. 去重规则:
    • 论文优先按 arXiv ID 去重
    • GitHub 项目优先按仓库 URL 去重
    • 如果缺少唯一标识,再按标题去重
  4. 将待分析条目整理为当前运行内的任务队列。

阶段 2:逐条执行任务

  • 维护任务队列,顺序处理 pending 条目,无需启动 subagent。
  • 每开始处理一个条目,先执行 attempt += 1
  • 处理完成后,将结果写入成功或失败集合:
    • 成功:status = "done",并写入 completedAt
    • 失败:status = "failed",并写入 errorcompletedAt
  • 单个任务失败不影响后续任务,应继续处理剩余条目。

执行规则

直接完成每个条目的内容获取、分析、分类和结果汇总。

论文任务

如果 sourcearxiv

  1. 优先使用已有的 arXiv ID
  2. 如果拿到了 arXiv ID,构造论文 PDF 链接:
    • https://arxiv.org/pdf/{arxiv-id}.pdf
  3. 调用脚本从 PDF 链接提取 markdown,使用 --range 显式传入用户选择:
    • python scripts/pdf_to_md.py https://arxiv.org/pdf/{arxiv-id}.pdf tmp_llm_research/{arxiv-id}.md --range introduction
    • python scripts/pdf_to_md.py https://arxiv.org/pdf/{arxiv-id}.pdf tmp_llm_research/{arxiv-id}.md --range all
  4. --range 参数说明:
    • introduction:仅返回严格匹配 # Introduction 一级标题的 Markdown 内容
    • all:返回整篇论文转换后的完整 Markdown 内容
  5. 读取 tmp_llm_research/{arxiv-id}.md
  6. 基于提取出的论文 markdown 分析论文核心问题、方法、贡献、适用场景和局限性。
  7. 严格按照 references/categories.md 中的大类进行分类。
  8. 如果始终拿不到 arXiv ID,则不要伪造 ID,也不要直接用网页摘要代替 markdown;应将该任务标记为 failed,并在错误里注明“无法稳定获取 arXiv ID”。

GitHub 项目任务

如果 sourcegithub

  1. 优先使用浏览器工具读取仓库首页、README、项目说明。
  2. 如果浏览器工具拿不到足够内容,再尝试网页抓取工具。
  3. 如果仍然不稳定,再使用 r.jina.ai 版本页面作为兜底。
  4. 如果以上方式都受限,但仓库首页还能看到仓库名、简介、话题、页面结构中的少量文本,允许基于这些可见信息给出“简版分析”。
  5. 用简单易懂的语言解释论文/项目内容;信息完整时尽量详细,信息受限时要明确说明推断边界。
  6. 严格按照 references/categories.md 中的大类进行分类。

分析结果格式

在当前运行内存中维护成功与失败结果集合,用于最终汇总。结果建议至少包含以下字段:

{
  "id": "{序号}",
  "title": "{标题}",
  "url": "{URL}",
  "source": "{arxiv|github}",
  "arxivId": "{arXiv ID,如果是 GitHub 则为 null}",
  "category": "{类目名称}",
  "authors": "{作者或机构,未知可写 Unknown}",
  "analysis": "{用简单易懂的语言解释内容,越详细越好}",
  "status": "{done或failed,如果是failed需要列上原因}",
  "attempt": "{当前尝试次数}",
  "completedAt": "{ISO 时间戳}"
}

最终报告

当所有任务完成后,输出最终 Markdown 报告到 output 文件夹,文件名格式为 YYYYMMDDHHmm.md。 最终报告成功写入后,需要删除整个 tmp_llm_research 文件夹。 最终报告必须包含:

  • # Report Summary,至少包含:TotalSuccessFailedRetried Success
  • # Details,必须按 category 聚合,每个分类下的条目至少包含:titleurlsourceauthorsanalysis
  • # Trending,需要总结本批论文和项目体现出的共同趋势、热门方向和潜在变化。

注意事项

  • 单个任务失败不影响其他任务,继续推进剩余任务。
  • 所有原始链接必须保留,便于最终报告追溯。
  • 只有在最终 Markdown 报告成功写入后,才可以清理 tmp_llm_research,避免影响最终汇总。
  • 如果运行环境限制导致部分条目只能获得有限信息,最终报告中应如实说明,不要伪装成完整深度分析。
Usage Guidance
This skill is internally consistent with its goal of finding and summarizing LLM papers/projects, but before installing consider: (1) you must provide MINERU_API_KEY — this sends PDF URLs to mineru.net for conversion, so review MinerU's privacy/terms and avoid sending PDF URLs that contain sensitive/confidential content; (2) ensure Python is available and that a curl executable is present on the host (the script uses curl via subprocess); (3) the skill will download content from the web, write temp files to tmp_llm_research and write a final Markdown report to an output folder (it deletes the temp folder only after successful report creation); (4) if you do not want external PDF conversion, request a downgraded workflow (the SKILL.md already documents an option to skip pdf_to_md.py). If you need higher assurance, ask the author for an option to run a local-only PDF parser or to avoid sending PDFs to third-party services.
Capability Analysis
Type: OpenClaw Skill Name: llm-researcher Version: 1.0.5 The skill bundle is a legitimate tool for researching LLM papers and GitHub projects, using the MinerU API for PDF-to-Markdown conversion. The Python script `scripts/pdf_to_md.py` handles API interactions and file processing safely using `subprocess.run` with argument lists, and the `SKILL.md` instructions are transparent, requiring user consent for environment requirements and data limits without any evidence of malicious intent or data exfiltration.
Capability Assessment
Purpose & Capability
The skill declares MINERU_API_KEY and uses MinerU (https://mineru.net) to convert PDFs to Markdown, which is coherent with the stated PDF-parsing purpose. Minor inconsistency: the Python script invokes curl via subprocess but the manifest did not list curl as a required binary; SKILL.md does mention Python and network access but not curl explicitly.
Instruction Scope
SKILL.md limits actions to fetching from the specified sources, using browser/scraping fallbacks, running scripts/pdf_to_md.py for PDF->Markdown, aggregating results, and writing a Markdown report. The instructions do not ask to read unrelated system files or environment variables beyond MINERU_API_KEY, nor to transmit data to endpoints other than MinerU and the target webpages.
Install Mechanism
No install spec; this is instruction-only plus a small helper script. No archives or third-party downloads performed at install time. Runtime network calls to MinerU and target sites are required.
Credentials
Only MINERU_API_KEY is required and it is directly used by the included script to authenticate to a PDF-extraction API — proportionate to the stated capability. No other secrets or config paths are requested.
Persistence & Privilege
always is false; the skill does not request persistent system-level privileges or modify other skills. It writes temporary files (tmp_llm_research) and the final report to an output folder per its documented behavior.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install llm-researcher
  3. After installation, invoke the skill by name or use /llm-researcher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.5
llm-researcher 1.0.5 – 增加执行前环境与参数确认,提升健壮性 - 新增执行前的强制用户确认:需确保已安装 Python(用于论文 PDF 解析脚本),并提前询问数据源条目数量、PDF解析范围参数与输出报告语言。 - 修改 skill 执行流程,只有在完成上述确认后才能开始核心任务,若无法满足则写明限制并降级流程。 - 更新兼容性说明:明确需要 Python 环境用于运行 `scripts/pdf_to_md.py`。 - 精简描述内容,移除默认支持的行业分析报告,以及更清晰的前置流程说明。 - 修正最终报告的结构要求,细化“Report Summary”、“Details”、“Trending”输出要求。
v1.0.4
llm-researcher 1.0.4 Changelog - Updated SKILL metadata: added explicit author, version, and moved MINERU_API_KEY requirement under a new `clawdbot` key. - No changes to core logic, workflow, or functionality. - Documentation and usage instructions remain unchanged. - No code file modifications in this release.
v1.0.3
llm-researcher 1.0.3 adds environment compatibility requirements. - 新增 `compatibility` 字段,声明需联网和 MINERU_API_KEY 环境变量用于 PDF 解析。 - 增加 `metadata` 段,列出对 `MINERU_API_KEY` 的强制环境依赖。 - 脚本路径部分由 `skills/llm-researcher/scripts/` 简化为 `scripts/` 与 `references/`,以反映目录结构变动。 - 其他功能与流程保持不变,保持原有分析与报告规范。
v1.0.2
llm-researcher v1.0.2 - 切换核心PDF解析脚本:移除 scripts/pdf_to_text.py,新增 scripts/pdf_to_md.py,主流程现调用 pdf_to_md.py 支持 Markdown 输出与范围参数。 - 工作流极简化:不再使用 subagent 并发,仅顺序处理任务队列,简化整体执行和恢复逻辑。 - 默认数据源限制为 alphaxiv(含 GitHub源)和 GitHub Trending,删除 HuggingFace Papers 并规范发现流程。 - 明确论文处理标准:获取 arXiv ID 后,基于 PDF 生成 markdown,按需提取 `introduction` 或 `all`,并区分类目。 - 环境兼容与降级方案完善,保证尽量多任务完成并在报告中如实说明信息有限情况。 - 统一输出结构和报告规范,成功后自动清理临时文件夹。
v1.0.1
**重大更新:提升并发健壮性、分析自动化和状态恢复能力** - 新增任务状态持久化机制,实现主 agent 启动时状态自动恢复、断点续跑、in_progress 自动回滚为 pending。 - 引入自动超时检查、超时终止、重试(带退避)及最大重试次数等健壮性控制,防止任务卡死。 - 支持分任务并发安全:最多 5 个 subagents,任务完成后自动推进等待队列。 - Subagent 结构化返回分析结果,由主 agent 内存统一汇总(不再分散写 JSONL 文件)。 - 增强主 agent 状态实时原子写入,防止文件损坏。 - 抓取分析条目数提升(arXiv/HF 各10条),任务根据 title 去重。 - 报告结构与分析流程做相应调整,全面提升自动化与可靠性。
v1.0.0
- Initial release of llm-researcher skill: a structured workflow for analyzing and categorizing recent LLM-related papers and projects from arXiv, HuggingFace Papers, and GitHub Trending. - Implements two-stage processing: (1) main agent discovers and queues tasks, (2) up to 5 concurrent subagents analyze items and record structured outputs in JSONL files. - Analysis results are grouped by category and summarized in a Chinese-language Markdown report, including source links and statistics. - Robust state management, concurrency limits, error handling, and file cleanup are built in for reliability and clarity. - Optimized for automated, context-efficient operation with minimal user intervention.
Metadata
Slug llm-researcher
Version 1.0.5
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 6
Frequently Asked Questions

What is llm-researcher?

LLM 论文与项目研究员。分析LLM相关论文和Github项目, 并按指定类目进行分类整理。使用场景:(1) 获取 LLM 领域最新进展,(2) 追踪特定方向的最新研究. It is an AI Agent Skill for Claude Code / OpenClaw, with 357 downloads so far.

How do I install llm-researcher?

Run "/install llm-researcher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is llm-researcher free?

Yes, llm-researcher is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does llm-researcher support?

llm-researcher is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created llm-researcher?

It is built and maintained by runshengdu (@runshengdu); the current version is v1.0.5.

💬 Comments