必须完成多用户接入与细粒度权限管理配置,支持OAuth2企业SSO集成、本地密码+YAML角色配置、飞书/企微组织架构同步三种核心路径,实现身份自动同步、角色动态注入与API路径级权限控制。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让多个团队成员安全、可控地共用同一个 Hermes Agent 实例,既不互相污染上下文,又能按角色执行不同权限的操作,就必须完成多用户接入与细粒度权限管理配置。这一步不做,所有用户登录后看到的会话历史、调用记录、甚至 API 密钥都会混在一起,极易引发数据越权和操作误触。
启用 OAuth2 企业单点登录(SSO)集成
该方式适合已部署 Azure AD、Okta 或飞书/企微组织架构的企业,能自动同步用户身份、部门归属与角色标签,无需手动维护账号列表。
1、打开配置文件:~/.hermes/config.yaml,定位到 backend.auth 节点。
2、将 type 值设为 "oauth2",并填入企业 IDP 提供的 client-id、authorization-url 和 token-url。
3、【client-secret 必须通过安全命令读取,不可明文写入配置】,设置 backend.auth.client-secret.cmd: "pass show oauth/client-secret"。
4、保存后重启服务:hermes restart,所有用户访问 /login 将被重定向至企业 SSO 登录页。
5、首次登录成功后,其 OIDC Claims 中的 department 与 roles 字段会自动注入 Hermes 用户元数据,后续权限判定即基于此。
本地密码认证 + YAML 角色权限配置
适用于未部署 SSO 的小团队,所有用户信息与权限规则全部定义在 config.yaml 中,完全自主可控。
方法一:基础用户声明
1、将 backend.auth.type 改为 "password"。
2、在 backend.auth.users 下逐条添加用户,每项必须包含 username、password_hash(推荐用 bcrypt 加密)、roles 三个字段。
方法二:定义角色能力矩阵
1、在 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"
2、【viewer 角色禁止任何 POST/PUT/DELETE 操作,否则将绕过只读限制】。
3、保存配置并重启服务,用户即可通过 Web 登录页凭账号密码进入,系统自动按 roles 字段匹配权限策略。
飞书/企业微信组织架构自动同步
该方式彻底免去人工增删用户,Hermes Agent 每 15 分钟主动拉取最新成员列表、部门树与自定义字段,权限变更实时生效。
第一步:开通平台权限
1、登录飞书开放平台 → 创建自建应用 → 启用「通讯录-读取成员基本信息」和「消息事件订阅」权限。
第二步:配置同步参数
1、在 config.yaml 中启用同步模块:sync.enabled: true。
2、填写 sync.provider: "feishu",并填入 app_id 与 app_secret。
3、指定同步目标角色字段:sync.role_field: "custom_attr_003"(需提前在飞书后台将该字段设为“Hermes 角色”)。
第三步:启动同步任务
1、执行 hermes sync start --provider feishu,首次全量同步约需 90 秒。
2、同步完成后,所有飞书成员将自动生成 Hermes 内部账户,其 roles 值即为飞书中 custom_attr_003 字段内容,如 ["editor", "reporter"]。


















