BilimClass
/install bilimclass
BilimClass — School Schedule, Homework & Grades
Access BilimClass API for Kazakhstan school data. Supports schedule, homework, and quarterly/yearly grades.
Setup
Two tokens required in ~/.openclaw/.env.json:
bilimclass.token— main JWT fromlocalStorage.token(RS256, valid ~1 year). Used for schedule and subject names.bilimclass.journalToken— journal JWT from API headers on grades page (HS512, expires ~2 weeks). Used for grades only.
Both expire — token annually, journalToken biweekly. To refresh journalToken:
- Open bilimclass.kz → grades section
- F12 → Network → find request to
journal-service.bilimclass.kz/diary - Copy the
Authorization: Bearer ...header value
To refresh main token: browser console → localStorage.token
Required config fields in .env.json:
{
"bilimclass": {
"token": "\x3CYOUR_TOKEN>",
"journalToken": "\x3CYOUR_JOURNAL_TOKEN>",
"schoolId": "\x3CYOUR_SCHOOL_ID>",
"eduYear": "\x3CEDUCATION_YEAR>",
"userId": "\x3CYOUR_USER_ID>",
"studentSchoolUuid": "\x3CYOUR_STUDENT_UUID>",
"studentGroups": [
{"uuid": "\x3CUUID>", "name": "Group name"},
{"uuid": "\x3CUUID>", "name": "Group name"}
]
}
}
studentGroups— all student groups for the user. The first one should be the current group for grades.
Quick Usage
python3 \x3Cskill_dir>/scripts/bilimclass.py schedule [DD.MM.YYYY]
python3 \x3Cskill_dir>/scripts/bilimclass.py diary [YYYY-MM-DD]
python3 \x3Cskill_dir>/scripts/bilimclass.py week [DD.MM.YYYY] # Monday of that week
python3 \x3Cskill_dir>/scripts/bilimclass.py grades \x3CYYYY-MM-DD> \x3CYYYY-MM-DD>
python3 \x3Cskill_dir>/scripts/bilimclass.py quarter-report [Q3|Q4]
python3 \x3Cskill_dir>/scripts/bilimclass.py today
python3 \x3Cskill_dir>/scripts/bilimclass.py tomorrow
All output is JSON — format it nicely for the user.
Schedule Format
Each day contains:
date_label— display date (e.g. "06 АПРЕЛЯ")schedule[]— lessons with:subject.label— subject namesubject.subjectId— integer ID (used for grade mapping)teacher— teacher full namehomework.body— homework texttime.label— time range (e.g. "08:00 - 08:40")
Diaries (Homework Detail)
Multiple student groups. The script iterates all studentGroups — it handles dedup automatically.
Grades
Grades use a separate service (journal-service.bilimclass.kz) with the journalToken.
API Endpoints
- Schedule + subject names:
https://api.bilimclass.kz/api/v4/os/clientoffice/schedule- Auth:
Bearer {token}(main JWT) - Headers:
X-School-Id,X-Localization: ru
- Auth:
- Grades:
https://journal-service.bilimclass.kz/diary- Auth:
Bearer {journalToken}(journal JWT) - Headers:
X-School-Id,X-Localization: ru,external: 1
- Auth:
How grades work
- Query
/diarywithschoolId,eduYear,userId,studentGroupUuid,date(ISO 8601) - Response is
{"data": {\x3CscheduleUuid>: {formattedScore, sor, soch, ...}}} - Each of
formattedScore/sor/sochcontains:mark— the score (integer)markMax— maximum (usually 10, sometimes 24 for СОЧ)subjectId— integer ID for mapping to subject namesdate,markType,comment
scheduleUuid(the key) is a UUID, not the same assubjectId- Subject names come from the schedule API — map via
subjectIdfrom lesson data
Grading scale (4th quarter rules)
- 5: ≥ 87%
- 4: ≥ 65%
- 3: ≥ 50%
- 2: \x3C 50%
Quarter date ranges (approximate for 2025-2026)
- Q3: January 8 — March 22
- Q4: March 31 — current date
Notes
- Some subjects may have no grades in a quarter if no assessments have been given yet
- Absent-due-to-illness marks use
markType: "sick"— exclude from percentage calculations - Always use the first
studentGroup(index 0) for current grades - journalToken expires ~every 2 weeks — check
401responses and prompt user to refresh - When reporting grades, sort alphabetically by subject name
- Always show: subject name, %, predicted grade, number of assessments
Notes
- Both APIs use
Bearer \x3Ctoken>style auth but with different tokens - Schedule API uses main token; Grades API uses journalToken
SUBJECT_NAMESdict is populated dynamically from schedule API — if subject name missing, showПредмет #{id}and note the gap
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install bilimclass - 安装完成后,直接呼叫该 Skill 的名称或使用
/bilimclass触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
BilimClass 是什么?
Access BilimClass school platform (Kazakhstan) for schedule, homework, grades, and diary via API. Triggers on schedule/raspisanie/расписание, homework/domash... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 92 次。
如何安装 BilimClass?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install bilimclass」即可一键安装,无需额外配置。
BilimClass 是免费的吗?
是的,BilimClass 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
BilimClass 支持哪些平台?
BilimClass 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 BilimClass?
由 podberezovk(@podberezovk)开发并维护,当前版本 v1.1.0。