From pku-cli
Rust CLI for PKU course selection: SSO login, course listing/showing, auto-enrollment loops, CAPTCHA recognition via utool/ttshitu/yunma backends.
npx claudepluginhub pkuinfo/pkucli --plugin pku-cliThis skill uses the workspace's default tool permissions.
A CLI client for PKU's course selection system with auto-enrollment automation.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
A CLI client for PKU's course selection system with auto-enrollment automation.
crates/elective/app_id="elective") → elective SSO endpoint callbacksrc/main.rs — Clap CLI with subcommandssrc/commands.rs — Command implementations including auto-enroll loopsrc/api.rs — HTML scraping, CAPTCHA image extractionsrc/display.rs — Terminal output formattingsrc/client.rs — reqwest client builders| Command | Alias | Function |
|---|---|---|
login | IAAA login (supports --dual for dual-degree students) | |
logout / status | Session management | |
show | View current course selections | |
list | ls | Browse available courses for add/drop |
set | Add a course to auto-enroll target list | |
unset | Remove from auto-enroll targets | |
config-captcha | Configure CAPTCHA solver backend | |
launch | Start auto-enrollment polling loop | |
otp | TOTP 2FA management |
The config-captcha command supports multiple recognition backends:
manual — Display CAPTCHA image, user inputs answerutool — UTool OCR servicettshitu — TTShiTu recognition APIyunma — Yunma recognition API# Check session status
info-auth check
# Auto-login (reads credentials from OS keyring, no password needed)
elective login -p # single degree
elective login -p --dual major # dual degree - major
elective login -p --dual minor # dual degree - minor
Note: Dual-degree students MUST specify --dual major or --dual minor, otherwise login will fail with an error.
--dual flag at login for separate sessionanyhow::Result with .context("中文描述")~/.config/info/elective/info_common::credential (keyring → env → interactive)