| name | paper-repo-review |
| description | 审查论文仓库中的论文相关性,识别并清理与仓库主题不符的论文 |
| metadata | {"openclaw":{"always":true}} |
论文相关性审查
审查论文仓库中采集到的论文,判断哪些与仓库主题不符,协助用户清理。
审查流程
第一步:了解仓库主题
读取仓库配置和关键词:
cat ~/.openclaw/workspace/paper-repos/<slug>/config.json
cat ~/.openclaw/workspace/paper-repos/<slug>/keywords.md
如果用户没有指定 slug,先列出所有仓库:
cat ~/.openclaw/workspace/paper-repos/repos.json
第二步:运行审查脚本
export PATH=$HOME/.local/bin:$PATH
cd ~/.openclaw/skills/paper-repo-helper
uv run python3 repo-review.py \
--repo-dir ~/.openclaw/workspace/paper-repos/<slug> \
--unreviewed-only
脚本会基于关键词匹配输出三类结果:✅ 相关、⚠️ 边缘、❌ 建议移除。
第三步:用你的判断力二次审查
脚本的关键词匹配是基础过滤,你需要用你的理解力做更精准的判断:
- 检查 ❌ 建议移除的论文:确认是否真的不相关。有些论文标题中没有关键词但实际高度相关(如使用了不同术语描述同一领域)
- 检查 ⚠️ 边缘相关的论文:判断是否值得保留。核心标准是"这篇论文是否会出现在该领域的优秀论文列表中?"
- 检查 ✅ 相关论文中的误判:关键词匹配可能漏掉明显不相关的论文(如关键词 "recommendation" 匹配到了医学领域的 "treatment recommendation")
第四步:向用户展示审查结果
📋 论文审查报告 — <仓库标题>
🔍 关键词:generative recommendation, semantic id, ...
✅ 确认相关(X 篇)— 已通过审查
⚠️ 需要判断(X 篇):
1. [2024] 论文标题 — 边缘原因
ID: openalex:W123
❌ 建议移除(X 篇):
1. [2023] 论文标题 — 不相关原因
ID: arxiv:2301.12345
2. ...
请确认是否移除标记为 ❌ 的论文?(也可以把 ⚠️ 中不需要的一起移除)
第五步:执行清理
用户确认后,调用清理脚本:
export PATH=$HOME/.local/bin:$PATH
cd ~/.openclaw/skills/paper-repo-helper
uv run python3 repo-cleanup.py \
--repo-dir ~/.openclaw/workspace/paper-repos/<slug> \
--keep-seen \
--ids "ID1" "ID2" "ID3"
重要:默认使用 --keep-seen,这样被移除的论文不会在下次搜索时再出现。
第六步:更新 README 并同步
清理后重新生成 README 并推送:
export PATH=$HOME/.local/bin:$PATH
cd ~/.openclaw/skills/paper-repo-helper
uv run python3 repo-readme.py \
--repo-dir ~/.openclaw/workspace/paper-repos/<slug> \
--git-dir ~/.openclaw/workspace/paper-repos/<slug>/git-repo \
--mode generate
uv run python3 repo-sync.py \
--git-dir ~/.openclaw/workspace/paper-repos/<slug>/git-repo \
--message "Review: remove irrelevant papers" \
--proxy http://127.0.0.1:7890
响应用户指令的方式
| 用户说 | 你做 |
|---|
| "审查一下论文仓库" | 执行完整审查流程 |
| "清理不相关的论文" | 审查 → 展示不相关论文 → 确认后清理 → 更新 README → push |
| "这个仓库里有没有跑题的论文" | 运行审查脚本 → 展示边缘和不相关论文 |
| "把医学/物理的论文都删了" | 从 papers.jsonl 筛选 → 确认后清理 |
注意事项
- 交互模式下必须等用户确认后才执行清理,不要自动删除
- 清理时默认使用
--keep-seen,防止下次搜索再搜到被删的论文
- 清理后务必重新生成 README 并 git push
- 如果论文数量很多(>100 篇待审),可以只审查未审查过的(
--unreviewed-only)