将学校或大学课程表转换为经过校验的 .ics 日历文件。适用于需要从 xls/xlsx、截图、PDF 等格式中规范化并验证课程安排的场景。
Course Scheme Export
功能概述
Course Scheme Export是一项面向实际任务的技能,主要用于将混乱的时间表输入输入到选中的日历导出中;将正确性作为首要目标: 不要默默地推断周范围, 不要跳过非空格, 以及。
核心要点
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
使用与执行
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
课程表导出
将杂乱的课表输入转换为经过校验的日历导出文件。以准确性为首要目标:不得静默推断周次范围,不得跳过非空单元格,且在归一化后的课表未与原始输入完成交叉核对前,不得生成最终的 .ics 文件。推荐采用多轮工作流:先归一化 → 再验证 → 解决歧义 → 再次验证 → 最后导出。
不得假定其他学校的日历日期、课时时间、时区或学期结构适用于当前场景。若用户未提供“第1周锚点日期”、课时时间表、时区,或其他任何实现确定性导出所必需的校本日历设置,请在生成最终 .ics 文件前主动索取。
工作流
收集权威输入源。
必需项:- 至少一个主课表来源
- 课时时间表(period-time table)
- 第1周锚点日期(理想情况下为第1周的周一),若存在任何按周循环的课程,则此项必须提供
可选项: - 用于实验课、补课或周末课程的补充截图
- 第二个课表来源,用于交叉核对
- 此前导出的日历文件或清单(manifest),用于差异比对
若任一必需项缺失,请明确向用户索取,切勿复用此前学校或此前导出中使用的值。
在生成日历输出前,先构建归一化的课表清单(manifest)。
使用references/manifest-schema.md中定义的 Schema。
支持以下两种结构:- 按“星期 + 课时槽位 + 周次集合”为键组织的循环课程组(recurring course groups)
- 按“具体日历日期 + 课时槽位”为键组织的日期限定课程组(dated course groups)
每个课程组应唯一对应以下组合: - 课程名称
- 上课地点
- 循环依据(recurrence basis)
若源单元格中包含多个课程,且其周次规则不同,则需将其拆分为多个课程组。
为每个课程组保留其原始来源信息(source provenance),以便后续审查时可追溯该课程组由哪个输入源引入。
严格保留源内容的字面含义。
- 显式展开明确的范围,例如将
1-8展开为第1至第8周。 - 显式展开奇偶周规则,例如将
9-16 even或5-11 odd展开为对应的所有偶数周或奇数周。 - 将源中明确给出的日历日期直接作为日期限定课程组保留,而非强行套入周次计算逻辑。
- 若源文本存在歧义,应立即中止并显式提示歧义,不得擅自猜测。
- 不安全猜测示例:将
5,9 odd错误地解释为5-9 odd。
- 显式展开明确的范围,例如将
仅当源明确支持时才执行合并。
仅当满足以下全部条件时,方可将连续的课时槽位合并为一个更长的事件:- 课程名称相同
- 教师相同(若已提供)
- 上课地点相同
- 星期相同
- 周次集合相同
否则必须保持分离。
首轮验证:对照原始输入进行校验。
在提出后续问题或执行导出前,须完成以下验证:- 所有非空课表单元格均已纳入处理
- 清单中每个课程组均可由至少一个已准备的源条目解释
- 未遗漏任何课程组
- 第1周周一映射到预期的日历周
- 奇偶周处理方式与源文本一致
- 合并的课时确实来自相邻且匹配的槽位
- 补充截图已明确整合或被显式排除
- 清单中每个派生课程组均附有对应的源引用
当你已完成源条目覆盖检查清单后,运行scripts/check_manifest_coverage.py。将其视为双向覆盖检查: - 每个已准备的源条目必须至少映射到一个清单课程组
- 每个清单课程组必须至少被一个已准备的源条目覆盖
- 若某覆盖条目指定了
source_id,则仅引用该源的清单课程组可满足该条目
通过小轮次问询解决歧义。
每次仅提出当前阻塞问题集中最小必要的一组未解问题。
良好的问询节奏示例:- 第1轮:时区、课时时间表,以及(若存在循环课程)第1周锚点日期
- 第2轮:冲突的周次标注或源间矛盾
- 第3轮:剩余的合并/拆分决策
切勿一次性抛出所有可能问题。仅将彼此关联、且对下一步确定性操作所必需的歧义批量处理。
用户答复后执行第二轮验证。
仅重新校验受用户答复直接影响的课程组,随后再执行一次完整覆盖检查。
若某次修改解决了某一歧义,却引发新的不一致,请立即中止并显式指出。
任何因用户答复导致清单变更后,均需重新运行scripts/check_manifest_coverage.py。生成
.ics文件。
基于归一化后的清单运行scripts/generate_ics.py。
该脚本必须仅依赖 Python 标准库,确保可在典型本地机器上直接运行,无需额外安装依赖。报告结果时需明确列出限制条件(caveats)。
在最终响应中:- 注明输出文件路径
- 指出所有需用户确认的歧义项
- 说明仍存在的任何人工判断环节
- 说明本次导出是否基于单个或多个输入源完成交叉核对
提取规则
- 当主课表来源与截图同时存在时,优先从主来源直接提取,而非依赖 OCR 识别截图。
- 除非截图明显覆盖主课表,否则一律将课表截图视为次要来源。
- 支持在单次任务中处理多个课表输入。典型来源优先级如下:
- 机器可读的课表导出文件(如 CSV / JSON)
- 课表 PDF 或截图
- 关于实验课、周末课或补课的补充通知
- 后续聊天中粘贴的纯文本
- 同时支持循环制学期课表和一次性日期限定课程。
- 若两个来源存在分歧,应同时保留双方主张,直至其中一方被明确解决;不得静默以较晚来源覆盖较早来源。
- 将考勤提醒、先修课警告等备注单独保存为注释(note),不得将其编码为虚假的课程事件。
- 日历事件摘要(summary)应简明扼要;周次规则、教师姓名及警告信息统一放入描述(description)字段。
- 导出步骤优先使用内置工具及 Python 标准库。
- 任何需第三方库的解析器均视为可选组件,而非基础能力。
- 若源提取需安装包,请首先尝试免安装路径。
- 若安装仍是最佳方案,须先征得用户同意,并说明为何内置路径不可行。
歧义处理规则
出现以下任一情况时,必须中止并主动询问用户:
- 标点符号导致周次规则含义不清
- 单元格混合多个上课地点,但无清晰的周次划分
- 补充图像与主课表存在冲突
- 源中给出了周次编号,但未提供第1周锚点日期
- 源中给出了课时编号,但未提供起止时间
- 时区缺失,且无法从上下文安全推断
- 正确性依赖于校本节假日、补课规则或学期边界等特定信息
- 源中混合了按周循环课程与明确日历日期课程,且未说明优先级
- 两个课表来源对同一课程组的描述不一致
- 某课程在一个来源中出现,却在另一来源中消失
- 同一课程出现在相邻课时槽位中,但元数据略有差异,导致合并存在风险
若信息已在源中明确给出,且可确定性地归一化,则无需提问。
在具体阻塞点全部解决前,不得提出宽泛的兜底式问题(例如“还有其他需要注意的吗?”)。
常见陷阱
执行非简单导出任务前,请务必通读 references/pitfalls.md,并将其作为起飞前检查清单(pre-flight checklist)。
需避免的常见错误包括:
- 因前一单元格已提过相同课程而遗漏非空单元格
- 将格式错误的周次字符串强行“美化”为看似合理但实际不支持的范围
- 遗漏跨课时槽位课程的后半部分
- 未经核实即将在一个学期中使用的课时时间套用于另一学期
- 仅完成一轮验证即执行导出
- 混淆周末课程或实验课的来源归属
- 将第三方 Python 依赖硬编码进核心导出路径
参考资料
references/manifest-schema.md
编写归一化课表清单(manifest)或审阅他人清单前,请务必阅读此文档。references/coverage-schema.md
准备源条目覆盖检查清单时,请参考此文档。references/pitfalls.md
提取前及最终导出前均需再次阅读。scripts/generate_ics.py
用于将归一化后的清单 JSON 文件确定性地转换为.ics文件。scripts/check_manifest_coverage.py
用于强制保障已准备源条目与清单课程组之间的双向覆盖关系。
最小交付物
若用户仅需指导,切勿生成文件。请提供:
- 你仍缺少的输入项
- 完整的歧义列表
- 下一步确定性操作
若用户要求完成导出,则应执行归一化并生成 .ics 文件,而非仅描述流程。
热门AI工具
相关专题
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章