招考公告检索(gaodun-notice-search)
基于 search_notice MCP 工具,从高顿公考业务系统检索官方招考公告,帮助用户了解哪些公告正在/即将/已经开放报名。
触发场景
与报考答疑的边界(先判这条):用户仅问"XX 什么时候考试/考试科目/报考条件/备考"等政策常识、查询里没有「公告」「通知」「公告汇总」等字样时(如"2026 年事业单位联考什么时候考试?"),属报考答疑场景——即使出现"联考""统考""年份+考试类型"等特征也不得触发本技能,本技能检索的是公告列表而非政策常识。仅当用户要看公告本身(查公告、汇总公告、问公告状态等)时才使用:
- 用户查询某省份 / 某类型的招考公告,如"2026 年公务员安徽的公告有哪些"
- 用户要求汇总多省联考公告,如"2026 年多省联考公告汇总"
- 用户想从公告中了解报名时间、招录人数、考试大纲、报考流程
- 用户想区分已发布 / 待发布公告,或按"即将截止""招考人数多"排序
核心能力
- 多维检索:按年份、考试地区、招考状态、考试业务类型组合筛选官方招考公告
- 标题搜索:支持按公告标题关键词检索(
keyword入参,支持跳字匹配,如"联考"可命中含"多省联考"的公告标题) - 多省汇总:一次查询聚合多个省份的公告,可区分"汇总公告"(SUMMARY,聚合多个子公告) 与"普通公告"(NORMAL,单条)
- 要点提炼:对返回的公告列表提炼关键信息(发布状态、报名时间、招录人数等),剔除冗余内容,便于用户快速阅览
- 灵活排序:支持"最新""即将截止""招考人数多"三种排序
调用方式
调用 search_notice 工具,所有参数均为可选,不传则不限制:
| 参数 | 类型 | 说明 |
|---|---|---|
| keyword | string | 公告标题搜索关键词,跳字匹配:标题需包含关键词里的每一个字,顺序不限,如"公务员联考"可命中"2026年多省联考公考汇总专题"。⚠️ 传了 keyword 即进入标题搜索模式,上游会忽略 exam_type_list、area_list、target_year、recruitment_status 等全部筛选条件(互斥,接口既定行为)——需要组合筛选时不要传 keyword |
| target_year | string[] | 年份列表,必须传 JSON 数组:✅ ["2026"]、["2026","2025"];❌ "[\"2026\"]"(数组套引号变成字符串)、"2026"(裸字符串) |
| area_list | string[] | 考试地区,必须传 JSON 数组:✅ ["安徽省"]、["安徽省","上海市-上海市"];❌ "[\"安徽省\"]"(数组套引号变成字符串)、"安徽省"(裸字符串)。元素格式 "省-市-县/区"、"省-市" 或 "省",用 - 连接层级;省级名称不能用简写,如必须写"安徽省"而非"安徽" |
| recruitment_status | string[] | 招考状态,必须传 JSON 数组(即使只有一个元素):✅ ["报名中"]、["报名中","即将截止"];❌ "[\"报名中\"]"(数组套引号变成字符串)、"报名中"(裸字符串)。仅可填:"即将报名"、"报名中"、"即将截止"、"报名结束"、"全部";传 ["全部"] 或不传均表示不限 |
| exam_type_list | string[] | 考试业务类型,必须传 JSON 数组(即使只有一个元素):✅ ["公务员"]、["事业单位","教师"];❌ "[\"公务员\"]"(数组套引号变成字符串)、"公务员"(裸字符串)、4(数字 id)。取值为自然语言名称,仅可填:"公务员"、"事业单位"、"银行"、"国企"、"军队文职"、"教师"、"医疗"、"选调"、"遴选"、"选调生"、"三支一扶"、"大学生村官"、"基层工作者"、"公益性岗位"(同义词"事业编"、"教师编"、"教师招聘"、"医疗卫生"也可识别) |
| sort_type | string | 仅可填:"最新"、"即将截止"、"招考人数多",不传默认"最新"。仅支持这三种排序,其他排序方式(如按报名时间、按地区等)一律拒绝 |
| page | int | 页码,从 1 开始,传数字(如 1),不要传字符串 "1" |
| page_size | int | 每页条数,最大 50,传数字(如 20),不要传字符串 "20" |
使用流程
1. 解析用户意图,构造查询条件
- 公告标题关键词(如"多省联考""选调公告")→
keyword。⚠️ keyword 与其他筛选条件互斥:用户既给了关键词又给了地区/类型等条件时,二选一——要么只传 keyword,要么放弃关键词改用纯筛选,不能组合 - 省份 →
area_list(补全为行政区划全称,如"安徽"→"安徽省") - 考试类型 →
exam_type_list(直接传自然语言名称,如"国企"→["国企"],不要转成数字 id) - 年份 →
target_year - 报名状态 →
recruitment_status - 排序需求("哪个快截止"→"即将截止","哪个招人多"→"招考人数多")→
sort_type - 翻页 →
page(不是 page_num)
2. 调用并组织结果
- 返回列表中
SUMMARY类型的为汇总公告(聚合多个子公告),NORMAL为单条普通公告 - 向用户呈现时:按公告列出核心字段(名称、地区、类型、招考状态、报名时间、招录人数等),并附关键要点提炼
- 多省联考场景:明确标注各公告属于已发布还是待发布(由招考状态字段判断)
3. 结果为空时
返回提示文本时,建议放宽筛选条件后重试,并告知用户可去掉某些筛选维度。
展示规则(强制)
- 查多少显示多少:
page_size传多少就完整展示多少条公告,禁止多查之后只挑一部分展示(用户翻下一页会错位);用户想看更多时传page=2翻页重查,page_size保持不变 - 主要信息(必显示):公告标题、报名状态、报名时间
- 次要信息(有需要/有值时展示):公告标签、地区、岗位数、招考人数、考试科目等
- 字段值为空时直接跳过该字段,不显示"暂无""无"等占位符
- 不得编造或添加返回结果中不存在的字段(如发布时间、浏览量等)
- 多条公告时,用分隔线(---)清晰分隔,每条公告独立展示
注意事项
- 地区名必须使用完整行政区划名称("安徽省"而非"安徽"、"上海市"而非"上海"),市/县/区层级可选
- 招考状态与考试业务类型取值必须与上文完全一致,否则可能查不到结果或服务端报错
- 排序仅支持
"最新"/"即将截止"/"招考人数多"三种 - 所有数组类型参数(target_year、area_list、recruitment_status、exam_type_list)必须传真正的 JSON 数组,即使只有一个元素:正确写法
["2026"]、["安徽省"]、["公务员"]。错误写法(均会被服务端拒绝或静默忽略):"公务员"(裸字符串)、{"item": "公务员"}(对象包装)、"[\"公务员\"]"(把数组序列化成字符串——最常见错误,数组外面套了引号就是错的) exam_type_list传自然语言名称("国企"),不要传数字 id(4);分页参数名是page(不是page_num),page/page_size传数字(1、20),不要传字符串("1"、"20")keyword为公告标题搜索关键词,跳字匹配(标题需包含关键词里的每一个字,顺序不限)。⚠️ keyword 与其他筛选条件互斥:传了 keyword,上游会忽略 exam_type_list、area_list、target_year、recruitment_status 等全部筛选条件;用户同时给关键词和筛选条件时,只传 keyword 并在结果里人工对照,或去掉关键词改用纯筛选模式- 用户未明确省份/类型时,不自行猜测,按用户原话原样传入或先询问
禁止行为(强制遵守)
- ❌ 禁止引申工具不支持的参数/功能:当用户提出工具不支持的需求时(如某种排序/筛选方式),不得说"试试XX参数/可以用XX",应直接说明当前支持的选项
- ❌ 建议后续操作时禁止推荐别的工具或技能:只说明操作本身,不得说"可使用XX工具/建议用XX技能"
- ❌ 查询无结果时禁止暴露内部实现:结果为空时只用用户视角话术告知未找到匹配结果(如「暂时没有找到匹配的公告,建议调整筛选条件后再试试」),禁止出现「接口未命中」「接口未返回数据」「数据源无数据」等任何提及接口、工具、MCP、服务或系统内部实现的表述
- ❌ 工具/MCP 未连接或调用异常时禁止告知用户:不得向用户提及「MCP 未连接」「工具调用失败」「服务异常」「接口报错」等技术细节,只以用户视角话术回复(如「暂时没能获取到相关信息,请稍后再试」),也不得基于推测编造数据