Agent Skills
返回列表
十六进制课程课时获取

十六进制课程课时获取

教育学习 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1ffa0952/hex-course-lessons 技能到 AI 助手中。

技能介绍

解决的问题

在 hexfuture.net 这类教育 SaaS 平台上,课程内容、目录和课时资源分散在远程 MCP Server 中。如果让 Agent 直接操作 HTTP JSON-RPC,会面临几个工程问题:认证流程繁琐、DirectoryId / ClassPeriodId 等长编号难以在对话中稳定传递,且容易破坏用户体验。

这个技能把这些细节封装成可编排的脚本,使自然语言请求(如“列出第二章的课时内容”)能够稳定映射到平台 API。

核心能力与工作流

技能通过 scripts/hex_mcp_proxy.py 作为通信层,与十六进制远程 MCP Server 交互,并拆成两个入口脚本:

  • 课程管理:hex_course_manage.py 负责获取用户课程列表、切换当前课程。
  • 内容获取:hex_course_lessons.py 和 hex_class_period_content.py 负责读取章节目录、列出课时并拉取课时内容。

典型调用链是:

  1. 先列出当前用户的课程,并按名称或序号切换到目标课程。
  2. 调用 getlastcourse 或复用用户提供的 courseId,获取当前课程编号。
  3. 执行 listclassdictionaries,拿到课程主线/章节目录。
  4. 对指定目录执行 listclassperiods,列出课时并缓存 ClassPeriodId。
  5. 调用 getclassperiodcontent,拉取课时下的课件、作业、测验和电子书。

其中课时内容会按业务类型(教案、学案)和文件格式(Word、PDF、PPT、H5)进行区分,方便后续结构化展示。

会话缓存与反查机制

技能在系统临时目录维护 hex_course_cache_{sessionId}.json,保存目录名称、课时名称与对应 ID 的映射。用户侧只看到可读名称,Agent 在后续调用中通过 --directory-name、--class-period-name 或序号反查 ID。缓存按 sessionId 隔离,超过 24 小时自动清理。

适用边界

  • 只读技能:不会修改平台数据。
  • 运行环境:需要 Python 3 与 httpx,推荐使用 managed venv。
  • 认证依赖浏览器:首次运行会打开本地回调服务,需要在 macOS 或 Windows 上完成浏览器登录;apiKey 会写入 ~/.hexfuture/apikey.json,过期后触发 401 自动重登。
  • 缓存时效:跨会话调用必须携带同一个 --session-id;如果缓存已过期或会话切换,名称反查会失败,需要重新执行目录列表。

使用场景

  • 教师在十六进制平台有多门课程,想用对话方式列出全部课程并切换到指定课程,查看其章节目录结构。
  • 助教需要查看某门课程第二章下的所有课时,了解每个课时包含哪些课件、作业和测验,便于备课。
  • 教研人员想获取特定课时下的电子书和H5课件内容,用于整理课程材料或制作离线教学包。
  • 课程审核员需要检查某门课程的章节目录层级和课时资源是否完整,确认没有缺少作业或测验。

适合人员

  • 在十六进制平台授课的教师,希望用自然语言查询课程列表、目录和课时内容,无需逐页点击网页。
  • 教学助理,需要快速获取课程各章节的课时清单和资源类型,协助教师准备课堂材料。
  • 课程内容审核人员,需要检查课程章节结构是否完整、课时资源(课件/作业/测验/电子书)是否齐全。
  • 教育平台技术运营或集成工程师,在调试课程相关MCP接口时需要一个可运行的脚本参考实现。