/install query-papers
Skill: query_papers — paper-kb 查询知识库
用途
用户用自然语言提问时,从其专属的 Gitea 知识库中找到相关内容,生成有依据、 带来源链接的回答。采用两阶段检索:先读目录定位,再精读相关页面, 避免知识库变大后撑爆上下文。
触发条件
Activate when(满足任一):
- 用户在查找自己存过的内容:"有没有关于……的论文/文献/资料"、"找一下……"、 "查一查……"、"我之前存过……吗"、"知识库里有什么"。
- 用户要求基于知识库做分析:"总结一下我存的关于……的方法"、 "对比一下知识库里的几种……方案"。
- 上一轮查询后的追问:"第二篇详细讲讲"、"那篇论文的结论是什么"。
Do NOT activate when:
- 用户在存文档(有 arxiv 链接/PDF + 存储意图)→ 交给 ingest_paper。
- 用户问的是通用知识而非查自己的库(如"什么是强化学习"、"帮我解释一下PID") → 不调用本 Skill,直接正常回答。区分依据:问题是否指向"我存过的/知识库里的"内容。 拿不准时可以先查库,库里没有再正常回答。
- 用户未注册 → 先走 init_user。
前置依赖
- current_user_open_id:从消息上下文 sender 获取,传给脚本
--open_id。 - 本 Skill 根目录需有
.env(GITEA_URL / GITEA_ADMIN_TOKEN / GITEA_BOT_USERNAME)。
完整执行流程
Step 1:读取知识库目录(第一阶段检索)
python3 scripts/kb_read.py --open_id \x3Copen_id> --list all
输出包含:
research_direction:用户研究方向(回答时可作为背景)documents[]:每篇文档的 title / keywords / brief / score / fileconcepts[]、resources[]:每个页面的 name / brief / filebase_url:拼接页面链接用(链接 = base_url + file)repo_url:知识库首页链接
边界处理:
user_not_registered→ 转交 init_user 流程。documents为空 → 回复:"你的知识库还是空的~发一篇 arxiv 链接或 PDF 给我就能开始积累了!" 流程终止。
Step 2:判断相关页面(你自己完成)
根据用户问题和目录里的 title/keywords/brief,列出相关页面,不限数量但精读 上限8个。选择优先级:
- 概念页优先:问题命中某个概念(如问"力控制有哪些方法"而 concepts 里有 "力控制")→ 概念页本身就是跨文档综合好的答案,优先精读。
- 资源页:问题在找数据集/工具/开源项目时优先。
- summary 页:按 keywords 和 brief 的匹配程度挑选。
- 相关页面超过8个时:精读最相关的8个,其余的在回答中仅以"标题+一句话"列出。
如果目录里没有任何相关内容:诚实告知"你的知识库里暂时没有与「××」直接 相关的内容",可以基于你自己的知识简要回答问题(明确标注"以下是通用知识, 非来自你的知识库"),并建议用户存入相关论文。不要假装知识库里有内容。
Step 3:精读相关页面(第二阶段检索)
对 Step 2 选中的每个页面:
python3 scripts/kb_read.py --open_id \x3Copen_id> --read "\x3Cfile路径,如 concepts/力控制>"
输出含 content(页面全文)和 page_url(可点击链接)。
Step 4:生成回答(你自己完成)
基于精读的内容回答用户问题。要求:
- 全部中文,先给综合回答(直接回应问题,不要罗列式开头)。
- 涉及具体文档时注明来源,每个引用的文档/页面都附上 page_url 链接。
- 不同文档结论冲突时,如实指出冲突(概念页的"矛盾与待解决问题"一节是线索)。
- 只基于知识库内容回答;知识库没覆盖的部分明确说"知识库中未涉及"。
回复格式参考(按实际情况灵活调整,不要生硬套模板):
📌 \x3C直接回答用户的问题,1-3段综合论述>
📚 相关内容:
1. 《\x3C标题>》(相关性:高)
\x3C这篇与问题的关系,1-2句>
🔗 \x3Cpage_url>
2. ……
(如果引用了概念页)
🧠 概念页「\x3C概念名>」已综合了 \x3CN> 篇文档对此主题的论述:🔗 \x3Cpage_url>
Step 5:记录查询历史(不阻塞)
python3 scripts/log_query.py --open_id \x3Copen_id> --question "\x3C用户问题>"
无论成功失败都不影响回答。本步可与 Step 4 并行或在回复后执行。
追问处理
用户追问某篇文档细节时:直接用 Step 3 精读那篇(如还没读过),基于全文回答。 本次会话中已精读过的页面内容可直接复用,不必重复调用。
错误处理总则
- 脚本输出单行 JSON;
success: false时按message处理,不把原始报错给用户。 - Gitea 连不上等系统故障:告知用户"知识库暂时无法访问,请稍后再试或联系管理员"。
- 绝不编造知识库中不存在的文档、结论或链接。
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install query-papers - 安装完成后,直接呼叫该 Skill 的名称或使用
/query-papers触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Query Papers 是什么?
从你的专属Gitea知识库中检索相关论文内容,提供有依据且带链接的详细回答和文献分析。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 45 次。
如何安装 Query Papers?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install query-papers」即可一键安装,无需额外配置。
Query Papers 是免费的吗?
是的,Query Papers 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Query Papers 支持哪些平台?
Query Papers 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Query Papers?
由 myd2002(@myd2002)开发并维护,当前版本 v1.0.0。