RemoteCI AstrbotConnector
RemoteCI AstrbotConnector
开发中
AstrBot 插件仍在开发中,需要 AstrBot 4.26 或更新版本。插件仓库:Edge-HH/astrbot_plugin_remoteci。
astrbot_plugin_remoteci 把 RemoteCI 接入 AstrBot 支持的聊天平台(QQ、Telegram、飞书等)。它和 AI Agent Skill 使用同一套 REST API,以聊天用户自己的 RemoteCI 账号执行,能做的事由账号权限决定。
连接账号
私聊机器人,任选一种方式:
/rci 绑定 rci_xxxxxxxx https://remoteci.example.com
/rci 登录 zhangsan 你的密码 https://remoteci.example.com也可以直接说“帮我连上 RemoteCI”,按提示提供服务器地址和凭据。管理员在插件配置里填写 default_server_url 后,可以省略服务器地址。
- 账号密码登录后,插件只保存续期凭据,不保存密码;会话以“AstrBot”设备名出现在“个人账号 → 设备”中。
- 群聊中不接受绑定,并提醒撤回已发送的密码或密钥。
指令与自然语言
发送 /rci 帮助 查看全部指令(/rci 也可写作 /课表)。常用:
| 指令 | 作用 |
|---|---|
/rci 今天、/rci 明天、/rci 本周 | 我的日程(老师、班主任) |
/rci 下节 | 正在上和下一节课 |
/rci 班级 高一(1)班 明天 | 班级课表 |
/rci 提醒 | 查看主动提醒设置 |
/rci 提醒 当日 07:30 | 修改当日日程推送时间 |
/rci 提醒 次日 下课 / /rci 提醒 次日 20:00 | 次日日程在最后一节课下课时 / 固定时间推送 |
/rci 提醒 关 课前 | 关闭课前提醒 |
/rci 通知 高一(1)班 下午班会 | 向教室发送通知 |
/rci 班级改名 高一(1)班 高一(一)班 | 修改班级名称(系统管理员,或获准改名的本班班主任) |
/rci 班级头像 高一(1)班 + 图片 | 把同一条消息里(或回复的)图片设为班级头像,超过 256 KB 会自动缩放压缩 |
/rci 班级头像 清除 | 清除头像,改为显示默认班级图标 |
/rci 换课 待办、/rci 换课 我的 | 发给我的 / 我发起的换课申请 |
/rci 换课 通过 a1b2c3d4 好的、/rci 换课 拒绝 a1b2c3d4 有考试 | 审批换课申请(编号见提醒消息) |
/rci 换课 撤回 a1b2c3d4 | 撤回别人对我的强制换课 |
/rci 设备 | 离线与待升级的教室设备(系统管理员、班主任) |
/rci 课时、/rci 课时 上月、/rci 课时 2026-09-01 2026-09-30 张三 | 课时统计,默认本月;指定教师名仅系统管理员可用 |
/rci 审计 高一(1)班 | 最近 10 条操作记录(系统管理员、班主任) |
/rci 自动化、/rci 自动化 运行 放学关机、/rci 自动化 关 放学关机 | 列出、立即运行、开关自动化规则(系统管理员) |
收到换课提醒后,私聊里可以直接回复“同意 [编号] [备注]”“拒绝 [编号] [理由]”或“撤回 [编号]”(“通过”“批准”同义),24 小时内有效,不必输入 /rci;待处理的不止一条时机器人会列出编号。这些短回复只在确实有待处理申请时生效,不影响普通聊天。
换课、音量、集控广播、班级与账号管理等其他操作直接用自然语言描述即可。电源、远程终端、删除和广播等高影响操作,机器人会先复述并等你确认。
群聊里只有 @ 机器人时才会处理 RemoteCI 请求。
老师的主动提醒
绑定老师或班主任账号后,机器人在私聊中自动提醒:
| 提醒 | 默认 |
|---|---|
| 当天个人日程 | 07:00 |
| 明天个人日程 | 自己最后一节课下课时;当天无课时 17:30 |
| 课前提醒 | 提前 10 分钟 |
| 自己的课被换了 | 开启,每 5 分钟比对一次 |
| 班里的课被换了(班主任) | 开启,含任课教师变化 |
每一项都可以用指令或自然语言单独开关或改时间;个人设置优先于管理员的统一设置。群聊不做个人主动提醒。
换课申请提醒
账号拥有“老师主动换课”权限时,以下情况机器人会在绑定时所用的私聊里约 1 分钟内提醒你,节假日也照常提醒:
- 有人向你申请换课,或强制换走了你的课。
- 你的申请被通过、拒绝,或你的强制换课被撤回。
- 本班课表因换课临时变化(班主任)。
提醒末尾附有可直接回复的指令,例如 /rci 换课 通过 a1b2c3d4。发起换课需要逐节选课,请在 RemoteCI WebUI 或手机 App 的“换课”页完成。
节假日暂停
法定节假日(含调休补班,数据来自 holiday-cn)、可选的“周末视为假期”,以及管理员添加的寒暑假区间内,所有主动推送自动暂停;假期最后一天仍会推送次日日程。
原生卡片
在飞书、钉钉和企业微信中,换课申请(同意 / 拒绝 / 在 RemoteCI 中查看)、强制换课(撤回)、设备离线与恢复(查看设备状态)和自动化执行失败(查看规则)以卡片推送;其他平台推送文本、快捷回复提示和查看链接。
AstrBot 的这三个平台适配器都不把卡片按钮的点击回调交给插件,所以按钮打开的是 RemoteCI 签发的一次性确认链接:在聊天软件内置浏览器里显示申请详情,再点一次“确认”才执行;链接 24 小时有效,只能用一次。钉钉卡片另有“直接回复”按钮,点击即在聊天里发出“同意 编号”。卡片可在插件 WebUI 按平台关闭;服务端版本过旧或平台报错时自动改发文本。生产环境请使用 HTTPS,否则确认链接可能在同一网络中被截获。
| 平台 | 要求 |
|---|---|
| 飞书 | 官方 lark 适配器,应用具备发送消息权限 |
| 钉钉 | dingtalk 适配器(Stream 模式),机器人具备单聊与群聊发消息权限 |
| 企业微信 | 自建应用 wecom 适配器的成员私聊;微信客服模式不支持卡片 |
运维群
在插件 WebUI 把群聊设为“运维群”并选择一个系统管理员账号,群里会收到该账号的设备离线 / 恢复和自动化执行失败通知;系统管理员的私聊也会收到这些通知,两者各自记录推送进度。
插件 WebUI
在 AstrBot 管理面板左侧“插件页面”中打开“RemoteCI”。界面沿用 AstrBot 管理面板的设计,深浅色跟随 AstrBot:
- 账号绑定:聊天身份与 RemoteCI 姓名的对应关系、凭据状态,可刷新或解绑。
- 会话与推送:把私聊设为老师或班主任,或把群聊设为班级群或运维群;按平台开关原生卡片;选择推送个人日程还是班级课表;班级群的定时课表推送需要显式开启。
- 提醒设置:老师提醒的统一默认值。
- 节假日、推送记录。