bama
BAMA: 모든 Mac 앱을 만들 수 있습니다
eServices를 통해 XMU 도서관 스터디룸을 자동 예약하고, Gemini 캡차 해결 기능을 갖춘 Claude Code 스킬
Auto-book XMU library study rooms via eServices. Claude Code skill with Gemini captcha solving.
스킬Python · ShellGitHub @ViryaZheng직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
自动预约厦门大学马来西亚分校(XMUM)图书馆自习室。支持全部 4 种房间类型,使用 Gemini AI 自动识别登录验证码。 本项目是一个 Agent Skill,兼容 Claude Code 与 openclaw。安装后 AI Agent 会掌握如何登录系统、查询空位、选择时间段并完成预约——整个流程由 AI 自主决策和操控脚本执行,无需人工介入。 🔥 推荐用 GitHub Actions 每天自动预约:免费、不需要电脑开机,见下方「每天自动预约(GitHub Actions)」。 自动完成:安装依赖 → 复制 Skill 到 openclaw → 引导配置账号 申请 Gemini API Key(免费): 1. 打开 https://aistudio.google.com/apikey 2. 登录 Google 账号 → Create API key → 复制 ⚠️ Key 仅保存在本地 ~/.xmu_booking.json,不要上传到任何公开平台,否则会被 Google 自动吊销。 默认时间偏好: • 工作日:`19:00-21:README 전문 보기 ↗
自动预约厦门大学马来西亚分校(XMUM)图书馆自习室。支持全部 4 种房间类型,使用 Gemini AI 自动识别登录验证码。
本项目是一个 Agent Skill,兼容 Claude Code 与 openclaw。安装后 AI Agent 会掌握如何登录系统、查询空位、选择时间段并完成预约——整个流程由 AI 自主决策和操控脚本执行,无需人工介入。
🔥 推荐用 GitHub Actions 每天自动预约:免费、不需要电脑开机,见下方「每天自动预约(GitHub Actions)」。
--room-type | 类型 | 房间 | 容量 |
|---|---|---|---|
silent | Silent Study Room | N201–N214 | 2人 |
study | Study Room | S221–S234 | 2人 |
group (默认) | Group Discussion Room | E231–E236, W241–W246 | 4人 |
success | Student Success Room | Room 1–3 | 4/10人 |
| 时段 | 工作日 | 周末 |
|---|---|---|
| 09:00 – 11:00 | ✅ | ✅ |
| 11:00 – 13:00 | ✅ | ✅ |
| 13:00 – 15:00 | ✅ | ✅ |
| 15:00 – 17:00 | ✅ | ✅ |
| 17:00 – 19:00 | ✅ | ❌ |
| 19:00 – 21:00 | ✅ | ❌ |
curl -sSL https://raw.githubusercontent.com/ViryaZheng/xmum-room-booking/main/install.sh | bash
自动完成:安装依赖 → 复制 Skill 到 openclaw → 引导配置账号
git clone https://github.com/ViryaZheng/xmum-room-booking.git
cd xmum-room-booking
pip install requests beautifulsoup4 google-genai Pillow
python3 skill/scripts/auto_booking.py --setup
--setup)Campus ID: 你的学号
Password: eServices 密码
Gemini API Key: 验证码识别用(免费申请)
申请 Gemini API Key(免费):
⚠️ Key 仅保存在本地
~/.xmu_booking.json,不要上传到任何公开平台,否则会被 Google 自动吊销。
# 自动预约(2 天后,按优先级尝试多个时间段)
python3 skill/scripts/auto_booking.py
# 指定时间偏好(多个时段按顺序尝试,第一个有位置就预约)
python3 skill/scripts/auto_booking.py --time "19:00-21:00,17:00-19:00,15:00-17:00"
# 指定日期(任意空闲时段)
python3 skill/scripts/auto_booking.py --date 2026-03-01
# 指定房间类型
python3 skill/scripts/auto_booking.py --room-type silent
# 组合使用
python3 skill/scripts/auto_booking.py --room-type study --time "09:00-11:00,11:00-13:00"
默认时间偏好:
19:00-21:00 → 17:00-19:00 → 15:00-17:00(依次尝试)15:00-17:00 → 13:00-15:00 → 11:00-13:00(依次尝试)在 GitHub 上定时运行,不依赖电脑开机或联网。模板:github-actions/book-room.yml
默认配置:每天 00:02(马来西亚时间)预约后天的静音自习室,优先 13:00–15:00,满了按顺序尝试其他时段。改文件顶部的 ROOM_TYPE / DAYS_AHEAD / TIMES 即可调整。
部署(本机已完成 --setup,并装好 gh):
# 1. 新建私有仓库(必须私有:运行日志会显示学号和预约信息)
mkdir xmum-booking-cron && cd xmum-booking-cron
mkdir -p .github/workflows
curl -sSL https://raw.githubusercontent.com/ViryaZheng/xmum-room-booking/main/github-actions/book-room.yml -o .github/workflows/book-room.yml
git init -b main && git add . && git commit -m "XMUM room booking"
gh repo create xmum-booking-cron --private --source=. --push
# 2. 从 ~/.xmu_booking.json 写入 3 个 secret(不会显示在屏幕上)
python3 -c "import json,os;c=json.load(open(os.path.expanduser('~/.xmu_booking.json')));[open(f'/tmp/.x{k}','w').write(c[v]) for k,v in [('U','username'),('P','password'),('G','gemini_key')]]" \
&& gh secret set XMUM_USERNAME < /tmp/.xU && gh secret set XMUM_PASSWORD < /tmp/.xP && gh secret set XMUM_GEMINI_KEY < /tmp/.xG; rm -f /tmp/.xU /tmp/.xP /tmp/.xG
# 3. 测试(默认只登录 + 列出空房,不预约)
gh workflow run book-room.yml
gh run watch
dry_run 设为 false 会真实预约。--setup 时填入。Key 仅保存在本地,不会上传。