npx claudepluginhub pkuinfo/pkucli --plugin pku-cliThis skill uses the workspace's default tool permissions.
A CLI client for PKU's anonymous discussion platform (PKU Helper Treehole).
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 anonymous discussion platform (PKU Helper Treehole).
crates/treehole/app_id="PKU Helper") → JWT callback at /chapi/cas_iaaa_login → optional SMS verify/chapi/api/v3/* (modern) and /chapi/api/* (legacy)docs/treehole-api.mdsrc/main.rs — Clap CLI definition with all subcommandssrc/commands.rs — Command implementations (login, post, search, etc.)src/api.rs — HTTP API client, request builders, response typessrc/display.rs — Terminal output formatting with colored cratesrc/client.rs — reqwest client builders (build for auth, build_simple for IAAA)| Command | Alias | Function |
|---|---|---|
login | IAAA password/QR login → JWT | |
logout / status | Session management | |
list | ls | Browse posts/feed |
show | View single post with replies | |
search | Full-text search | |
post | Create post (text, tags, images, rewards/树叶) | |
reply | Reply to a post | |
like / tread | Vote on posts | |
star / unstar / stars | Bookmark management | |
follow / unfollow | Follow posts | |
msg / read | Notifications | |
me | Profile + own posts | |
score | Grade query (with color rendering) | |
course | Weekly course schedule (canonical source — includes 主修 + 辅修 + 双学位) | |
schedule | This week's day-by-day schedule | |
academic-cal / activity-cal | Academic / activity calendar | |
otp | TOTP 2FA management (bind/set/show/clear) |
# Check session status
info-auth check
# Auto-login (reads credentials from OS keyring, no password needed)
treehole login -p
# If SMS verification is needed (first login or periodic):
PKU_SMS_CODE=123456 treehole login -p
Treehole may require SMS verification on first login or periodically (~30 days). When PKU_SMS_CODE env var is set, it auto-confirms sending and submits the code without interactive prompts.
anyhow::Result with .context("中文描述")redirect(Policy::none()) for manual redirect handling~/.config/info/treehole/ via info_common::session::Storeinfo_common::credential (keyring → env → interactive)info-common crate (see info-common skill for details)