From 84d388d8f6bf4ec589fdf26074014e1fdeea3bbd Mon Sep 17 00:00:00 2001 From: Research Assistant Date: Tue, 12 May 2026 00:11:24 +0800 Subject: [PATCH] fix(literature-qa): prefer glob over resolve-key for quick key lookup, remove rg dependency --- paperforge/skills/literature-qa/SKILL.md | 17 +++++++++-------- .../literature-qa/references/multi-reading.md | 6 +++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/paperforge/skills/literature-qa/SKILL.md b/paperforge/skills/literature-qa/SKILL.md index 0fdb5465..50518dac 100644 --- a/paperforge/skills/literature-qa/SKILL.md +++ b/paperforge/skills/literature-qa/SKILL.md @@ -98,11 +98,12 @@ Vault: $VAULT ### 确定性命令 — 优先使用 -| 场景 | 命令 | -| ---------------------- | ------------------------------------------------------------------------------------------ | -| 按 key 定位论文 | `$PYTHON -m paperforge.worker.paper_resolver resolve-key --vault "$VAULT"` | -| 按 DOI 定位论文 | `$PYTHON -m paperforge.worker.paper_resolver resolve-doi "" --vault "$VAULT"` | -| 按字段搜索论文 | `$PYTHON -m paperforge.worker.paper_resolver search --title "..." --author "..." --year ... --domain "..." --vault "$VAULT"` | +| 场景 | 命令 | 原因 | +| ---------------------- | ------------------------------------------------------------------------------------------ | ---- | +| 按 key 快速找文件 | `glob("$LIT_DIR/**/.md")` 或用 `Get-ChildItem "$LIT_DIR" -Recurse -Filter ".md"` | 不需要 $PYTHON,最快 | +| 按 key 查完整信息 | `$PYTHON -m paperforge.worker.paper_resolver resolve-key --vault "$VAULT"` | 返回 frontmatter 字段 (analyze, ocr_status 等) | +| 按 DOI 定位论文 | `$PYTHON -m paperforge.worker.paper_resolver resolve-doi "" --vault "$VAULT"` | DOI 无法用文件系统快速匹配 | +| 按字段搜索论文 | `$PYTHON -m paperforge.worker.paper_resolver search --title "..." --author "..." --year ... --domain "..." --vault "$VAULT"` | 结构化搜索,含相关性打分 | | 精读 prepare | `$PYTHON "$SKILL_DIR/scripts/ld_deep.py" prepare --key --vault "$VAULT"` | | 精读 postprocess | `$PYTHON "$SKILL_DIR/scripts/ld_deep.py" postprocess-pass2 --figures --vault "$VAULT"` | | 精读 validate | `$PYTHON "$SKILL_DIR/scripts/ld_deep.py" validate-note --fulltext ` | @@ -114,9 +115,9 @@ Vault: $VAULT | ------------------------ | ----------------------------------------------------------- | | 按关键词模糊搜索全部文献 | 读 `$IDX_PATH` 的 JSON,筛 `title` / `abstract` / `journal` | | 按 collection 筛选 | 读 `$IDX_PATH`,筛 `collection_path` 字段 | -| 读论文全文 | 已通过 resolve-key 拿到 `fulltext_path` → 直接 read | -| 读精读笔记 | 已拿到 `formal_note_path` → read 的 `## 🔍 精读` 区域 | -| 遍历笔记做批量统计 | `rg $LIT_DIR/ --include '*.md'` | +| 读论文全文 | 已找到 `fulltext.md` 路径(glob 或 resolve-key) → 直接 read | +| 读精读笔记 | 已找到 formal note 路径 → read 的 `## 🔍 精读` 区域 | +| 遍历笔记做批量统计 | `Get-ChildItem "$LIT_DIR" -Recurse -Filter "*.md"` + 读 frontmatter 或 `find "$LIT_DIR" -name "*.md"` | | **禁止的操作** | **根据 vault-knowledge 示例拼接路径、把目录名写死在文件路径里** | --- diff --git a/paperforge/skills/literature-qa/references/multi-reading.md b/paperforge/skills/literature-qa/references/multi-reading.md index 091e4530..c47f15a3 100644 --- a/paperforge/skills/literature-qa/references/multi-reading.md +++ b/paperforge/skills/literature-qa/references/multi-reading.md @@ -38,10 +38,10 @@ 对每篇选定文献: -1. `$PYTHON -m paperforge.worker.paper_resolver resolve-key --vault "$VAULT"` → 获取 workspace 路径 +1. 用 glob 找到 formal note:`glob("$LIT_DIR/**/.md")`(最快,不需要 $PYTHON) 2. 读 formal note frontmatter → 元数据 -3. 如果有 `fulltext.md` → 读 Abstract、Results、Discussion -4. 如果有 `ocr_status == "done"` 但 fulltext 内容太长 → 先读 caption + figure 描述定位关键段落 +3. 同目录下找 `fulltext.md` → 读 Abstract、Results、Discussion +4. 如果有 OCR 但 fulltext 太长 → 先读 caption + figure 描述定位关键段落 5. 如果没有 fulltext → 如实告知用户,仅基于已知信息 ### Step 3: 写 Reading Log(JSON → MD)