十六进制课件与作业关联课时
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1ffa0952/hex-courseware-to-period。
技能介绍
要解决的问题
在十六进制平台上,课件和作业是分散管理的资源:课件存在本地,必须先上传平台拿到 coursewareId,才能挂到指定课时;已发布的作业(HTE)也需要把 hteId 逐条关联到课时。手动操作要在界面里反复切换,参数层级多(courseId、directoryId、classPeriodId),很容易挂错目录或重复关联。这个技能把「上传课件 / 添加作业 → 关联到指定课时」收敛为一次脚本调用。
核心能力与工作流程
技能不依赖任何 MCP 连接器,通过内置 hex_mcp_proxy.py 通信层 + hex_tool.py 通用调用器直连云端 mcp-server。
- 课件分支:
--upload模式在本地完成六步流程——读取文件并计算 SHA-1、按名称查重、获取 OSS 签名、本地直传 OSS、注册资源、注册课件,返回coursewareId;再调用addfiletoclassperiod关联到课时。支持 PPT / Word / PDF / Excel 等格式。 - 作业分支:收集单个或多个
hteId组装为hteList,调用addhtetoclassperiod批量添加到课时,每个作业可独立设置sequence排序、state分类(1=预习,2=复习,3=作业,4=随堂练习)与isPublish。 - 参数解析:用户未提供
courseId时先用getlastcourse取当前课程;课时未知时用listclassdictionaries+listclassperiods列出目录和课时供用户选择。编号字段在展示层隐藏、只显示名称,但编号与名称的映射保留在对话上下文中。
同一课件可关联多个课时,同一作业可挂到多个课时且重复添加不报错。
注意点
classPeriodId是 number 类型,JSON 中不加引号;coursewareId只能来自上传返回值,不能猜测或手动指定。hteId必须是已发布的作业/考试 ID,缺失时要向用户询问,不能编造。- 课件文件路径缺失时必须先询问用户;作业 ID 缺失同理。
- 命令示例统一写
python3,Windows 下替换为python;路径使用~/写法。 - 认证全自动:首次使用自动打开浏览器登录,遇到 401 会自动重新登录,
apiKey保存在~/.hexfuture/apikey.json。
使用场景
- 老师在十六进制平台备课,本地 PPT 已完成,需要上传课件并关联到指定课时
- 同一课时要布置多份已发布的作业或考试,需要批量添加并按预习/复习/作业分类设置状态
- 课件和作业都要挂到同一课时,需要在一次对话中完成上传课件、添加作业两个关联操作
- 用户只说了课件文件路径,需要先自动获取课程、列出目录和课时,引导用户选择后再关联
适合人员
- 在十六进制平台授课的一线教师:每节课后要把本地课件和作业挂到对应课时
- 负责课程资源整理的教务人员:需要把多个已发布作业批量关联到指定课时并设置排序
- 通过 AI 助手管理课程的教师:希望用自然语言完成课件上传和课时绑定,不愿手动点界面
- 在 AI 工作台(如 WorkBuddy)中操作十六进制的教育机构员工:环境无本地 MCP 服务器,需要直连云端完成关联