Education Search 教育学习搜索助手
v1.0.2学历教育与职业培训搜题工具。从习题库中查找习题、真题、试卷等资源,涵盖教资考试、行测、考研真题等各类学历教育和职业培训相关内容。当用户需要查找真题、试卷、教资考题、行测题、考研真题、数学习题等具体考题资源时使用此 skill。
Like a lobster shell, security has layers — review code before you run it.
学历教育与职业培训搜题 Skill
支持教师资格证考试、行政职业能力测验(行测)、学业考试等各类搜题需求。
使用示例
- "帮我找数学练习题"
- "教资考试幼儿保教知识真题"
- "行测图形推理题"
- "考研数学一真题"
⚠️ 执行原则(必须遵守)
所有内部流程都是后台操作,禁止向用户展示!
❌ 禁止向用户展示
- 步骤编号("第 1 步"、"第 2 步"等)
- 查询改写过程
- API 调用细节
- 信息源充足性判断过程
- 兜底逻辑
- 任何内部推理过程
⚠️ 关键规则:条数必须准确
输出格式中的数量描述必须与表格实际展示的条数一致!
| 错误示例 | 正确示例 |
|---|---|
| "找到 13 条资源" 但表格只展示 5 条 | 表格展示 5 条,就说 "找到 5 条资源" |
| "有 20 条相关资源" 但表格只有 8 行 | 表格有多少行,数量就是多少 |
公式:数量描述 = 表格实际行数
✅ 正确做法
- 内部推理使用
<thinking>标签隐藏 - 直接输出最终答案(见下方"输出格式")
- 用户只看到结果,不看到过程
- 数量描述与表格行数严格一致
内部执行流程(不向用户展示)
1. 查询改写
分析用户原始查询,拆分为最多 3 个子查询,用原查询+子查询提高搜索覆盖面。
示例:
-
用户查询:「我是安徽财经大学的,能找到高数的期末考试题吗」
-
拆分子查询:「安徽财经大学 高等数学 期末」「安徽财经大学 高数 期末考试题」「安徽财经大学 高数的期末考试题」
-
用户查询:「我准备考法考,帮我找下资料」
-
拆分子查询:「法律职业资格考试」「法考资料」「法考」
-
用户查询:「我想考山东大学新传专业的研究生 帮我找一些真题」
-
拆分子查询:「山东大学 新传专业 研究生 真题」「山东大学 新闻与传播专业 考研真题」「山东大学 新闻与传播学 考研」
-
用户查询:「教师资格证」
-
拆分子查询:「教资」
2. 调用 API
对原查询和每个子查询调用 API:
curl --location 'http://edu-openapi.baidu.com/exercise_search_online?query={URL编码的查询}&topK=10' --data '{}'
参数说明:
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
query | ✅ | - | 搜索内容 |
topK | ❌ | 30 | 返回结果数量(最大 50) |
返回字段:
| 字段 | 说明 | 输出时映射为 |
|---|---|---|
title | 标题 | 试题(试卷名称) |
exerciseCategoryName | 分类(如:考研) | 分类 |
exerciseSubjectName | 科目(如:数学一) | 科目 |
pdfUrl | PDF 链接 | 资源 |
输出表格字段:来源 | 年份 | 分类 | 科目 | 试题 | 资源
3. 检查信息源是否充足
充足性判断标准(必须同时满足):
| 条件 | 说明 |
|---|---|
| 有结果 | 结果数量 > 0 且有 pdfUrl |
| 主题相关 | 结果与用户查询的主题相关 |
| 条件匹配 | 仅当用户指定了具体年份/科目时,结果中需包含匹配资源 |
⚠️ 关键判断:
| 用户查询类型 | 充足性判断 |
|---|---|
| 未指定年份(如"考研数学真题") | 只要题库有相关资源就算充足 ✅ |
| 指定年份(如"2025年数学题") | 题库必须有 2025 年资源才算充足 ❓ |
| 指定科目(如"数学一真题") | 题库必须有数学一资源才算充足 ❓ |
不充足的情况:结果为空、主题不相关、用户指定了年份/科目但题库缺少匹配资源、无有效链接
处理方式:
- ✅ 充足:进入第 4 步校验结果
- ❌ 不足:必须执行兜底流程(见下方)
3.5 兜底流程(仅当信息源不足时执行)
⚠️ 重要:只有当用户指定了具体条件(年份/科目)且题库缺少匹配资源时,才执行此流程!
不需要兜底的情况:
- 用户查询「考研数学真题」→ 题库返回数学真题 → ✅ 充足,不调用 baidu-search
- 用户查询「建造工程师题」→ 题库返回建造师真题 → ✅ 充足,不调用 baidu-search
需要兜底的情况:
- 用户查询「2025年数学题」→ 题库只有 2023 年数学题 → ❌ 不足,需调用 baidu-search
- 用户查询「教师资格证」→ 题库没有相关资源 → ❌ 不足,需调用 baidu-search
步骤:
- 提取 API 返回中与用户查询主题相关的资源(年份/条件不匹配也没关系),保存备用
- 调用
baidu-searchskill 尝试获取补充资源
baidu-search 调用方式:
python3 /home/gem/.openclaw/skills/baidu-search/scripts/search.py '{"query":"{用户原始查询} PDF"}'
处理 baidu-search 返回结果:
| 返回情况 | 处理方式 |
|---|---|
| 返回有效搜索结果 | 合并到资源列表,进入第 4 步校验 |
返回 Error: BAIDU_API_KEY must be set | 兜底失败,使用备用资源 |
| 返回其他错误或为空 | 兜底失败,使用备用资源 |
| baidu-search skill 未安装 | 兜底失败,使用备用资源 |
baidu-search 返回字段映射:
| 字段 | 说明 | 输出时映射为 |
|---|---|---|
website | 网站名 | 来源 |
title | 标题 | 试题(试卷名称) |
url | 链接 | 资源 |
date | 日期 | 从中提取年份 |
注意:baidu-search 结果的分类和科目需要从标题中推断
兜底失败时的处理:
- 如果有备用资源(主题相关但条件不匹配):进入第 4 步,标记为"部分匹配"
- 如果没有备用资源:进入第 4 步,标记为"完全未找到"
4. 校验结果
校验:年份匹配、链接有效、主题相关。
校验结果分类:
- 完全匹配:满足用户所有条件
- 部分匹配:主题相关但条件不完全满足(如年份不对)
- 完全未找到:无任何相关资源
输出格式(向用户展示)
OpenCLAW 必须用一条消息回复用户,不分段输出。
⚠️ 重要:数量必须准确
输出中的数量描述必须等于表格实际展示的行数!
- 如果表格展示 5 行 → 数量描述就是 5 条
- 如果表格展示 10 行 → 数量描述就是 10 条
- 严禁写 "找到 13 条" 但表格只有 5 行
情况一:完全匹配(找到满足用户条件的资源)
注意:表格中展示多少条资源,数量描述就应该显示多少条。
✅ 为您找到关于「{用户查询}」的 {表格实际条数} 条相关资源:
| 来源 | 年份 | 分类 | 科目 | 试题 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} | {科目} | {试题名称} | [查看PDF]({链接}) |
💡 提示:点击链接即可查看或下载完整资源
💡 如需将这些资源保存到百度网盘,请告诉我,我可以帮您上传并分享链接~
📚 还想搜其他题目吗?无论是考研、教资、行测还是其他考试真题,我都可以帮您查找,随时告诉我您需要的题目类型~
表格字段说明:
- 来源:
题库(来自教育API)或网站名(如新东方网、知乎) - 年份:试题年份
- 分类:考试类别(考研、一级建造师等)
- 科目:具体科目(政治、数学一、英语二等)
- 试题:试卷名称(如
2022年考研政治真题) - 资源:PDF 下载链接
情况二:部分匹配(有相关资源但不完全满足用户指定的条件)
⚠️ 适用前提:用户指定了具体年份/科目,但题库没有完全匹配的资源
示例:
- 用户查询「2025年数学题」→ 题库只有 2023 年数学题 → 部分匹配
- 用户查询「数学一真题」→ 题库只有数学二真题 → 部分匹配
不适用:
- 用户查询「考研数学真题」→ 题库返回数学真题 → ✅ 完全匹配,不进入此情况
处理流程:
- 调用 baidu-search 兜底
- 如果 baidu-search 成功,合并结果
- 如果 baidu-search 失败,展示题库中的相关资源 + API Key 配置提示
重要:
- 只展示有 pdfUrl 的资源,无链接的不展示
- 表格中展示多少条资源,数量描述就应该显示多少条
- 如果 baidu-search 兜底失败,必须展示 API Key 配置提示
输出格式:
📚 您需要的「{用户指定的具体条件}」资料暂未找到。
不过,题库中有以下 {表格实际条数} 条相关资源供参考:
| 来源 | 年份 | 分类 | 科目 | 试题 | 资源 |
|------|------|------|------|------|------|
| {来源} | {年份} | {分类} | {科目} | {试题名称} | [查看PDF]({链接}) |
💡 提示:以上资源虽不是您指定的年份/条件,但主题相关,可供参考练习
💡 如需这些资源保存到百度网盘,请告诉我,我可以帮您上传并分享链接~
---
⚠️ **提示**:百度搜索未配置 API Key,无法获取更多补充资源
**如需百度搜索功能**:
1. 访问 [百度智能云控制台](https://console.bce.baidu.com/qianfan/)
2. 创建应用 → 获取 API Key(格式:`bce-v3/ALTAK-...`)
3. 把 API Key 发给我,我帮你配置
配置完成后,我可以帮你搜索更多资料~
⚠️ 注意:如果 baidu-search 兜底失败(无 API Key),上面的提示必须展示,不可省略!
情况三:完全未找到(无任何有 pdfUrl 的相关资源)
注意:如果是因为 baidu-search 兜底失败(无 API Key、未安装等),必须告知用户原因并引导解决。
📚 您需要的「{用户查询}」资料暂未找到。
**原因说明**:
- ❌ 题库尚未收录此类资源(或无 PDF 下载链接)
- ❌ 百度搜索未配置 API Key,无法补充搜索
**如何获取 API Key**:
1. 访问 [百度智能云控制台](https://console.bce.baidu.com/qianfan/)
2. 创建应用 → 获取 API Key(格式:`bce-v3/ALTAK-...`)
3. 把 API Key 发给我,我帮你配置
配置完成后,我就可以通过百度搜索帮你找到更多资料了~
如果 baidu-search 兜底成功但仍未找到资源:
📚 您需要的资料暂未找到。不过我还可以帮您搜索其他相关资源,比如:考研真题、教资考试、行测题目、英语四六级等,随时告诉我~
使用限制
- 调用次数:每个子查询调用一次 API,最多 3 个子查询
- 过滤无链接资源:只保留有 pdfUrl 的资源展示给用户
- 去重:多个子查询的结果需要去重后展示
- 格式要求:使用表格形式呈现结果,列为:来源 | 年份 | 分类 | 科目 | 试题 | 资源
- 兜底策略:仅当用户指定了具体条件(年份/科目)且题库缺少匹配资源时,才调用 baidu-search
流程总结
| 用户查询 | 题库结果 | 判断 | 行动 |
|---|---|---|---|
| "考研数学真题" | 有数学真题 | ✅ 充足 | 直接展示,不调用 baidu-search |
| "建造工程师题" | 有建造师真题 | ✅ 充足 | 直接展示,不调用 baidu-search |
| "2025年数学题" | 只有 2023 年数学题 | ❌ 不足 | 调用 baidu-search 兜底 |
| "教师资格证" | 无资源 | ❌ 不足 | 调用 baidu-search 兜底 |
| "2025年政治题" | 有政治题但无 2025 年 | ❌ 不足 | 调用 baidu-search 兜底 |
Comments
Loading comments...
