个人账户设置
管理个人资料、密码、TOTP、已连接账户与账户删除
个人设置是一个对话框,不是独立页面:从右上角头像菜单选择个人资料打开,标题为设置,内含个人资料与账户安全两个标签页。没有 /settings 或 /profile 路由;时区、活跃会话列表、数据导出与隐私开关均未实现(Roadmap)。
个人资料标签
用于维护头像、用户名与邮箱。
| 字段 | 说明 |
|---|---|
| 头像 | 点击上传,推荐 200x200 像素,支持 JPG / PNG / GIF |
| 用户名 | 全局唯一,最多 50 字符;重名返回 5002(user_with_username_exists) |
| 邮箱 | 全局唯一;与他人重复返回 5003(user_with_email_exists) |
修改邮箱:仅当站点开启 email_verification 且邮箱确实发生变化时,才需要验证新地址。
- 修改邮箱输入框内容后,下方出现验证区域。
- 点击发送验证码,新邮箱会收到 6 位验证码(用途
profile_email)。 - 输入 6 位验证码,再点击保存更改。
- 重发冷却
60秒,冷却中按钮显示剩余秒数。 - 验证码错误或过期返回
5005(verification_code_invalid),保存被拒绝。 - 保存成功后该邮箱直接标记为已验证,并写入审计日志。
- 只改用户名或头像时不需要验证码;没有任何改动时点击保存会提示“没有需要保存的更改”。
账户安全标签
标签页内自上而下为:关联账号(仅在有 SSO 连接时出现)→ 双因素认证 → 密码 → 危险操作。
关联账号(SSO)
卡片列出已连接的 SSO 提供商,显示提供商图标、显示名称与最后登录时间。
- 点击解除关联并在确认框中确认即可解绑该提供商。
- 防自锁保护:若账户没有本地密码且只剩这一条 SSO 连接,后端会拒绝解绑(
cannot_disconnect_only_auth_method)。 - 用户侧没有主动绑定的按钮——连接在登录时按邮箱自动建立,详见 SSO 配置。
双因素认证(TOTP)
未启用时:卡片显示双因素认证未启用,点击启用双因素认证打开向导:
- 第一步说明双因素认证的作用。
- 第二步展示二维码(issuer 为
Clouisle),用身份验证器扫码或手动输入密钥。 - 第三步输入当前的 6 位验证码完成校验。
- 第四步保存一次性备份码——一次生成 10 个,格式
XXXX-XXXX,可下载或一键复制。 - 最后一步确认完成。
向导调用 POST /api/v1/totp/setup 生成密钥与备份码时尚未启用双因素认证,只有 POST /api/v1/totp/enable 校验验证码后才真正启用。
已启用时:卡片显示双因素认证已启用、启用于时间与剩余备份码数量(界面文案为 剩余 {count} 个备份码),并提供两个操作:
- 重新生成备份码:输入当前 6 位验证码后生成新的一批 10 个,旧备份码立即全部失效;新码可在对话框内下载或复制。
- 禁用双因素认证:确认框需要同时提供账户密码与当前验证码(也可切换到备份码输入);密码错误返回
2003,验证码错误返回5311。成功后密钥与备份码一并清空,状态回到未启用。
验证码错误、限速与丢失访问的处理见登录与账户安全。
密码
卡片标题取决于账户类型:
- 修改密码(账户有本地密码):需要填写当前密码、新密码、确认新密码,点击更新密码。
- 设置密码(账户通过 SSO 创建、尚无本地密码):只需填写新密码与确认密码。
密码状态区块只对本地账户加载(auth_source === "local"):
- 已过期显示红色告警;剩余不足 7 天显示黄色预警;同时展示密码过期时间。
- 被标记为豁免过期策略的用户不显示该区块。
常见返回:
| 情况 | 结果 |
|---|---|
| 当前密码错误 | 2003(current_password_incorrect) |
| 不符合密码策略或复用了历史密码 | 1001,字段错误中给出逐条原因 |
| 未满足密码最短保留期 | 5306(password_min_age_not_met),附带剩余天数 |
成功后会刷新密码时间戳、重算过期时间、清除强制改密标记,并发送 security.password_changed 通知。
已知限制:SSO 账户的「设置密码」当前不生效
设置密码分支会把新密码提交到 PUT /api/v1/users/me,而该接口只接受 username、email、email_verification_code、avatar_url、locale 五个字段,请求里的 password 被静默忽略——界面会提示成功,但密码并未写入(Roadmap)。需要为 SSO 账户设置首个本地密码时,请由管理员在用户管理中直接设置。
删除账户
永久删除
删除账户不可恢复,且没有临时停用或重新激活流程。删除前请确认重要数据已备份或转移。
入口只在站点开启 allow_account_deletion 时出现(关闭时后端返回 account_deletion_disabled)。
- 在危险操作卡片点击删除账户。
- 阅读确认框中的警告。
- 输入当前密码。
- 点击删除账户。
限制与影响:
- 超级管理员不能删除自己(
cannot_delete_superuser_account)。 - 校验的是本地密码,因此没有本地密码的 SSO 账户无法自助删除(校验会失败)。这类账户需要由管理员处理(注意管理员删除用户的接口同样禁止删除超级管理员)。
- 级联删除:会话与消息、Agent 运行记录、个人记忆、API 密钥、密码历史、SSO 连接、团队成员关系(含
owner角色)、用户通知、角色分配。 - 不会删除:上传的文件、Agent / 工作流 / 知识库 / 工具 / 技能等资源的记录——这些的创建者字段会被置空(
SET_NULL),资源仍留在团队中;团队本身也会保留,只是失去所有者(团队所有权字段被置空),系统不会阻止所有者删除账户,也不会自动转移所有权,请先手动转移。
删除成功后本地令牌被清除并跳转到登录页。
外观与语言
外观与语言不在个人设置对话框里,而在导航栏的外观设置面板(Settings Drawer)中,修改立即生效:
| 区块 | 选项 |
|---|---|
| 主题 | 跟随系统 / 浅色 / 深色 |
| 侧边栏 | 默认 / 嵌入式 / 浮动式 |
| 布局 | 默认 / 紧凑 / 全宽 |
| 导航布局 | 默认 / 居中 / 极简 |
| 方向 | 从左到右 / 从右到左 |
| 语言 | English / 中文 |
- 主题、侧边栏、布局、导航布局与方向保存在浏览器本地(
localStorage),只影响当前浏览器。 - 语言会写入
localeCookie(有效期一年);已登录时会同步到账户的locale字段,因此换浏览器后依然生效。 - 面板底部的重置按钮可恢复默认外观(不改变语言与账户信息)。
- 登录页与注册页的角落另有语言切换器,无需登录即可切换。
API 密钥
API 密钥在独立页面管理,不在个人设置中:
- 打开头像菜单,选择 API 密钥(仅当账户具备
apikey:read权限时显示)。 - 或直接访问
/app/api-keys。
创建、绑定、停用与限制说明见 API 密钥。
我的记忆
头像菜单中的我的记忆(/app/memories)打开个人记忆图谱页,标题我的记忆、副标题「探索 AI 对你的了解」。在这里可以:
- 按关键词搜索记忆实体,或按实体类型筛选。
- 在网格布局 / 层次布局 / 径向布局之间切换图谱视图,支持放大、缩小与适应视图。
- 查看实体的属性、出向关系与入向关系、访问次数与最后访问时间。
- 使用框选模式批量选择实体并删除选中,或编辑单个实体的描述、删除单条实体/关系。
- 尚未积累记忆时显示还没有记忆空状态,可直接点击开始对话去创建。
记忆的提取规则、实体与关系类型、检索与时间衰减算法详见记忆与上下文。
通知中心
通知中心(/app/notifications)集中显示全站、团队与个人通知,支持搜索、按未读筛选与标记已读;头像菜单上的铃铛展示未读数量(超过 99 显示 99+)。
可触发自动通知的事件包括:文档处理、工作流运行、Agent 发布、API Key 即将过期/已过期(剩余 7 / 3 / 1 天提醒)、密码过期、账户锁定与新设备登录等安全事件。
当前版本没有面向用户的按类型开关、邮件摘要、免打扰时段或推送偏好——通知渠道与全局开关由管理员在站点设置中管理。浏览器桌面通知的授权由用户在本机授予。
详见通知与外部渠道。
故障排除
无法保存个人资料
- 检查网络连接,确认必填字段已填写。
- 查看字段下方的错误提示(如
5002用户名已存在、5003邮箱已存在)。 - 修改邮箱时确认已发送并填写 6 位验证码(
5005表示验证码无效或过期)。 - 刷新页面后重试。
收不到邮箱验证码
- 点击发送验证码后检查收件箱与垃圾邮件文件夹。
- 注意 60 秒重发冷却,冷却结束后再试。
- 确认输入的是新邮箱地址,验证码只发往新地址。
- 若站点未配置 SMTP,发送接口会返回
5007,需要管理员先配置邮件。
TOTP 无法启用或丢失访问
- 确认设备时间已自动同步(校验窗口 ±30 秒)。
- 试用一次性备份码登录。
- 备份码用尽时联系管理员解绑 TOTP 后重新绑定。
- 禁用 TOTP 需要密码 + 验证码两项,缺一不可。
无法删除账户
- 若按钮不存在,说明站点关闭了
allow_account_deletion。 - 超级管理员账户无法自我删除。
- SSO 自动创建、没有本地密码的账户无法自助删除,请联系管理员。
语言切换后界面未变
- 等待页面刷新完成(切换会触发一次刷新)。
- 清除站点 Cookie 后重新登录,让
locale重新同步。 - 确认浏览器未通过翻译扩展覆盖界面文案。
最佳实践
推荐
- 使用强唯一密码并开启 TOTP,备份码离线保存。
- 保持邮箱地址最新——它是密码恢复与通知的唯一通道。
- 定期检查已连接的 SSO 账户与最近登录通知。
- 删除账户前先转移团队所有权、导出需要保留的内容。
避免
- 在共享设备上关闭 TOTP。
- 忽略安全类通知。
- 依赖个人设置里的“设置密码”为 SSO 账户建立首个密码(见上文已知限制)。
参见
这篇文章对你有帮助吗?