Hermes Agent团队协作配置:多人共享AI大脑提效指南
多用户共用一个 Hermes Agent 实例,如果权限不做精细化管控,后果很直接——所有用户的会话历史、调用记录、API密钥全部混在一起,数据越权和误操作只是时间问题。要避免这种混乱,必须完成多用户接入与细粒度权限管理配置。本文直接拆解三种主流方案:OAuth2企业SSO集成、本地密码+YAML角色配置、飞书/企微组织架构自动同步。三种路径均支持身份自动同步、角色动态注入与API路径级权限控制,可根据团队规模与基础设施灵活选择。
启用 OAuth2 企业单点登录(SSO)集成
如果企业已部署 Azure AD、Okta 或飞书/企微组织架构,这条路最省事。它自动同步用户身份、部门归属与角色标签,完全不需要手动维护账号列表。
具体操作其实不复杂:打开配置文件 ~/.hermes/config.yaml,定位到 backend.auth 节点。将 type 值设为 "oauth2",然后填入企业 IDP 提供的 client-id、authorization-url 和 token-url。这里有一个必须注意的细节:client-secret 严禁明文写入配置,必须通过安全命令读取,例如设置 backend.auth.client-secret.cmd: "pass show oauth/client-secret"。
保存配置文件后重启服务(hermes restart),所有用户访问 /login 路径时,会自动跳转到企业 SSO 登录页。首次登录成功后,OIDC Claims 中的 department 与 roles 字段会自动注入 Hermes 用户元数据,后续的权限判定就基于这些元数据执行。
本地密码认证 + YAML 角色权限配置
这套方案特别适合还没有部署 SSO 的小团队。所有用户信息与权限规则全部定义在 config.yaml 里,完全自主可控,不需要依赖外部身份提供者。
先做基础用户声明:把 backend.auth.type 改为 "password",然后在 backend.auth.users 下逐条添加用户。每个用户必须包含三个字段:username、password_hash(推荐使用 bcrypt 加密)、roles。
再定义角色能力矩阵:在 backend.permissions 下声明每个角色可访问的 API 路径与 HTTP 方法。举个例子:
admin: - method: ["GET", "POST", "PUT", "DELETE"] path: "/api/v1/agents/*"
viewer: - method: ["GET"] path: "/api/v1/history" - method: ["GET"] path: "/api/v1/status"
特别注意:viewer 角色如果允许任何 POST/PUT/DELETE 操作,就等同于绕过了只读限制,所以配置时必须严格限定。
保存配置并重启服务后,用户就可以通过 Web 登录页用账号密码进入系统,系统会自动根据 roles 字段匹配对应的权限策略。
飞书/企业微信组织架构自动同步
这是最彻底的方案——彻底免去人工增删用户的操作。Hermes Agent 每 15 分钟主动拉取最新成员列表、部门树与自定义字段,权限变更实时生效。
第一步:开通平台权限。登录飞书开放平台,创建自建应用,启用「通讯录-读取成员基本信息」和「消息事件订阅」权限。
第二步:配置同步参数。在 config.yaml 中启用同步模块:sync.enabled: true。填写 sync.provider: "feishu",并填入 app_id 与 app_secret。指定同步目标角色字段:sync.role_field: "custom_attr_003"——注意,需要提前在飞书后台将该字段设为“Hermes 角色”。
第三步:启动同步任务。执行 hermes sync start --provider feishu,首次全量同步约需 90 秒。同步完成后,所有飞书成员将自动生成 Hermes 内部账户,其 roles 值就是飞书中 custom_attr_003 字段的内容,比如 ["editor", "reporter"]。此后每次更新成员或角色,15分钟内部署到位。
选择哪种方案取决于团队的基础设施与规模。小团队直接本地密码+YAML,一步到位;有现成SSO的企业直接集成OAuth2,零维护成本;而飞书/企微用户只需配置一次自动同步,后续完全托管。权限管控这件事,做在前面总比出了事故再修要好得多。
