Webtop / Galim / Ofek
Use this skill to work with Webtop / SmartSchool, Galim Pro, and Ofek student task portals.
Status
Both portals are working ✅
- - Ofek (
students.myofek.cet.ac.il) — working via Ministry of Education SSO - Galim Pro (
lms.galim.org.il) — working via Ministry of Education SSO
Quick start
CODEBLOCK0
Credentials
Stored in /root/.openclaw/workspace/.env/galim.env:
CODEBLOCK1
Credentials are Ministry of Education student IDs and passwords.
Same credentials work for both portals.
Important: Ofek URL
The correct URL for Ofek is students.myofek.cet.ac.il (not myofek.cet.ac.il).
myofek.cet.ac.il blocks datacenter IPs (503). students.myofek.cet.ac.il does not.
Login flow
Ofek:
- 1. INLINECODE7
- Click "התחברות משרד החינוך"
- Redirects to
lgn.edu.gov.il SSO (EduCombinedAuthUidPwd) - Fill
#userName + #password, click "כניסה" - Redirects back to
students.myofek.cet.ac.il/he with full session
Galim Pro:
- 1. INLINECODE12
- Fill
#userName + #password, click "כניסה" - Navigate to INLINECODE15
Task counters extracted
Ofek (from page body text):
- -
לביצוע (N) → opencount - INLINECODE17 → fixcount
- INLINECODE18 → waitingcount
- INLINECODE19 → checkedcount
- Visible activity extraction when present:
- title
- subject
- teacher
- due date
- sections such as urgent / overdue activities
Galim (parsed from table text):
- - Per task: assignedat, title, tasktype, subject, due_at, overdue
Suggested output format
CODEBLOCK2
Automation
Configured daily flow:
- creates family-calendar events for Galim tasks with clear due dates
- reminders: 1 day before + 3 hours before
- sends a WhatsApp update to the family updates group
- covers Ofek + Galim + Webtop
Notes:
- - Calendar target is configurable via INLINECODE24
- WhatsApp target group is configurable via INLINECODE25
- Child credentials should be provided via env vars /
OFEK_KIDS_JSON, not stored in the skill - Ofek currently provides counters plus visible activity details parsed from page text (for example overdue / urgent visible items); Galim still provides the richer structured task list with due dates.
Files
- -
scripts/webtop_fetch_summary.py — Webtop / SmartSchool fetcher - INLINECODE28 — Galim Pro fetcher (Playwright, LMS)
- INLINECODE29 — Ofek fetcher (Playwright, students portal)
- INLINECODE30 — runs Webtop + Galim + Ofek and prints a combined Hebrew report
- INLINECODE31 — richer report with task titles and due dates
- INLINECODE32 — syncs Galim tasks with due dates into the family Google Calendar
- INLINECODE33 — helper for stateful daily automation flow
- INLINECODE34 — creates a local env template and prints setup/test steps
- INLINECODE35 — legacy Selenium probe (kept for reference)
- INLINECODE36 — Webtop/SmartSchool fetcher
- INLINECODE37 — notes from reference repo and migration history
- INLINECODE38 — detailed Ofek debugging notes and findings
- INLINECODE39 — credentials file format
Webtop / Galim / Ofek
使用此技能操作Webtop / SmartSchool、Galim Pro和Ofek学生任务门户。
状态
两个门户均可正常使用 ✅
- - Ofek (students.myofek.cet.ac.il) — 通过教育部SSO登录正常
- Galim Pro (lms.galim.org.il) — 通过教育部SSO登录正常
快速开始
bash
仅Webtop
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/webtop
fetchsummary.py
仅Galim
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/galim
fetchtasks.py
仅Ofek
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/fetch_tasks.py
统一报告 (Webtop + Galim + Ofek)
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/unified_report.py
扩展报告(适用于WhatsApp / 审查)
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/expanded_report.py --days 30 --limit 5
同步Galim截止日期到日历
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/sync
galimcalendar.py --days 30
JSON输出
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/fetch_tasks.py --json
python3 /root/.openclaw/workspace/skills/webtop-galim/scripts/galim
fetchtasks.py --json
凭据
存储在 /root/.openclaw/workspace/.env/galim.env 中:
GALIMUSERNAMECHILD1=... GALIMPASSWORDCHILD1=...
GALIMUSERNAMECHILD2=... GALIMPASSWORDCHILD2=...
OFEKUSERNAMECHILD1=... OFEKPASSWORDCHILD1=...
OFEKUSERNAMECHILD2=... OFEKPASSWORDCHILD2=...
凭据为教育部的学生ID和密码。
同一组凭据可用于两个门户。
重要提示:Ofek URL
Ofek的正确URL是 students.myofek.cet.ac.il(而非 myofek.cet.ac.il)。
myofek.cet.ac.il 会阻止数据中心IP(返回503错误)。students.myofek.cet.ac.il 则不会。
登录流程
Ofek:
- 1. https://students.myofek.cet.ac.il/he
- 点击 התחברות משרד החינוך
- 重定向至 lgn.edu.gov.il SSO(EduCombinedAuthUidPwd)
- 填写 #userName + #password,点击 כניסה
- 重定向回 students.myofek.cet.ac.il/he,会话已建立
Galim Pro:
- 1. https://userdata.galim.org.il/loginidm?requesturi=https%3A%2F%2Fpro.galim.org.il%2F%3Flang%3Dhe
- 填写 #userName + #password,点击 כניסה
- 导航至 https://lms.galim.org.il/personal?lang=he
提取的任务计数器
Ofek(从页面正文文本提取):
- - לביצוע (N) → 待完成数
- הוחזר לתיקון (N) → 待修改数
- מחכה לבדיקת מורה (N) → 待批改数
- בוצע ונבדק (N) → 已批改数
- 当存在可见活动时提取:
- 标题
- 科目
- 教师
- 截止日期
- 紧急/逾期活动等部分
Galim(从表格文本解析):
- - 每项任务:分配时间、标题、任务类型、科目、截止日期、是否逾期
建议输出格式
📚 学生任务
👤 孩子1
Galim:13项任务 | Ofek:待完成9项,待修改1项
👤 孩子2
Galim:1项任务 ⚠️ | Ofek:待完成27项
自动化
配置的每日流程:
- - 06:15 — scripts/syncgalimcalendar.py --days 30
- 为有明确截止日期的Galim任务创建家庭日历事件
- 提醒:提前1天 + 提前3小时
- - 06:20 — scripts/expanded_report.py --days 30 --limit 5
- 向家庭更新群组发送WhatsApp更新
- 涵盖Ofek + Galim + Webtop
注意:
- - 日历目标可通过 OFEKGALIMCALENDARID 配置
- WhatsApp目标群组可通过 OFEKGALIMWHATSAPPGROUP 配置
- 孩子凭据应通过环境变量 / OFEKKIDSJSON 提供,不存储在技能中
- Ofek目前提供计数器以及从页面文本解析的可见活动详情(例如逾期/紧急可见项目);Galim仍提供更丰富的结构化任务列表及截止日期。
文件
- - scripts/webtopfetchsummary.py — Webtop / SmartSchool获取器
- scripts/galimfetchtasks.py — Galim Pro获取器(Playwright,LMS)
- scripts/fetchtasks.py — Ofek获取器(Playwright,学生门户)
- scripts/unifiedreport.py — 运行Webtop + Galim + Ofek并打印综合希伯来语报告
- scripts/expandedreport.py — 包含任务标题和截止日期的更丰富报告
- scripts/syncgalimcalendar.py — 将带截止日期的Galim任务同步到家庭Google日历
- scripts/autoupdateflow.py — 用于有状态的每日自动化流程的辅助工具
- scripts/install.sh — 创建本地环境模板并打印设置/测试步骤
- scripts/galimprobe.py — 旧版Selenium探测工具(保留供参考)
- scripts/webtopfetchsummary.py — Webtop/SmartSchool获取器
- references/ofek-bot-notes.md — 参考仓库的笔记和迁移历史
- references/ofek-investigation-summary.md — 详细的Ofek调试笔记和发现
- references/env-example.md — 凭据文件格式