Seminar rooms
pkuinfo/pku-harness-plugins/plugins/room-booking
PKU Space: find, book and cancel seminar rooms in the Second and Fourth Teaching Buildings and the Geoscience Building.
What the plugin can access
A plugin can only do what it declares here. The app shows you this same list before you install the plugin. If an update needs more access, the app asks you again.
- Campus serviceswith your sign-in
- Room bookingbdkj.pku.edu.cn
The app sends these requests with your signed-in session. The plugin never sees your password, cookies or tokens.
- Other websites
None
- App features
None
- Tools
- Seminar roomsroom-booking.roomsSeminar rooms in the Second and Fourth Teaching Buildings and the Geoscience BuildingRead
- Free time slotsroom-booking.availabilityFree periods of one seminar room per dayRead
- My seminar room bookingsroom-booking.reservationsYour seminar room bookingsRead
- Book seminar roomroom-booking.reserveBook a seminar room for one or two periodsChange
- Cancel seminar room bookingroom-booking.cancelCancel one of your seminar room bookingsChange
- Attendee groupsroom-booking.groupsYour saved attendee groupsRead
- Save attendee grouproom-booking.saveGroupSave a group of attendees to reuse when bookingChange
- Delete attendee grouproom-booking.deleteGroupDelete a saved attendee groupChange
System capabilities
Campus sign-in
Uses your signed-in campus session. Your password never leaves your phone.
Network
Connects to servers on the internet.
Cloud data
Does not use PKU harness Cloud.
Checks
- Maintained by pkuinfo. The source code is in the official plugins repository.
Instructions for the AI
The body text of PLUGIN.md. It is sent to the model together with the plugin.
北大空间(bdkj.pku.edu.cn)学术研讨教室:用户说借教室、订研讨室、预约讨论间时用。
- 流程:room-booking__rooms 列出楼和教室(可按楼、人数筛选)→ room-booking__availability 看某间教室每天的空闲节次 → room-booking__reserve 提交。
- 每天 13 节、每节 50 分钟(08:00–22:30),一次最多连续 2 节;预约时间用 availability 返回的节次起止时间。
- 每间教室有「至少 N 人起约」和容量限制,预约至少 3 人,参与人必须包含申请人(用户本人);每人要学号和姓名。参与人必须由用户明确给出,不要编造或沿用别人的名单。用户固定的一组人可以用 room-booking__saveGroup 存成分组,之后 reserve 传 group。
- reserve / cancel 会真的改动学校的预约记录:提交前把教室、时间、事由、参与人跟用户确认一遍。
- room-booking__reservations 查看我的预约(含可取消的 id),cancel 传那里的 id。
- 如果提示需要完善「个人信息」,原样告诉用户去浏览器打开 https://bdkj.pku.edu.cn/personal 完成,不要反复重试。
Manifest
The frontmatter of PLUGIN.md, exactly as written. Source: plugins/room-booking/PLUGIN.md. Field reference
spec: 1
id: room-booking
name: 研讨室预约
description: 北大空间:二教、四教、地学楼学术研讨教室的查询、预约和取消。
version: 0.2.0
author: pkuinfo
icon: room
homepage: https://github.com/pkuinfo/pku-harness-plugins/tree/main/plugins/room-booking
requires: [campus-session, network]
# 北大空间 学术研讨教室预约 (bdkj.pku.edu.cn, redesigned 2026-10; pkucli crates/bdkj for the older
# flows). The harness adapter `bdkj` holds the session and follows redirects, so `as: response`
# gives the final URL: a bounce to /personal means the profile must be completed in a browser,
# and a submit that lands on /classRoom succeeded. Participant groups (groups.rs) live in KV.
campus: [bdkj]
shared: shared.yaml
tools:
rooms: tools/rooms.yaml
availability: tools/availability.yaml
reservations: tools/reservations.yaml
reserve: tools/reserve.yaml
cancel: tools/cancel.yaml
groups: tools/groups.yaml
saveGroup: tools/saveGroup.yaml
deleteGroup: tools/deleteGroup.yaml
i18n:
en:
name: Seminar rooms
description: 'PKU Space: find, book and cancel seminar rooms in the Second and Fourth Teaching Buildings and the Geoscience Building.'
tools:
rooms: { title: Seminar rooms, summary: 'Seminar rooms in the Second and Fourth Teaching Buildings and the Geoscience Building' }
availability: { title: Free time slots, summary: Free periods of one seminar room per day }
reservations: { title: My seminar room bookings, summary: Your seminar room bookings }
reserve: { title: Book seminar room, summary: Book a seminar room for one or two periods }
cancel: { title: Cancel seminar room booking, summary: Cancel one of your seminar room bookings }
groups: { title: Attendee groups, summary: Your saved attendee groups }
saveGroup: { title: Save attendee group, summary: Save a group of attendees to reuse when booking }
deleteGroup: { title: Delete attendee group, summary: Delete a saved attendee group }{
"id": "room-booking",
"name": "研讨室预约",
"description": "北大空间:二教、四教、地学楼研讨教室的查询、空闲时段、预约和取消。",
"author": "pkuinfo",
"kind": "builtin",
"auth": "none",
"icon": "room",
"requires": [
"campus-session",
"network"
],
"scopes": [
"bdkj.pku.edu.cn"
],
"tags": [
"official",
"campus"
],
"version": "0.2.0",
"i18n": {
"en": {
"name": "Seminar rooms",
"description": "PKU Space: find, book and cancel seminar rooms in the Second and Fourth Teaching Buildings and the Geoscience Building."
}
}
}Other plugins in this repository
pkuinfo/pku-harness-pluginsGenerative UIOfficial
ui
Lets the AI build native UI in the chat: forms, pickers and data cards.
No campus sign-in
DashboardOfficial
dashboard
A dashboard the AI builds for you and you can change any time.
No campus sign-in
Reminders and scheduled tasksOfficial
scheduler
On-time local reminders, plus scheduled checks on your data (like a balance) that notify you when a condition is met.
No campus sign-in
To-dosOfficial
todo
To-dos with due dates, on-time reminders, an important flag and repeats, plus a dashboard widget.
No campus sign-in
TimetableOfficial
timetable
Your class timetable, today’s classes and class reminders.
No campus sign-in
Official timetableOfficial
course-sync
Syncs this semester’s timetable from the university into Schedule.
Uses your campus sign-in forTreehole