打开 https://ykt-envning.rainclassroom.com/ai-workspace/open-claw-skill,登录后复制你的个人 Secret。
没有配置 Secret? 所有工具调用都会返回鉴权失败。请先完成上述步骤。
macOS / Linux:
text
export YUKETANG_SECRET="你的Secret"
Windows(PowerShell):
text
$env:YUKETANG_SECRET="你的Secret"
Windows(CMD):
text
set YUKETANG_SECRET=你的Secret
macOS / Linux:
text
bash setup.sh
Windows 或任何有 Node.js 的环境:
text
node setup.js
具体配置文件路径取决于你使用的客户端(OpenClaw / CodeBuddy / Cursor 等),请参考对应文档。
\\ 安装成功后,必须立刻执行: claw_current_user 以验证 Secret 与服务是否可用。**
用户意图调用工具查询账号 / 我的ID / 雨课堂IDclaw_current_user查询我开的课 / 我教了哪些班ykt_teaching_list查询我的班级数据 / 班级教学数据ykt_classroom_statistics查询预警学生名单 / 重点关注学生ykt_classroom_warning_overview查询某个具体班级的预警学生名单ykt_classroom_warning_student今天上课情况总览 / 今天答题率 / 到课率cube_teacher_today_teaching预约开课cube_lesson_reservation查询我有哪些待批改的作业 / 考试 / 课堂/ 课件ykt_teacher_correct_statistic查询最近发布的作业 / 我在xx班发布的作业完成情况 /最近一次发布的作业完成情况ykt_recent_exercise_submit查询最近发布的公告 / 我在xx班发布的公告阅读情况 /最近一次公告的阅读情况ykt_recent_notice_read查询今天上课的情况/今天的课有多少人来上课了cube_teacher_today_teaching_detail
用户说:"帮我看看我是谁,还有我开了哪些班"
依次调用:
claw_current_userykt_teaching_list班级名称 → ID:如果用户给的是班级名称而非 ID,先调用 ykt_classroom_id_by_name 拿到 classroomId,再调用目标工具。
时间处理:所有相对时间(昨天/今天/明天/近N天)以当前系统北京时间(UTC+8)为基准,禁止硬编码年份。若用户未指定年份,默认使用当前年份。
参数格式:如果用户给的参数格式不对,不要自动修正,提示用户修改。
预约开课:执行前必须向用户展示即将预约的课堂信息,二次确认后再调用。
mcp 服务使用注意事项:
--args。claw_current_user#查询当前雨课堂用户 ID。
典型问法: "我的雨课堂ID是多少" / "帮我确认一下当前账号"
参数: 无
ykt_teaching_list#查询当前账号开设的班级列表。
典型问法: "我教了哪些班" / "这学期我教的课"
参数: 无
注意: 返回结果中的 emoji 需保留。
ykt_classroom_statistics#查询本学期班级数据概览。
典型问法: "我的班级数据" / "XXX 班级数据情况"
参数:
参数必填说明classroomName否不传则返回本学期所有班级概览;传入后返回指定班级详情
交互规则:
ykt_classroom_warning_overview#查询本学期各班级的学习活动完成率预警总览。
典型问法: "查看班级预警情况"
参数: 无
返回内容包括: 教学班名称、完成率 = 0% 人数、预警人数(完成率 < 80%)、数据截止时间。
ykt_classroom_warning_student#查询指定班级的预警学生名单。
典型问法: "高等数学A-2 的预警学生" / "第 1 个班级的预警名单"
参数:
参数必填说明classroomName是班级名称、序号或可识别简称
交互规则:
ykt_classroom_warning_overview 展示总览,再让用户选择。cube_teacher_today_teaching - 查询教师当日授课总览#查询教师某天的授课总览信息,如课堂状态、到课情况、答题情况等。
典型问法: "今天上课情况怎么样" / "今天有多少人来上课了" / "我今天有课吗" / "看一下今天的授课总览" / "今天课堂进行得怎么样"
参数:
参数必填说明date否查询日期 yyyy-MM-dd,缺省当天(北京)
ykt_classroom_id_by_name#通过班级名称查询班级 ID(辅助工具,通常由其他工具间接调用)。
参数:
参数必填说明classroomName是班级名称
cube_lesson_reservation#为指定教学班预约开课。
典型问法: "请帮我在xx班xxx时间预约一个课堂"
参数:
参数必填说明classroomId是班级 IDstartDateTime否开课时间(字符串)startEpochMs否开课时间(毫秒时间戳)lessonTitle否课次标题lessonDurationMinutes否课次时长(分钟)meetingType否会议类型
使用逻辑:
ykt_classroom_id_by_name 获取 classroomId,再调本工具classroomId → 直接调用详细参数说明见
references/api_references.md中cube_lesson_reservation部分。
\\ 输出规范 **
✅ 课堂预约成功! 时, 内容禁止渲染成表格ykt_teacher_correct_statistic - 教师待批改/已批改统计#用于按课程班级查询教师的作业、考试、课堂、课件批改统计,包括待批改、已批改数量等信息。
典型问法: "帮我查询一下我有哪些待批改的作业"
ykt_recent_exercise_submit - 教师发布的作业完成情况#用于查询教师发布作业完成情况
典型问法: "帮我查询我最近发布的作业" / "帮我查询我在xx班发布的作业情况" / "帮我查询最近一次发布的作业情况"
参数:
参数必填说明classroomId❌班级 IDclassroomName❌班级名称isLatest❌1 表示仅查询最近一次;不传表示查询最近七天
使用逻辑:
ykt_classroom_id_by_name 获取 classroomId,再调本工具classroomId → 直接调用isLatest = 1ykt_recent_notice_read - 教师发布的公告阅读情况#用于查询用户发布的所有近7天发布公告,按照发布时间顺序倒序排列
典型问法: "帮我查询一下我最近发布的公告" / "帮我查询最近一次发布的公告情况"
参数:
参数必填说明classroomId❌班级 IDclassroomName❌班级名称isLatest❌1 表示仅查询最近一次;不传表示查询最近七天
使用逻辑:
ykt_classroom_id_by_name 获取 classroomId,再调本工具classroomId → 直接调用isLatest = 1cube_teacher_today_teaching_detail - 查询当日单个课程的详情#用于查询当日单个课程的详情;lessonIndex 来自 cube_teacher_today_teaching 课堂总览
典型问法: "请帮我整理今天上课的情况" / "今天的课有多少人来上课了" / "今天的答题率怎么样?"
参数:
参数必填说明lessonIndex✅当日授课总览中的编号,从 1 开始(与 cube_teacher_today_teaching 的课表首列一致)date❌日历日 yyyy-MM-dd,默认当天(北京);须与查详情为同一天
\\ 默认值策略 **
date 默认当天(北京时间), 必须与解析时保持同一天交互规则:
先调用 cube_teacher_today_teaching 展示总览,再让用户选择总览的序号作为 lessonIndex,再调本工具
bash
# Mac 或 Linux 示例:查看班级的作业发布情况
npx mcporter@0.8.1 call yuketang-mcp ykt_classroom_statistics --args '{"classroomName": "xxx"}'