Skip to content

安全与权限控制

为 IM 渠道的机器人设置访客权限,控制哪些用户可以让数字人执行哪些操作。


背景

没有权限控制时,任何给机器人发消息的人都拥有和你本地操作 Halo 相同的权限——包括执行 Shell 命令、读写文件等高危能力。

对于对外开放的机器人(比如给全公司用的企业微信机器人),这是一个安全风险。

权限控制功能让你区分"管理员"(Owner)和"访客"(Guest),并精细控制访客能使用的工具范围。


开启方式

设置 → 消息通道 中,展开对应的机器人实例卡片,找到 Permission Control 开关,打开即可。

每个机器人实例的权限配置独立,不同机器人可以有不同的策略。


身份识别:Owner vs Guest

角色判断依据权限
Owner(管理员)发消息者的平台 User ID 在 Owner 列表中无限制,等同于本地操作
Guest(访客)不在 Owner 列表中的所有人受 Guest Policy 约束

在 Owner 输入框中填写管理员的企业微信/微信 User ID(每行一个,或用逗号分隔)。

如何获取 User ID?

直接问数字人:"我的 User ID 是什么?",数字人会在回复中告知。


访客权限配置

开关:是否允许访客使用数字人

  • 关闭:非 Owner 的消息直接被拒绝,数字人不响应
  • 开启:访客可以和数字人对话,但受下方工具限制约束

工具权限(Tool Permissions)

控制访客能使用哪些 Claude Code 内置工具,按风险级别分为四组:

分组包含工具访客默认
文件读取Read、Glob、Grep✅ 开启
网络WebFetch、WebSearch✅ 开启
其他TodoWrite、Skill 等✅ 开启
高级(危险)Bash、Write、Edit、NotebookEdit关闭

高级工具默认关闭

Bash(执行任意命令)、Write/Edit(写文件)默认对访客禁用。

开启前请确认:你信任所有可能向机器人发消息的人。公司内网机器人面向全员时,建议保持关闭。


Halo 能力(Halo Capabilities)

控制访客是否能触发 Halo 特定功能:

能力说明默认
AI 浏览器控制浏览器自动化❌ 关闭
邮件发送/读取邮件❌ 关闭
通知向其他渠道发送通知❌ 关闭
数字人管理创建/修改/删除数字人❌ 关闭
文件发送通过 IM 发送文件❌ 关闭

根据实际需求逐一开启,遵循最小权限原则。


MCP 服务器访问

你安装的第三方 MCP 服务器默认对访客不可见。可以在权限面板中逐个打开,允许访客使用特定 MCP。

系统内置的安全 MCP(web-searchhalo-reporthalo-memory)始终对访客可用。


典型配置示例

场景 1:公司全员知识库机器人

只允许查询,不允许执行任何操作:

  • 访客开启:✅
  • 工具:仅开启"文件读取"和"网络"
  • 高级工具:❌
  • 所有 Halo 能力:❌

场景 2:研发团队自动化助手

允许查询和运行代码,但不允许外发通知:

  • 访客开启:✅
  • 工具:文件读取 + 网络 + 高级(Bash/Write/Edit)
  • 通知/邮件:❌
  • 其他 Halo 能力:按需

场景 3:只有我自己用的私人助理

直接在 Owner 列表中填写自己的 User ID,不开访客访问即可。


企业级默认配置

面向企业部署

企业版 Halo 可以在 product.json 中统一设置所有新机器人的默认权限策略(imChannels.permissionControl),无需每个实例手动配置。联系管理员或查看部署文档了解详情。