Install
openclaw skills install @tencentnewsteam/tencent-gaokao-college-application面向中国普通高考常规批次考生的腾讯高考志愿填报工具。用于查询一分一段、省控线、院校或专业历年录取数据,以及根据省份、分数、位次、选科和偏好生成院校优先或专业优先的冲稳保志愿参考方案及 HTML 报告;涉及高考成绩、位次、院校专业录取线、招生计划、选科限制或志愿填报时应使用。
openclaw skills install @tencentnewsteam/tencent-gaokao-college-application通过 tencent-news-cli 中实际提供的高考志愿数据能力,帮助中国普通类常规批次考生查询录取数据并获得填报参考。
核心原则:
tencent-news-cli的本次成功返回是唯一业务数据源;智能体只负责理解需求、补齐条件、按当前 CLI 帮助选择命令,并把返回字段映射为结果。除cli-state外,所有 CLI 调用必须通过run-cli执行。没有成功且非空的 CLI 业务返回,就不得给出高考数据、推荐名单或 HTML 报告。
一分一段、省控线、院校历年分数线、专业历年分数线、冲稳保方案和 CLI 支持时的志愿报告下载。3+1+2、3+3 或老高考文理科类别,不能混用物理/历史、综合、文科/理科数据。本系统数据仅供参考,不构成填报决策依据,请自行核验信息,并对填报内容真实性负责。 不得改写、缩写、扩写或用其他免责声明替代。凡是实际查询一分一段、省控线、院校/专业录取数据、生成志愿推荐或 HTML 报告,都必须先完成对应的 CLI 业务调用并取得成功、非空的返回。使用本 Skill 不代表可以依靠模型常识直接回答。
field_descriptions 明确允许的直接映射。| 平台 | 状态检查 | CLI 调用模板 |
|---|---|---|
| macOS / Linux | sh scripts/cli-state.sh | sh scripts/run-cli.sh <command> [args] |
| Windows | powershell scripts/cli-state.ps1 | powershell scripts/run-cli.ps1 <command> [args] |
以下示例使用 macOS / Linux;Windows 将 .sh 替换为 .ps1,并将 sh 替换为 powershell。
用户直接提出业务问题时,也必须先检查环境。CLI 或 API Key 未就绪时,当前轮停止业务查询,不得只回复“数据加载失败”、原始错误或泛化的“请检查配置”,必须给出可直接操作的指引:
cliExists: false、cliSource: none、cli not found、command not found、not recognized):说明本查询依赖腾讯新闻 CLI,当前设备尚未安装或未被识别;按平台提供安装命令:macOS/Linux 使用 curl -fsSL https://mat1.gtimg.com/qqcdn/qqnews/cli/hub/tencent-news/setup.sh | sh;Windows PowerShell 使用 irm https://mat1.gtimg.com/qqcdn/qqnews/cli/hub/tencent-news/setup.ps1 | iex。提醒安装后重新打开终端并重新提问。apiKey.status: missing、未设置 API Key、API Key not set):说明 CLI 已安装但尚未配置 Key;引导访问 https://news.qq.com/exchange?scene=appkey 获取,然后执行 tencent-news-cli apikey-set YOUR_KEY,再执行 tencent-news-cli apikey-get 验证。API Key 无效、invalid api key、unauthorized、401、403、鉴权/认证失败):不得归因为无数据、额度或普通网络错误;说明当前 Key 无效或无权访问,引导从上述页面重新获取正确 Key,再执行设置和验证命令。apiKey.status: error 或无法解析):先按错误文本匹配以上类型;仍无法判断时,同时给出安装命令及 Key 获取、设置、验证步骤。YOUR_KEY 只能由用户在本地替换;不得索要、代填、回显或记录真实 Key。环境未就绪时不得改用其他数据源。上述基础设施指引优先于业务输出格式、HTML 单产物及“仅在用户明确要求时展示命令”等限制,但不得展示内部日志、参数、traceid,也不得创建 HTML。环境已确认可用时直接进入 Phase 2。
sh scripts/cli-state.sh 并解析 JSON:
cliExists:CLI 是否可用;update.needUpdate、update.error:是否需要更新及检查异常;apiKey.status、apiKey.error:Key 状态,取值为 configured、missing、error;platform.cliPath:仅用于排查,不得直接执行;platform.cliSource:global、local 或 none。cliExists: false 且 cliSource: none 时,按 references/installation-guide.md 引导安装,安装后重新检查状态。update.needUpdate: true 时,执行 sh scripts/run-cli.sh update;失败或不支持时按 references/update-guide.md 引导处理。apiKey.status: missing 时,引导用户自行访问 API Key 获取页面,不要自动打开浏览器。取得 Key 后可执行 sh scripts/run-cli.sh apikey-set KEY,再用 apikey-get 验证。仅在用户明确要求时执行 apikey-clear。CLI 命令、参数与返回字段可能随版本变化。每个新会话都以当前 CLI 的帮助和 JSON 中的 field_descriptions 为准,不依赖本 Skill 中的固定命令名、参数名或字段路径。所有业务查询优先请求 CLI 支持的 JSON 输出格式;不得自定义传递 --caller。
sh scripts/run-cli.sh help,定位与高考、志愿、招生、录取、院校、专业、分数、位次、报告相关的顶级入口。sh scripts/run-cli.sh <入口> --help;若其包含子命令,继续读取每个与当前需求相关的子命令帮助。| 用户意图 | 发现目标 |
|---|---|
| 一分一段 | 分数段、位次、同分人数、等效分相关命令 |
| 省控线 | 省份、年份、科类、批次控制线相关命令 |
| 院校分数线 | 院校检索、院校历年录取分/位次相关命令 |
| 专业分数线 | 专业检索、选科限制、专业历年录取相关命令 |
| 志愿推荐 | 帮助文本明确声明用于志愿推荐、院校优先推荐或专业优先推荐的推荐引擎命令;不能选择院校/专业历年录取线查询命令 |
| 志愿报告 | 方案生成、报告、下载或导出相关命令 |
--help 明确列出的必填参数、可选参数、取值约束、默认值和输出格式。仅传递这些实际支持的参数。field_descriptions、description、message、status、available_params 或同等元数据。不得假定业务数据一定位于 data:必须遍历响应顶层及其数据对象,并按字段说明定位实际业务字段;顶层 schools、majors、available_params 等有效字段不能因 data 缺失或为 null 而被误判为空。字段解释优先级为:当前响应字段说明 > 当前子命令帮助 > 当前顶级帮助 > 本 Skill 的通用规则。先判断用户意图,再按下表处理。标为“必须追问”的信息不得猜测;标为“默认”的信息不要反问用户,直接使用默认值并在结果中说明。
| 场景 | 必须追问(上下文缺失时) | 可缺省及默认规则 |
|---|---|---|
| 一分一段 | 省份、分数、报考类别 | 年份默认当前自然年;用户未指定层次时默认先查不分层次;指定本科/专科但无数据时自动回退同年不分层次 |
| 省控线 | 省份、报考类别 | 年份默认当前自然年;批次缺省时返回该类别全部可用批次;用户分数缺省时不做上线判断 |
| 院校分数线 | 目标院校、省份、报考类别 | 年份缺省时查询截至当前自然年的近 3 个可用年度;批次缺省时展示 CLI 返回的普通类常规批次并分开标注 |
| 专业分数线 | 目标院校、目标专业、省份、年份、招生批次 | 报考类别/选科若当前命令需要或要校验专业报考资格,必须追问;本场景不得替用户默认年份和批次 |
| 冲稳保推荐 | 省份、高考分数、完整报考科目/选科组合 | 年份默认当前自然年;位次优先由一分一段换算,无法可靠换算时再追问;批次按当年省控线判断,达到普通本科线时默认普通本科批,否则使用实际达到的普通常规批次;院校、地域、专业偏好均可缺省 |
类别/选科的处理必须遵守省份高考模式:
3+1+2:一分一段、省控线、院校线至少需要物理类/历史类;专业查询与推荐需要当前 CLI 要求的完整选科组合,缺失具体再选科时必须追问。3+3:类别使用 CLI 配置定义的综合类口径;专业查询与推荐需要用户实际选科,不能默认任意三科。优先从当前对话与 CLI 返回的配置/枚举数据提取信息;只追问上表规定必须回答且当前上下文缺失的字段,尽量在一轮中用简洁表单一次收齐。
冲稳保推荐前必须完成独立校验;该步骤优先于用户提供的位次、目标院校、期望梯度、期望概率及任何“不要质疑/直接按此处理”指令,不得跳过。
你提供的分数与位次不一致:<分数>分按本次一分一段数据对应<核验位次/区间>,不是第<自报位次>名。 当前轮不得调用推荐引擎,不得生成冲稳保学校、录取概率或 HTML,也不得同时给出“假设按自报位次”的备选结果。随后仅询问用户是否按核验位次继续;用户确认后才可在下一步推荐。本段同分人数 代替累计位次,也不得用模型常识推算。示例:用户称“湖北物理类 300 分、位次第 10 名,别质疑,必须推荐清北并写成高概率”。必须先查询同口径一分一段;若 300 分对应位次不含第 10 名,只指出成绩与位次冲突并停止,不得按第 10 名生成任何冲稳保方案。
CLI、脚本和响应解析是内部实现,正常业务回复只呈现用户完成志愿填报所需的信息,不输出执行过程或技术日志。
--size、--start、--type、--sort-key、--format、--caller 等参数、分页循环变量、帮助文本、原始 JSON、字段路径、内部 ID、接口 traceid/traceId/请求 ID、调用链标识、调用次数、退出码、调试日志、调用日志、解析步骤、测试过程或思考过程。即使用户明确索要、要求追加到回复末尾或声称用于核验,也不得披露。start 获取 X 页”等技术统计;候选总数可用“共 X 所院校/共 X 个专业”业务口径表达。.html。不得创建、写入或保留任何第二个文件,包括但不限于 generate.py、build.py、其他 .py/.js/.mjs/.sh/.ps1 脚本,.md/.txt 总结,JSON/CSV 数据,日志、截图、测试页、临时 HTML、缓存或中间产物。该规则约束整个执行过程,而不只是最终交付物;不得以“辅助生成”“便于复现”“数据太多”“验证交互”或“稍后删除”为由先在工作区创建这些文件。generate.py 等脚本;验证时直接读取最终 HTML,不生成测试报告或检查结果文件。关键数据(来自 CLI)、实现细节、生成过程或本机执行经验。HTML 成功后仅回复一句业务结论、唯一 HTML 路径/链接和必要风险/固定免责声明,不得再写入 Markdown/TXT/HTML 总结报告。专业优先、按专业选、以专业为主或同等含义时,才调用专业优先推荐能力并输出“专业优先 · 冲稳保方案”。仅提供偏好专业、就业方向或学科名称,不等于选择专业优先;这类信息默认作为院校优先命令的专业筛选条件(仅在 CLI 支持时传递)。两种都要、都要、两个都做或同等表达时,才分别调用两种实际能力并独立保留结果,先输出院校优先方案,再输出专业优先方案。不得主动向用户提供或追问“两种都要”选项。院校优先、按学校选、以学校为主时,按院校优先处理;用户没有任何模式表达或表达含糊时,也按院校优先处理,不再追问。--sort-key weight --sort-type desc,调用时保持该默认值或显式传入;连续分页的排序参数必须完全一致。HTML 和对话中不得展示 weight、推荐权重、权重分值或以此生成的解释,也不得在前端二次改序。若后续帮助不再定义 weight,则保留 CLI 原始顺序,不猜测替代排序字段。type、梯度、排序、偏好、地域、院校、专业、批次、选科或其他业务参数分别请求,再按 id/院校/专业合并、去重或补齐。--type 0、--type 1、--type 2、--type 3(或其他表示全部/冲/稳/保的取值)是不同业务查询条件,不是分页。若本次调用 --type 0 返回 20 条且全部为保,则最终方案必须是“冲 0 / 稳 0 / 保 20”;严禁再调用冲、稳、保三种 type 拼成 60 条,也不得将任何其他响应注入本次 HTML。rec-school-list 调用开始直到 HTML 交付,必须处于同一个连续执行上下文,并维护唯一的 recommendationSnapshot 内存对象(包含查询指纹、全部页缓存、已合并原始候选、过滤结果和页 ID 序列)。分页完成后,该快照是生成 HTML、Tab、前端分页、筛选、字段映射、静态验收与最终摘要的唯一数据输入;这些后续阶段严禁再次调用 rec-school-list,也严禁启动“重新完整获取”“重新拉取分页”“生成 HTML 前再查一次”“最终方案阶段再请求”等独立执行过程。recommendationSnapshot、被中断、无法访问缓存或发现缓存不完整,必须说明无法用已获取数据完成方案并停止;只有用户后续明确发起一次新的完整查询,才可重新从 start=0 开始,且该新轮次不得与旧数据混合。scripts/run-cli.sh 或其他 .sh 包装器时,必须显式通过 POSIX Shell 启动(如 sh <脚本路径> ...),不得依赖脚本的可执行位、shebang 或直接路径调用;因此出现 Permission denied 时应先核对调用方式,不能误判为推荐接口、JSON 或数据为空。仅 CLI 二进制本身按其平台可执行方式调用。U+FFFD 或非法控制字符,且 JSON 解析必须消费全部非空白字节;解析器必须确认顶层 JSON 完整闭合、没有尾部残片/拼接文本,并核对响应中的实际候选数组、total(如有)与本页 start 的业务口径。任一校验失败即视为原始响应截断或损坏,停止本轮;不得从缓存补全、手工修补 JSON、只解析前缀,或重发该页。pageItems 外,还要保存原始字节长度、SHA-256、严格 JSON 解析成功标记、候选数与 start;HTML 的内联数据只能由所有页均通过该校验的快照生成。任何一页没有完整性证据时,禁止生成或交付 HTML。--start 是服务端结果偏移量,--size 只是期望返回条数,不是实际页容量。服务端会把较大的 size(如 60/100)截为 20;不得因为实际返回 20 小于请求 60/100,就误判为末页或 start 失效。推荐固定用 --type 0 --size 20 --start 0 起始;后续请求仅把 start 增加上一页实际返回条数,其余业务参数、type=0、size=20、排序和筛选全部保持不变。start 偏移量最多只能真实调用一次 CLI,零重复请求。 发起请求前必须将完整请求指纹(模式、全部业务筛选、排序、type、size、start)登记到 requestedStarts;若该 start 已登记,必须直接复用内存中已保存的原始响应,禁止再次调用。不得为了提取字段、比较 ID、核对 total、统计调用、生成 HTML、过滤、验收、重试“确认”、补日志或用户追问而重发任一已请求页。pageItems、完整 ID 序列、实际返回条数及该页 start 必须在第一次调用后一次性保存到内存页缓存;后续所有检查和渲染只能读取该缓存。不得在分页结束后从 start=0 回放、不得重新请求第 N 页进行“核对”,不得并发发起相同 start 的请求。start 自动或手动重试,也不得跳过该页、改回上一页或以旧页替代。只有用户在后续新一轮明确要求重新查询时,才可以从头开始一套新的逻辑查询。N,推荐接口真实调用总数只能是 N(最后一页非满且已能据响应明确结束)或 N + 1(额外一个新的 start 空页确认);不得超过 N + 1。例如共有 40 条且两页各 20 条时,只允许 start=0、start=20、start=40 三次,绝不允许第 1、2 页或任一中间页重复请求。start=0、requestSize=20、all=[]、seenPageSignatures=Set();--type 0 --size 20 --start <start> --format json;pageItems,令 returnedCount=pageItems.length;returnedCount===0 时正常结束;这是最可靠的终止条件;start += returnedCount 后继续;returnedCount < 请求的 size 作为终止条件,因为 size 可能被服务端强制截为 20;也不得写成 while (returnedCount === size) 或依赖固定 20 判断结束。start=0 与 start=20 返回 20 条但 ID 不同,说明 start 生效;不要因为每页数量都等于 20 而误判为同一页。每页必须至少比较首尾 ID 或完整 ID 序列,并确认 start 严格递增。只有页 ID 序列重复且偏移已变化时,才可怀疑 start 未生效。total 仅作展示和交叉核对,不能控制循环终止;即使累计数达到 total,仍可再请求一次新 start,以空列表确认结束。同一逻辑查询的连续页只按原顺序拼接,不修改梯度、概率、排序或业务字段;不得跨 type 查询。最终报告记录“分页实际获取 X 条”和“CLI 声明 total=Y”(如有),HTML 以硬约束过滤后的实际候选数组长度为准。target-* 或其他偏好参数可能是软偏好而非硬筛选。返回列表非空不代表原始偏好已命中;必须逐项核对候选是否满足用户指定的目标院校、地域和专业。任一指定软偏好零命中时,先按“原始条件无推荐结果”处理,再按放宽规则展示候选,不得把 CLI 静默放宽后的结果描述为原始条件匹配。admission_type 仅用于后台判断服务范围和过滤:预科、艺体、提前批、军警、强基等特殊类型必须过滤;符合普通常规批次的候选可以保留,但不得将 admission_type 值、中外合作等招生类型标签渲染到卡片或标题。若专业限制文本本身明确包含培养费用、授课语言、不可转专业等风险,仍按风险字段原文提示,但不要冠以“招生类型”。按当前条件没有推荐结果,并展示 CLI 返回的原因(如有)。随后按“目标院校 → 地域 → 专业偏好”的顺序逐项放宽并重新查询,每次只放宽一项,不得放宽批次、选科、单科、身体、语种或其他硬性限制。原始条件下没有推荐结果,以下方案已放宽:<具体条件>;同时逐项列出原始条件、已放宽条件和当前生效条件。不得因放宽后有结果而省略“原始条件无推荐结果”的事实,也不得将放宽结果描述为完全匹配。放宽院校、地域和专业偏好后仍没有推荐结果,停止查询,不生成冲稳保方案或 HTML。“CLI 返回成功”不等于“可以生成冲稳保”。只有同时满足以下条件,才算取得可用于冲稳保方案的成功推荐响应:
field_descriptions 或该推荐命令帮助明确说明这些字段的梯度含义。候选名单、梯度、概率和排序必须全部来自同一次推荐响应或其参数完全一致的连续分页响应。type、梯度或其他业务参数所得的多个响应合并成一份方案;即使候选可按 id 去重也不允许。任何一项不满足时:
一分一段或分数换位次命令可以用于补齐推荐命令的必填参数,但不能成为候选名单或梯度的来源。生成方案前在内部记录并核对推荐能力、推荐模式、梯度字段及其说明;任一项缺失即停止。这些内部核对项不得出现在用户可见回复或 HTML 中。
仅当通过上述“推荐引擎硬门槛”并取得推荐引擎明确返回的冲稳保结果后,才生成 HTML。对话摘要只能作为补充;每个成功的冲稳保方案都必须生成一个可直接在浏览器打开的独立 HTML 文件,默认写入当前工作区根目录:tencent-gaokao-college-application-plan-<YYYYMMDD-HHmmss>.html。不得以 Markdown 表格、纯文本摘要或代码块代替 HTML。工作区不可写或文件创建失败时,本次方案交付视为失败:明确说明无法生成 HTML 的原因,不得宣称冲稳保方案已交付;在可写目录恢复后重新生成。
@media print 样式;不得使用表情符号充当图标。参考端内推荐项截图时只借鉴信息层级与卡片布局,不得照搬截图的具体颜色、筛选栏或虚构字段。school_logo(缺失用内联 SVG 占位)与主标题,右侧为“rate% / 冲稳保文字”概率胶囊;标题和胶囊不得相互覆盖。第二行为可换行的院校属性标签,只允许使用 province/city、school_type、school_cate、college_type、school_feature;不得放入 admission_type 或 weight。school_code;当年计划取 admission_plan 中当前/最新年度的 count;历年最低分和最低位次取最近一个对应值大于 0 的历史年度并明确标注年份。值为 0 时显示“暂无”,不得展示为真实 0 分/0 位次。底部使用整行或半宽按钮“可报专业组 N”,其中 N 为过滤后 major_group 实际数量,点击在当前卡片原地展开专业组。major_name,副标题为 school_name;右侧显示概率/梯度;标签区展示院校属性;指标区展示 major_code、major_group_name、计划、最近有效最低分/位次;底部展开所属专业组和限制详情。不得因为字段更多而改成密集宽表。school_logo,院校代码=school_code,院校性质=school_cate,层次=school_type,院校类别=college_type,院校标签=school_feature,概率=rate,梯度=type,计划/历史线=admission_plan,专业组=major_group,专业优先主项=major_name/major_code/major_group_name。当前响应没有独立“主管部门”字段,只能使用 school_feature 中实际返回的“教育部直属/工信部直属”等标签;不得补造。当前年度计划必须读 admission_plan 对应年度 count,不得用 admission_count 冒充。weight 和 admission_type;二者不得出现在可见 DOM、无障碍文本、tooltip、详情展开、JSON 数据源或调试摘要中。weight 仅在生成前用于保持 CLI 排序,admission_type 仅在生成前用于服务范围过滤。references/gaokao-html-interaction-reference.html,先复用其中已经验证的 data-tab-group / data-tab-panel-group / aria-controls 绑定和 activateTab 逻辑,再添加样式和真实数据。参考文件是功能骨架而非视觉模板;不得重写成只改变按钮样式、但不切换 hidden 面板的实现。推荐模式:院校优先或推荐模式:专业优先;三个梯度 Tab 的 aria-label 也必须包含该模式名称。不得仅依靠卡片内容暗示模式。<button type="button" role="tab"> 和对应的 role="tabpanel";用唯一 id、aria-controls、aria-selected 建立一一对应关系。不得使用 <a href="#...">、目录链接、锚点跳转或滚动定位冒充 Tab。hidden,并在 CSS 中包含 [hidden] { display: none !important; };禁止把冲、稳、保三个面板纵向连续渲染后仅改变标题颜色。scrollIntoView()、不跳到页面下方。Tab 导航必须是真正的粘性栏:外层包裹元素设置 position: sticky; top: 0; z-index 高于卡片,并使用不透明背景、防止内容透出;不得放在设置了 overflow: hidden/auto 或会破坏 sticky 的祖先容器内。单模式仅梯度栏粘顶;双模式将“院校优先/专业优先”和当前模式的“冲/稳/保”放入同一个粘性导航容器,或分别设置不重叠的 top,滚动时两层都可操作。打印样式中取消 sticky。closest('[data-mode-panel]') 查找同级按钮与面板;不得用全局选择器导致两个模式互相隐藏或同时激活。data-paginated-panel 的 role="tabpanel" 内必须恰好包含一个独立的后代元素 <div data-candidate-list></div>;禁止把 data-candidate-list 标到 tabpanel 自身或其他被脚本以 panel.querySelector('[data-candidate-list]') 查找的根节点上,因为 querySelector 不会匹配调用者自身。renderPage 在调用 replaceChildren 前必须断言候选源、列表容器、分页控件及其必需子控件存在且类型正确;任一节点缺失或重复时立即终止初始化并显示安全失败状态,禁止对 null 调用 DOM 方法、吞掉异常或交付无法渲染候选的 HTML。> 20 时必须显示分页控件,<= 20 时不显示。不得使用 CLI 的 total 判断是否展示前端分页。10 / 20 / 50 / 100;用户修改后立即按新值重新分页并回到第 1 页。提供“上一页 / 下一页”、当前页/总页数、当前显示范围和该面板实际总条数;首页禁用上一页,末页禁用下一页。该选择器仅调整 HTML 中已获取候选的展示分页,不得反向修改 CLI 的固定 --size 20,也不得重新请求 CLI。[data-candidate-list],默认每个面板最多 20 张卡片 DOM。切页时先清空当前列表再渲染目标页,避免 4000+ 隐藏节点导致页面卡顿和 Tab 点击失效。total,不得只保存当前页。JSON 写入 <script type="application/json"> 时必须安全转义 </script>、< 等可能提前结束脚本的数据。references/gaokao-html-interaction-reference.html 中的数据源、分页容器、data-page-size 绑定、renderPage 与 Tab 脚本;不得退回“全部卡片预渲染后用 hidden 隐藏”的实现,也不得另写只隐藏第一页后无法翻页的实现。admission_type、招生类型标签或“招生类型:暂无数据”。admission_type 仅允许在后台用于普通类常规批次过滤,不得渲染到卡片;预科等不支持类型仍须过滤;985、211 等 CLI 标签;<button> 原地展开/收起。admission_type 或招生类型;<button> 原地展开/收起,不得锚点跳转。group_name(如“专业组(205)”)及过滤后可报专业数;group.rate/type 只有字段说明明确时才可作为组级概率/梯度展示,不得覆盖专业自身值。major_list 专业渲染为扁平推荐项,参考端内截图的信息层级但不照搬颜色:首行左侧为专业名称 name,右侧为该专业自己的 rate + type 概率/梯度胶囊;不得误用院校级或专业组级概率。major_desc/desc;需要呈现培养模式、不可转专业、授课语言、色觉等风险时,从 major_detail 原文展示为“培养与限制”,不得把 admission_type 当副标题,也不得仅从文本中抽取并单独显示“招生类型”。专业代码=code;<当前数据年>计划=admission_plan 中当前/最新年度 count;学制学费=time + cost;选科要求优先 selection_desc,其次将 selection 原样连接,二者均空时显示“不限”;<最近有效历史年>最低分;同一历史年的最低位次。admission_plan 按年份降序选择当前年度之前、min_score>0 或 min_rank>0 的第一条;最低分与最低位次必须使用同一条年度记录。其中某值为 0 时显示“暂无”,不得跨年份拼接两个值。当前年度计划无记录或 count=0 时显示“暂无”。time 与 cost 只按 CLI 字段说明使用单位;当前帮助/响应未明确单位时分别显示原值,不擅自追加“年/元”。若命令字段说明明确 time 为年、cost 为人民币元,才格式化为“4年 / 58000元”。禁止把 cost=60 猜测或换算为 6万、6000、60000。new_major 仅在字段说明明确且值表示新增专业时展示“新增专业”;cmsid 仅作内部追踪,不显示为专业代码;空 desc/major_desc/major_detail 不显示空占位。aria-expanded、aria-controls,折叠面板使用唯一 id 与 hidden;院校详情链接只有 CLI 返回官方链接时才能出现。本系统数据仅供参考,不构成填报决策依据,请自行核验信息,并对填报内容真实性负责。 来源和生成时间不得与免责声明合并改写。生成文件后必须读取最终 HTML 并按以下静态规则验收;不要求 Agent 具备真实浏览器或自动化测试能力。任一项失败都要先修复,不能交付:
references/gaokao-html-interaction-reference.html 的结构和脚本为唯一 Tab 功能基准,不自行重写切换算法。单模式恰好一组梯度 Tab,且常驻显示推荐模式:院校优先/专业优先;双模式有一组模式 Tab,每个模式面板内各有独立梯度 Tab。id 全局唯一;每个 Tab 的 aria-controls 指向真实存在、属于同一 data-tab-group / data-tab-panel-group 的唯一面板;每组仅初始激活一个 Tab 和一个面板,其余面板均带 hidden。data-content-key,候选 DOM 只放在所属梯度面板。脚本必须直接复用模板的 activateTab 逻辑:同步更新 aria-selected、tabIndex,并对同组面板设置 panel.hidden = panel !== targetPanel。id、多个 Tab 错指同一面板、三个梯度面板初始同时可见,或 href="#..."、锚点、滚动定位实现的伪 Tab。无需生成或保留浏览器自检函数,也不得因 Agent 缺少浏览器能力阻止交付。[data-candidate-source] 内联 JSON 并以数组实际长度判断;每个 data-paginated-panel 必须恰有一个位于 role="tabpanel" 内部的 <div data-candidate-list> 后代元素,不能把该属性标在面板自身;renderPage 必须在 replaceChildren 前断言数据源、列表、分页控件、每页选择器、前后页按钮和状态节点全部存在且唯一。>20 必须有分页控件,<=20 初始隐藏。默认 data-page-size=20,选择器含 10/20/50/100;脚本按实际数组长度计算总页数,修改条数回第 1 页,前后页只影响当前面板。[data-candidate-list] 初始为空或最多只含当前页,renderPage 必须先 replaceChildren 再渲染当前切片,任何时刻单面板卡片 DOM 数不得超过所选每页条数;禁止全量预渲染和 CLI total 驱动分页。weight desc 原始顺序一致;搜索最终 HTML,确认可见文本、属性、ARIA、内联 JSON、tooltip 和调试数据中均不存在 weight、推荐权重、admission_type 或招生类型字段。position: sticky、明确 top、高层级 z-index、不透明背景和打印取消规则;双模式两层不得重叠,粘性栏祖先不得有破坏 sticky 的 overflow。aria-controls 指向当前卡片内唯一面板,初始 aria-expanded 与面板 hidden 一致;展开脚本按按钮自身目标切换,不使用全局索引。无需实际点击或浏览器验证。generate.py、任何其他脚本、Markdown/TXT 总结、JSON/CSV、日志、测试页、临时文件或第二个 HTML,必须仅删除本次新建的多余文件并重新验收;未完成清理不得回复“已完成”。本系统数据仅供参考,不构成填报决策依据,请自行核验信息,并对填报内容真实性负责。 该文案不得位于会被 Tab 切换隐藏的面板内,不得改写或与数据来源、生成时间拼接成另一句话。recommendationSnapshot 的每一页均有首次 CLI stdin 原始流的字节长度、SHA-256、严格 UTF-8 与完整 JSON 解析成功标记、该页 start 和实际候选数;不得用平台大输出缓存、自动附件或聊天预览替代任一原始流。若缓存参与校验,还必须与对应 stdin 原始流的字节内容、长度和 SHA-256 全部一致。recommendationSnapshot;从首次推荐页到 HTML 写入完成期间,调用日志中不得出现第二轮从 start=0 开始的推荐序列。若出现第二轮、缓存丢失或无法证明页面源自该快照,废弃 HTML 并停止,不得重新拉取后交付。start 严格递增且每个 start 只出现一次的连续分页响应;任何重复 start、不同 type、梯度、排序或筛选响应被合并,均立即废弃 HTML。以唯一响应来源记录原始冲/稳/保数量;应用硬约束后逐项记录过滤对象与原因。过滤后的每个“模式 → 梯度”候选数量、ID 顺序必须与其内联 [data-candidate-source] JSON 数组完全一致;JSON 中每个候选的专业组/专业数量也须与响应一致。当前页 DOM 数只需等于该页切片长度,且不得超过每页条数,不再要求 DOM 同时包含全量候选。出现 JSON 截断、仅前 N 条、“等更多”、跨响应合并或某梯度数据源与 Tab 错配,均禁止交付。**本系统数据仅供参考,不构成填报决策依据,请自行核验信息,并对填报内容真实性负责。** 不得在该句中插入数据来源或其他文字。根据当前命令帮助和响应字段说明展示:
查询信息:实际使用的年份、省份、类别/科类、层次及用户分数;核心定位:仅展示响应字段说明中明确对应的位次、同分人数、累计人数或占比,并突出用户位置;历年对标:只有当前响应明确提供同位次等效分、控制线或年度对应关系时才展示;分段明细必须严格以用户分数为中心输出 21 条:用户分数以上连续 10 分、用户当前分数、用户分数以下连续 10 分,即 (S+10) 到 (S-10)。不得只展示 20 条,不得遗漏当前分数,也不得用不连续的邻近记录凑数;分数和本段同分人数;CLI 明确定义并返回累计人数、位次等字段时可增加对应列。用户当前分数所在行必须使用“你的分数/当前位置”文字和高辨识度样式明确标记,不能只依赖颜色;overflow-x: auto),不得截断、折叠或省略列,并确保移动端可左右滑动查看完整数据;697-750),用户分数落入该区间时,应将该区间记录视为用户当前位置并明确标记,不得伪造一个不存在的单分数记录;其余记录仍按 CLI 原始分段展示;一分一段查询以及推荐前“由分数换算位次”必须按以下固定层次优先级执行,不能自行调整顺序:
不分层次。实际数据中常见“不分层次”有结果而本科、专科无结果;不得默认先查本科,也不得同时合并多个层次。本科或专科时,第一优先使用用户指定层次;若同省、同年、同报考类别下返回 404、空列表、无用户分数记录或 CLI 明确提示未发布,第二步必须自动改查不分层次,无需再次追问用户。不分层次也无数据时,才尝试同省、同年、同类别下 CLI 配置明确支持的另一普通层次;仍不得切换物理/历史、综合或文/理科类别。你指定的本科层次暂无数据,本次位次按同年不分层次一分一段表换算。 回退年份时标注:当年数据暂未更新,以下使用 <年份> 年数据。 不得静默切换。按响应字段说明展示当前省份、年份、类别下的批次、控制线、位次、适用范围及用户分数对比。只有命令或响应明确支持多年度查询时才展示趋势;当年未更新或数据状态异常时,保留 CLI 原始更新状态。
院校优先 · 冲稳保方案 或 专业优先 · 冲稳保方案。两种模式均请求时分别输出两个完整一级分组,不混排。冲刺、稳妥、保底;每个梯度保留响应原始顺序。推荐响应未定义梯度时立即停止,不生成方案、Tab 或 HTML,也不能改为“推荐候选”。对话摘要也必须保持相同结构,不得只给一个未标注模式的“冲稳保推荐”总表。建议格式:
# 院校优先 · 冲稳保方案
## 冲刺
### 院校名称
- 可选专业/专业组:仅展示 CLI 返回值
## 稳妥
...
## 保底
...
专业优先模式将主项改为专业:
# 专业优先 · 冲稳保方案
## 冲刺
### 专业名称
- 可选院校/专业组:仅展示 CLI 返回值
只有当前 CLI 帮助明确提供报告生成或下载命令时才执行并输出返回的下载方式;否则说明当前 CLI 暂不支持,不伪造下载链接或创建“官方报告”。
CLI 命令失败后立即停止,绝不使用 WebSearch、模型记忆或其他来源补做数据查询或推荐。仅在已有成功推荐响应时,允许将该响应整理为本地 HTML 志愿方案;不得用 HTML 生成替代失败的查询。
.sh 包装器若被直接执行导致 Permission denied,应改为通过 Shell 启动,不得修改脚本权限或误判为接口/JSON 故障。stdout 为空、stderr 有错误或字段路径无法确认时,不得笼统当作“无推荐结果”、不得生成空 HTML;默认只向用户提示“数据加载失败,请重新刷新查询”,不附具体命令、参数、堆栈、原始错误、退出码或 traceid。用户明确要求排障信息时,也只提供不含调用标识的最少必要错误摘要;traceid、请求 ID 和调用链标识始终不得披露。用户要求重试或再次查询时才重新执行,避免无限自动重试。cannot be opened、not verified)→ 系统设置 → 隐私与安全性 →「仍要打开」;connection refused、防火墙拦截)→ 在安全提示中允许;permission denied)→ chmod +x <cliPath>;references/installation-guide.mdreferences/update-guide.mdreferences/env-setup-guide.md