Install
openclaw skills install scut-review-monitorCheck or monitor the SCUT thesis blind-review status page through the graduate portal and refresh cookies through a local Python helper.
openclaw skills install scut-review-monitorUse this skill when the user wants to check, monitor, or re-login to the SCUT thesis blind-review status page, which is accessed through the graduate affairs portal.
The helper script for this skill is at {baseDir}/portal_monitor.py.
The local config file for this skill is at {baseDir}/config.json.
Typical user requests that should trigger this skill include:
帮我查一下盲审状态
查一下论文盲审状态
帮我看看盲审结果出来没有
看下现在盲审到哪一步了
帮我登录研究生系统查盲审
盲审状态有变化吗
帮我持续盯一下盲审状态
For ordinary status-query requests such as 帮我查一下盲审状态, prefer running check-once first. Only use monitor when the user explicitly asks for continuous monitoring.
One-time checks of the current thesis blind-review status text.
Manual login bootstrap through the graduate portal that saves cookies locally.
During manual login, automatically extract the QR code from the login page and save it locally as a PNG plus the original data URL.
Local foreground monitoring of thesis blind-review status changes with polling and notifications.
This is a local skill that depends on the host machine having Python available.
Login uses Playwright Chromium in headless mode.
Do not expose or echo secrets such as notification keys.
Do not silently run long-lived background jobs unless the user explicitly asks for continuous monitoring.
If the user asks for a daemonized or auto-start service, explain that the helper should be supervised by systemd, launchd, cron, or another scheduler outside the skill itself.
This skill reads all runtime settings from {baseDir}/config.json.
Do not rely on environment variables for this skill.
If {baseDir}/config.json does not exist yet, copy {baseDir}/config.json.example to {baseDir}/config.json and fill in the notification fields as needed.
The most commonly edited fields are:
watch_xpath
monitor_interval_seconds
notify.notify_url
notify.notify_target
notify.notify_key
notify.serverchan_sendkey
Use this when there is no valid cookie yet or the portal session is invalid.
python3 "{baseDir}/portal_monitor.py" login
During the login wait, if the page exposes a QQ login QR code under #qrcodeQQLogin, the helper will save it to {baseDir}/login_qrcode.png, save the original data:image/...;base64,... string to {baseDir}/login_qrcode.txt, and upload the QR code to the configured image-hosting API when image_upload.enabled is true.
If the login page shows 二维码已失效, the helper will refresh the page and continue exporting the new QR code.
Use this for a quick answer in chat.
python3 "{baseDir}/portal_monitor.py" check-once
Use this only when the user explicitly asks for continuous monitoring.
python3 "{baseDir}/portal_monitor.py" monitor
For check-once, report the current watched text verbatim.
If the helper says cookie is invalid, tell the user that re-login is needed and offer the login command.
If the XPath no longer matches, say the blind-review page structure inside the portal probably changed.
If the user asks to adapt the watched field, edit {baseDir}/config.json or the helper script rather than improvising values in the reply.
When monitoring reports a change, summarize the old value and new value.