小麦助教课时自动统计

SKILL教育学习
教育学习 未标注权限 许可证不明确
安装这个技能

Automate reading and aggregating class-hour (课时) data from the 小麦助教 education SaaS (xiaomai5.com). Use when a user asks to count, summarize, categorize, or settle teacher/student class hours, course-consumption (课消), scheduling, or attendance on xiaomai5 without manual browser copy-paste. Handles login (MD5 password), the private-gateway reachability issue, HTTP-header auth, the non-obvious planCheckedClassHour (扣课时) vs checkedClassHour (实际扣课时) distinction, C++/CSP/信奥/Python classification, and per-course pricing with Python rate conversion.

一句话选型结论

按资料字段整理

小麦助教课时自动统计是教育学习类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类教育学习 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_3bd3856c/xiaomai-classhour-sum
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

教育学习
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_3bd3856c仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791684224
正文体量8.2 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
讲解知识点

按水平把知识点讲清楚。

出练习题

按章节生成练习与答案。

制定学习计划

按目标和时间排学习节奏。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在教育学习场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
小麦助教课时自动统计当前 未标注权限 未标注 未标注 未标注 有
食谱创建课堂课程 未标注权限 GitHub 仓库 25.5 万 Codex、Claude、Cursor 有
语言学习 联网访问 ClawHub 市场 23.6 万 OpenClaw 有
learning 效率 只读 ClawHub 市场 19.2 万 OpenClaw 有
学习习惯 未标注权限 ClawHub 市场 10.2 万 OpenClaw 有
日语家教 只读 ClawHub 市场 8.2 万 OpenClaw 有

SKILL.md 全文

8.2 KB
模型实际读到的说明书原文,来自技能仓库

Xiaomai Sum (小麦助教 课时自动统计)

Overview

自动读取小麦助教(xiaomai5.com)的点课记录并按「扣课时」口径统计课时,无需手动复制粘贴。
难点(密码 MD5 非 RSA、默认 API 域名是内网域名、认证必须带 HTTP 头、扣课时与实际扣课时两个字段)
均已固化,详见 references/api_reference.md。

统计口径(2026-08-10 与用户最终确认)

  1. 数据源 = 点课记录(rollCall/queryInstRollCalls,一次课一条)。
  2. 时间维度 = 上课时间(classStartDate),区间 [当月1号00:00, 次月1号00:00),不是点课/课消时间。
  3. 课时数 = 逐学员相加,两个字段:
    - 「扣课时」= planCheckedClassHour,当学员到课(classState 非 ABSENCE/LEAVE)
    或实际扣课时 > 0 时计入,否则记 0
    —— 与平台导出「学员点名记录.xls」的『扣课时』列完全一致(2026-07 实测 202 行逐条对上),默认口径;
    - 「实际扣课时」= checkedClassHour —— 对应导出表『实际扣课时』列(--hour-field checked 切换)。
    两列可能不同。实测 2026-07 差 19 课时,来自 5 条到课记录(伊铭轩 7/29-31、崔思涵 7/24、杨竺鑫 7/5),
    均为到课但实际扣课时更少或未扣;另有请假/未到学员 plan>0 但未实际扣课时(已按规则置 0)。
  4. 仅统计本人点名的课(rollCallTeacherId === 登录者 teacherId);共带班里他人点名的排除并列出。
  5. 分类 = 看班级名:含 集训 / csp / 信奥 / c++ / cpp / c++ → C++;
    含 python → Python;其余 → 其他。

When to use

  • "统计某老师 7 月份的课时,按 C++/Python 分类,算一下多少钱(C++ 12 元、Python 7.5 元 ×0.75)"
  • "统计 XX、YY 几个学员在 7月6日以后我上的课时"
  • "读取小麦助教里的学员课消 / 排课 / 考勤 / 点名记录"
  • 结算类需求:课时 × 单价、Python 换算系数、手工追加营地等课时行

Quick start

Node 18+,无第三方依赖。凭据用环境变量 XIAOMAI_ACCOUNT / XIAOMAI_PASSWORD
(或 CLI 参数,推荐环境变量,避免密码出现在进程列表)。脚本不内置任何账号。

按月统计教师课时 + 账单 (scripts/query_hours.js)

# 基础:扣课时口径,2026年7月,单价 C++12 / Python7.5,Python ×0.75
node scripts/query_hours.js 138xxxxxxxx "密码" 赵宇琦 2026 7 \
  --extra "营地,784,cpp"

# 等价写法(全部选项显式给出)
node scripts/query_hours.js --account 138xxxxxxxx --password "密码" --teacher 赵宇琦 \
  --year 2026 --month 7 --hour-field plan --price-cpp 12 --price-python 7.5 \
  --python-rate 0.75 --extra "营地,784,cpp"

# 切实际扣课时口径核对
node scripts/query_hours.js 138xxxxxxxx "密码" 赵宇琦 2026 7 --hour-field checked

输出:控制台汇总 + 账单(小计/总计)+ JSON + CSV(逐学员行,含 扣课时/实际扣课时 两列,
与平台导出的「学员点名记录」可直接对账)。

按学员名单 + 日期范围 (scripts/query_student_hours.js)

node scripts/query_student_hours.js --students "张三,李四,王五" --from 2026-07-07 \
  [--to 2026-08-01] [--hour-field plan|checked]
node scripts/query_student_hours.js --students students.txt --from 2026-07-07
  • "X日以后"默认按次日 00:00 起算(如"7月6日以后"→ --from 2026-07-07),向用户说明该假设。
  • 0 课时学员自动做相近姓名核对,防止 API 返回名与用户名单有出入。

Billing(账单计算)

  • C++ 小计 = C++扣课时 × --price-cpp(默认 12)
  • Python 小计 = Python扣课时 × --python-rate(默认 0.75)× --price-python(默认 7.5)
  • 总计 = 两项小计之和;--extra "名称,课时[,分类]" 可追加手工课时(营地等,默认按 C++)
  • 已验证样例(2026-07 赵宇琦,与用户对账一致):
    C++/CSP 781 × 12 = 9,372 元 + 营地 784 × 12 = 9,408 元 + Python 27×0.75=20.25 × 7.5 = 151.88 元
    → 总计 18,931.88 元

How it works (the non-obvious bits)

完整 API 契约见 references/api_reference.md,核心四点:

  1. 登录:POST {GATEWAY}/business/anon/b/login,密码是 MD5 32 位小写(不是 RSA)。
  2. 网关:用公网可达的 https://gateway.xiaomai5.com;前端默认 api-b.xiaomai5.com 是内网域名,公网无法解析。
  3. 认证:HTTP 头 + query 双重携带(token/xmtoken/uid/userid/tid/instid/bizaccountid/aid + 静态头),只带 query 会返回「请重新登录!」。
  4. 课时:点课记录一次课一条,会话级 checkedClassHour 不能直接相加,必须按 signId
    调 getStuRollCallsBySignId 逐学员累加;用 planCheckedClassHour(扣课时)或
    checkedClassHour(实际扣课时),字段含义见上。

Resources

  • scripts/query_hours.js —— 按月统计 + 分类 + 账单 + CSV(推荐入口)
  • scripts/query_student_hours.js —— 按学员名单 + 日期范围统计
  • references/api_reference.md —— 逆向得到的完整 API 契约、认证表、字段映射与已验证样例

Notes / caveats

  • 登录可能限流("登录过于频繁"),脚本自动重试 5 次、间隔 8s。
  • instUserInfos 多机构时脚本用第一个;统计其他老师需传其 teacherId(或换账号登录),姓名参数仅作标签。
  • stateList:[1] 取有效记录,与页面默认导出一致。
  • 上课时间(classStartDate) 与点课时间(signDate) 通常不同;口径严格按上课时间。
  • 集训/CSP/信奥一律归 C++;如客户另有归类口径,改 classify() 即可。
  • 营地等非点课课时用 --extra 手工追加并保留来源说明。
  • 凭据属用户;脚本不落盘、不打日志,避免把密码/token 打到共享面。

本仓库对接(SkillHub 1.1.0 + 本地补丁)

仓库里本来就有 ops/guide/ 下的小麦取数指南(路径/坑),脚本以前只在 WorkBuddy 技能目录。现已把 SkillHub @user_3bd3856c/xiaomai-classhour-sum 收进 .cursor/skills/xiaomai-classhour-sum/。

相邻能力不要混:

东西 边界
本技能 小麦助教 xiaomai5.com 点课 / 课消 / 名单
OA hours / take-name 琦琦 OA 自己的课时账本,生产还没接小麦点课全量
usaco-import OJ 题库 DFS/BFS 专项,不是「DFS/BFS暑期集训」这个班

查某 OJ 班学员在小麦的课时:

  1. 192 group + group_member + user_info 拉花名册(例:DFS/BFS暑期集训 gid 1017),去掉老师号「七七」。
  2. 小麦按上课时间拉 queryInstRollCalls → getStuRollCallsBySignId。问「这些人所有点课」时不要按登录者 rollCallTeacherId 过滤(默认教师账单脚本会滤)。
  3. 主列用「扣课时」planCheckedClassHour(到课或已扣才计)。超点 = oweClassHour(oweState=OWE),已经含在扣课时里,不要再加一遍。实际扣课时是 checkedClassHour。
  4. 凭据只用环境变量 XIAOMAI_ACCOUNT / XIAOMAI_PASSWORD,可放本机 ~/.config/xiaomai.env(勿提交)。

综合技能(OJ 花名册 + 小麦点课 + OA 账本对账)还没写,后续单独做。

常见问题

5 问
答案由本站依据条目字段整理
小麦助教课时自动统计怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_3bd3856c/xiaomai-classhour-sum。安装方式为未标注。装完刷新技能列表或重开客户端。

小麦助教课时自动统计支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

小麦助教课时自动统计权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

小麦助教课时自动统计收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

小麦助教课时自动统计用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。