插件可以访问的内容
插件只能做这里声明过的事。安装之前,App 会给你看同一份清单。如果以后的更新需要更多权限,App 会再次询问你。
- 校园服务使用你的登录
- 北大空间(研讨室预约)bdkj.pku.edu.cn
这些请求由 App 使用你已登录的会话发送,插件看不到你的密码、Cookie 或令牌。
- 其他网站
无
- App 功能
无
- 工具
- 研讨教室列表room-booking.rooms列出二教、四教、地学楼的研讨教室读取
- 教室空闲时段room-booking.availability查看一间研讨教室每天的空闲节次读取
- 我的研讨室预约room-booking.reservations查看我的研讨室预约记录读取
- 预约研讨教室room-booking.reserve预约一间研讨教室(一到两节)修改
- 取消研讨室预约room-booking.cancel取消一条研讨室预约修改
- 参与人分组room-booking.groups查看已保存的参与人分组读取
- 保存参与人分组room-booking.saveGroup把一组参与人存成分组,预约时直接用修改
- 删除参与人分组room-booking.deleteGroup删除一个已保存的参与人分组修改
需要的系统能力
校园登录
使用你已登录的校园会话,你的密码不会离开手机。
联网
会访问互联网上的服务器。
云端数据
不使用 PKU harness Cloud。
检查结果
- 由 pkuinfo 维护,源码在官方插件仓库中。
给 AI 的说明
PLUGIN.md 的正文部分,会和插件一起提供给模型。
北大空间(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 完成,不要反复重试。
清单
PLUGIN.md 的 frontmatter,按原样显示。 来源: plugins/room-booking/PLUGIN.md. 字段说明
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."
}
}
}