--- name: research description: 检索 paper_server 中的论文、书籍和书籍章节,获取题录、DOI、摘要及可用的 PDF/XML 全文。适合跨学科文献发现、精确文献查找和引文核验;材料领域可与 documents 并用。 --- # Research `research` 是 zcbot 对独立 `paper_server` 项目的客户端适配。`paper_server` 以 OpenAlex 元数据为基础,并按记录实际可用性提供摘要、PDF 或 XML;当前语料以英文为主,也包含中文文献。 ## 选择与协作 - 跨学科发现、题名或 DOI 检索、出版类型识别:优先使用 `research`。 - 材料领域全文语义检索、性能或工艺数据:优先使用 `documents`。 - 系统调研、综述或重要引用:可同时查询两者;按 DOI 去重,无 DOI 时按规范化题名、作者和年份去重。 - 用户已提供具体文件:直接读取;用户只提供题录而任务要求核验论断时,继续获取摘要或全文。 论文、书籍和书籍章节均可检索。是否读取摘要、XML 或 PDF,由用户问题所需的证据深度决定。 ## 调用方式 通过 `run_python` 使用 helper: ```python from skills.research.paper import search, get_paper, fetch_pdf, fetch_xml ``` - `search(keyword="", year=None, year_gte=None, year_lte=None, doi="", first_author="", publication_name="", has_pdf=None, is_oa=None, limit=10)`:搜索题录,返回类型、题名、作者、年份、期刊或出版物、DOI、摘要及全文可用状态。 - `get_paper(id_or_doi)`:按 `paper_server` ID 或 DOI 获取单条完整记录。 - `fetch_xml(id_or_doi, working_dir)` / `fetch_pdf(id_or_doi, working_dir)`:把可用全文下载到当前任务的 `papers/` 目录并返回相对路径。 helper 自动使用 `PAPER_SERVER_API_KEY` 和可选的 `PAPER_SERVER_URL`。通过 helper 访问 `paper_server`,由它处理认证、URL 和下载路径。 ## 工作流 1. 将用户概念转换为常用专业术语;英文题名占多数时优先使用英文,并可用中文或同义词补充。 2. 用主题、年份、作者、出版物或 DOI 搜索并筛选候选;`type` 可帮助识别论文、书籍和章节。 3. 相关性初筛可使用题名和摘要;精确论断、数据、章节、图表或页码应获取足够正文。 4. 结构化段落和参考文献通常适合读取 XML;版式、页码、公式和图表通常适合读取 PDF。只获取记录实际提供的格式。 5. 与 `documents` 并查时合并去重,输出中区分“仅题录”“摘要已核对”“全文已核对”。 ## 失败与真实性 - 认证或网络失败时,明确说明 `paper_server` 当前不可用;认证失败需要管理员检查 zcbot 的 `PAPER_SERVER_API_KEY` 配置。 - DOI 未命中、全文格式缺失或服务器文件不存在时,可改查其他候选或使用现有摘要,不把“已收录”写成“已读全文”。 - 未命中时可调整术语和过滤条件;没有新增检索思路时如实说明覆盖不足。 - 只引用返回记录中的真实题名、作者、DOI 和正文,不推测缺失的 ISBN、出版社、版本、页码或内容。