管理员指令与访问控制:权限体系实操
权限体系就两个问题:谁是管理员,管理员能干哪些别人不能干的事。
把自己变成管理员
两步,也是所有权限配置的原型:
- 在聊天里发 /sid,拿到自己的用户 ID
- 打开「配置文件」(选机器人用的那份)→「访问控制 → 管理员 → 管理员 ID」,把 ID 加进去
- 右下角「保存配置」
多个管理员就是往名单里多加几个 ID,每行一个。
管理员专属指令
下面这些默认只对管理员开放:
- /op、/deop——授予、撤销管理员身份
- /persona、/provider、/model——切人格、切提供商、切模型
- /plugin——插件管理
- /name——改机器人名字
- /dashboard_update——更新管理面板
- /llm、/groupnew——大模型与会话管理操作
普通用户敲这些指令会收到无权限提示,不是故障。指令的启停与改名在指令管理。
电脑能力:为什么默认锁死
「AI → 能力 → 使用电脑能力」是权限体系里风险最高的开关——它允许 Agent 读写文件、执行代码,直接操作部署机器。官方的安全设计:
- 运行环境选 local 时,默认仅管理员可用电脑能力
- 运行环境选 sandbox 时,所有用户都能用,但代码在隔离沙箱里跑,见 Agent 沙盒环境
- 选 none 则彻底关闭
个人设备上想「让机器人帮我整理桌面文件」,就是 local + 管理员名单的组合。群开放场景绝不要用 local 全开——等于把服务器 shell 交给所有群友。
访问控制的日常运维
- 定期复核管理员名单:ID 对应的是平台账号,成员离职退群后及时移除
- 管理员 ≠ 面板账号:面板登录是 WebUI 层的账号体系(astrbot + 密码 + 双因素),聊天内管理员是消息层的权限,两套独立
- 黑名单与拉黑:单个会话的静音走自定义规则,成员级拉黑按各平台插件的实现为准
权限配置的核心心法:能力默认收窄,按名单放开。反着来的话,事故只是时间问题。