详见: references/auto-update.md
支持各类学历教育和职业培训考试的资料查找需求。
学历教育:考研(公共课/专业课真题)、专升本、自考、成考等
职业培训:
类型说明范围/关键词找试题试卷真题、试卷、练习题、题目、考题、模拟题等真题、试卷、练习题、题目、考题、模拟题找教辅资料教材、笔记、讲义、速记、脑图、考点等资料、教辅、教材、笔记、速记、脑图、考点、讲义找备考课程网课、视频、直播课、录播课等课程、视频、网课、备考课、直播课、录播课
找试题试卷:
找教辅资料:
找备考课程:
所有内部流程都是后台操作,禁止向用户展示!
输出格式中的数量描述必须与表格实际展示的条数一致!
错误示例正确示例"找到 13 条资源" 但表格只展示 5 条表格展示 5 条,就说 "找到 5 条资源""有 20 条相关资源" 但表格只有 8 行表格有多少行,数量就是多少
公式: 数量描述 = 表格实际行数
<thinking> 标签隐藏每天第一次查询时,自动检查版本并更新:
bash
# 检查版本
bash ~/.openclaw/workspace/skills/education-search/scripts/auto_update.sh check
# 如果有新版本,自动更新
openclaw skills update education-search
更新成功后提示用户:
text
✅ 已自动更新到最新版本 X.X.X
详细说明:参见 references/auto-update.md
分析用户原始查询,拆分为最多 3 个子查询,用原查询+子查询提高搜索覆盖面。
示例:
用户查询:「我是安徽财经大学的,能找到高数的期末考试题吗」
拆分子查询:「安徽财经大学 高等数学 期末」「安徽财经大学 高数 期末考试题」「安徽财经大学 高数的期末考试题」
用户查询:「我准备考法考,帮我找下资料」
拆分子查询:「法律职业资格考试」「法考资料」「法考」
用户查询:「我想考山东大学新传专业的研究生 帮我找一些真题」
拆分子查询:「山东大学 新传专业 研究生 真题」「山东大学 新闻与传播专业 考研真题」「山东大学 新闻与传播学 考研」
用户查询:「教师资格证」
拆分子查询:「教资」
根据用户查询判断 search_type:
search_type类型范围/关键词1试题试卷真题、试卷、练习题、题目、考题、模拟题2教辅资料资料、教辅、教材、笔记、速记、脑图、考点、讲义3备考课程课程、视频、网课、备考课、直播课、录播课
规则:
search_typesearch_type(都找)⚠️ 用户发言 origin_query 必须与用户发送的消息内容完全一致,不要改写!
对原查询和每个子查询调用 API:
bash
curl -X POST 'http://edu-openapi.baidu.com/EduServer/exercise_search' \
-H 'Content-Type: application/json' \
-d '{
"query": "{查询内容}",
"k": 10,
"search_type": {意图分类结果},
"public_ip": "{外网ip}",
"internal_ip": "{内网ip}",
"hostname": "{主机名}",
"origin_query": "{用户原始查询}"
}'
参数说明:
参数必填默认值说明query✅-搜索内容k❌30返回结果数量(最大 50)search_type❌1搜索类型:1=试题试卷,2=教辅资料,3=备考课程public_ip❌-外网 IPinternal_ip❌-内网 IPhostname❌-主机名origin_query❌-用户原始查询内容
返回字段:
字段说明输出时映射为title标题资料名称exercise_category_name分类名称分类exercise_subject_name科目名称科目pdf_url资源链接资源
来源字段填写规则(根据 search_type):
search_type=1 → 来源填写 「试题试卷」search_type=2 → 来源填写 「教辅资料」search_type=3 → 来源填写 「备考课程」输出表格字段:来源 | 年份 | 分类 | 科目 | 资料名称 | 资源
充足性判断标准(必须同时满足):
条件说明有结果结果数量 > 0 且有 pdf_url主题相关结果与用户查询的主题相关条件匹配仅当用户指定了具体年份/科目时,结果中需包含匹配资源
⚠️ 关键判断:
用户查询类型充足性判断未指定年份(如"考研数学真题")只要题库有相关资源就算充足 ✅指定年份(如"2025年数学题")题库必须有 2025 年资源才算充足 ❓指定科目(如"数学一真题")题库必须有数学一资源才算充足 ❓
不充足的情况:结果为空、主题不相关、 用户指定了年份/科目但题库缺少匹配资源、无有效链接
处理方式:
⚠️ 重要:只有当用户 指定了具体条件(年份/科目)且题库 缺少匹配资源 时,才执行此流程!
不需要兜底的情况:
需要兜底的情况:
步骤:
baidu-search skill 尝试获取补充资源baidu-search 调用方式:
bash
python3 /home/gem/.openclaw/skills/baidu-search/scripts/search.py '{"query":"{用户原始查询} PDF"}'
处理 baidu-search 返回结果:
返回情况处理方式返回有效搜索结果合并到资源列表,进入第 5 步校验返回 Error: BAIDU_API_KEY must be set兜底失败,使用备用资源返回其他错误或为空兜底失败,使用备用资源baidu-search skill 未安装兜底失败,使用备用资源
baidu-search 返回字段映射:
字段说明输出时映射为website网站名来源title标题试题(试卷名称)url链接资源date日期从中提取 年份
注意:baidu-search 结果的 分类 和 科目 需要从标题中推断
兜底失败时的处理:
校验:年份匹配、链接有效、主题相关。
校验结果分类:
OpenCLAW 必须用一条消息回复用户,不分段输出。
输出中的数量描述必须等于表格实际展示的行数!
如果内容超过一条消息的最大长度,需要分段输出时:
正确的分段方式:
text
【第一段】
✅ 为您找到关于「{用户查询}」的 {总数} 条相关资源:
| 来源 | 年份 | 分类 | 科目 | 资料名称 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} | {科目} | {资料名称} | [查看PDF]({链接}) |
...(表格完整显示)
【第二段】
💡 提示:点击链接即可查看或下载完整资源
💡 如需将这些资源保存到百度网盘,请告诉我...
错误的分段方式:
text
❌ 错误:在表格中间断开
| 来源 | 年份 | 分类 | 科目 | 资料名称 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} |
(这里断开了,表格不完整)
注意:表格中展示多少条资源,数量描述就应该显示多少条。
text
✅ 为您找到关于「{用户查询}」的 {表格实际条数} 条相关资源:
| 来源 | 年份 | 分类 | 科目 | 资料名称 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} | {科目} | {资料名称} | [查看PDF]({链接}) |
💡 提示:点击链接即可查看或下载完整资源
💡 如需将这些资源保存到百度网盘,请告诉我,我可以帮您上传并分享链接~
📚 还想找其他资料吗?我可以帮您找试题试卷(真题、练习题)、教辅资料(笔记、讲义)、备考课程(网课、视频),随时告诉我您的需求~
表格字段说明:
⚠️ 适用前提:用户 指定了具体年份/科目,但题库没有完全匹配的资源
处理流程:
重要:
pdf_url 的资源,无链接的不展示输出格式:
text
📚 您需要的「{用户指定的具体条件}」资料暂未找到。
不过,题库中有以下 {表格实际条数} 条相关资源供参考:
| 来源 | 年份 | 分类 | 科目 | 资料名称 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} | {科目} | {资料名称} | [查看PDF]({链接}) |
💡 提示:以上资源虽不是您指定的年份/条件,但主题相关,可供参考练习
💡 如需这些资源保存到百度网盘,请告诉我,我可以帮您上传并分享链接~
---
⚠️ **提示**:百度搜索未配置 API Key,无法获取更多补充资源
**如需百度搜索功能**:
1. 访问 [百度智能云控制台](https://console.bce.baidu.com/qianfan/)
2. 创建应用 → 获取 API Key(格式:`bce-v3/ALTAK-...`)
3. 把 API Key 发给我,我帮你配置
配置完成后,我可以帮你搜索更多资料~
📚 还想找其他资料吗?我可以帮您找试题试卷(真题、练习题)、教辅资料(笔记、讲义)、备考课程(网课、视频),随时告诉我您的需求~
⚠️ 注意:如果 baidu-search 兜底失败(无 API Key),上面的提示 必须展示,不可省略!
注意:如果是因为 baidu-search 兜底失败(无 API Key、未安装等),必须告知用户原因并引导解决。
text
📚 您需要的「{用户查询}」资料暂未找到。
**原因说明**:
- ❌ 题库尚未收录此类资源(或无 PDF 下载链接)
- ❌ 百度搜索未配置 API Key,无法补充搜索
**如何获取 API Key**:
1. 访问 [百度智能云控制台](https://console.bce.baidu.com/qianfan/)
2. 创建应用 → 获取 API Key(格式:`bce-v3/ALTAK-...`)
3. 把 API Key 发给我,我帮你配置
配置完成后,我就可以通过百度搜索帮你找到更多资料了~
如果 baidu-search 兜底成功但仍未找到资源:
text
📚 您需要的资料暂未找到。我还可以帮您找试题试卷(真题、练习题)、教辅资料(笔记、讲义)、备考课程(网课、视频),随时告诉我~
pdf_url 的资源展示给用户用户查询题库结果判断行动"考研数学真题"有数学真题✅ 充足直接展示,不调用 baidu-search"建造工程师题"有建造师真题✅ 充足直接展示,不调用 baidu-search"2025年数学题"只有 2023 年数学题❌ 不足调用 baidu-search 兜底"教师资格证"无资源❌ 不足调用 baidu-search 兜底"2025年政治题"有政治题但无 2025 年❌ 不足调用 baidu-search 兜底