ClouisleClouisle

个人账户设置

管理个人资料、密码、TOTP、已连接账户与账户删除

个人设置是一个对话框,不是独立页面:从右上角头像菜单选择个人资料打开,标题为设置,内含个人资料与账户安全两个标签页。没有 /settings 或 /profile 路由;时区、活跃会话列表、数据导出与隐私开关均未实现(Roadmap)。

个人资料标签

用于维护头像、用户名与邮箱。

字段说明
头像点击上传,推荐 200x200 像素,支持 JPG / PNG / GIF
用户名全局唯一,最多 50 字符;重名返回 5002(user_with_username_exists)
邮箱全局唯一;与他人重复返回 5003(user_with_email_exists)

修改邮箱:仅当站点开启 email_verification 且邮箱确实发生变化时,才需要验证新地址。

  1. 修改邮箱输入框内容后,下方出现验证区域。
  2. 点击发送验证码,新邮箱会收到 6 位验证码(用途 profile_email)。
  3. 输入 6 位验证码,再点击保存更改。
  • 重发冷却 60 秒,冷却中按钮显示剩余秒数。
  • 验证码错误或过期返回 5005(verification_code_invalid),保存被拒绝。
  • 保存成功后该邮箱直接标记为已验证,并写入审计日志。
  • 只改用户名或头像时不需要验证码;没有任何改动时点击保存会提示“没有需要保存的更改”。

账户安全标签

标签页内自上而下为:关联账号(仅在有 SSO 连接时出现)→ 双因素认证 → 密码 → 危险操作。

关联账号(SSO)

卡片列出已连接的 SSO 提供商,显示提供商图标、显示名称与最后登录时间。

  • 点击解除关联并在确认框中确认即可解绑该提供商。
  • 防自锁保护:若账户没有本地密码且只剩这一条 SSO 连接,后端会拒绝解绑(cannot_disconnect_only_auth_method)。
  • 用户侧没有主动绑定的按钮——连接在登录时按邮箱自动建立,详见 SSO 配置。

双因素认证(TOTP)

未启用时:卡片显示双因素认证未启用,点击启用双因素认证打开向导:

  1. 第一步说明双因素认证的作用。
  2. 第二步展示二维码(issuer 为 Clouisle),用身份验证器扫码或手动输入密钥。
  3. 第三步输入当前的 6 位验证码完成校验。
  4. 第四步保存一次性备份码——一次生成 10 个,格式 XXXX-XXXX,可下载或一键复制。
  5. 最后一步确认完成。

向导调用 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)。

  1. 在危险操作卡片点击删除账户。
  2. 阅读确认框中的警告。
  3. 输入当前密码。
  4. 点击删除账户。

限制与影响:

  • 超级管理员不能删除自己(cannot_delete_superuser_account)。
  • 校验的是本地密码,因此没有本地密码的 SSO 账户无法自助删除(校验会失败)。这类账户需要由管理员处理(注意管理员删除用户的接口同样禁止删除超级管理员)。
  • 级联删除:会话与消息、Agent 运行记录、个人记忆、API 密钥、密码历史、SSO 连接、团队成员关系(含 owner 角色)、用户通知、角色分配。
  • 不会删除:上传的文件、Agent / 工作流 / 知识库 / 工具 / 技能等资源的记录——这些的创建者字段会被置空(SET_NULL),资源仍留在团队中;团队本身也会保留,只是失去所有者(团队所有权字段被置空),系统不会阻止所有者删除账户,也不会自动转移所有权,请先手动转移。

删除成功后本地令牌被清除并跳转到登录页。

外观与语言

外观与语言不在个人设置对话框里,而在导航栏的外观设置面板(Settings Drawer)中,修改立即生效:

区块选项
主题跟随系统 / 浅色 / 深色
侧边栏默认 / 嵌入式 / 浮动式
布局默认 / 紧凑 / 全宽
导航布局默认 / 居中 / 极简
方向从左到右 / 从右到左
语言English / 中文
  • 主题、侧边栏、布局、导航布局与方向保存在浏览器本地(localStorage),只影响当前浏览器。
  • 语言会写入 locale Cookie(有效期一年);已登录时会同步到账户的 locale 字段,因此换浏览器后依然生效。
  • 面板底部的重置按钮可恢复默认外观(不改变语言与账户信息)。
  • 登录页与注册页的角落另有语言切换器,无需登录即可切换。

API 密钥

API 密钥在独立页面管理,不在个人设置中:

  1. 打开头像菜单,选择 API 密钥(仅当账户具备 apikey:read 权限时显示)。
  2. 或直接访问 /app/api-keys。

创建、绑定、停用与限制说明见 API 密钥。

我的记忆

头像菜单中的我的记忆(/app/memories)打开个人记忆图谱页,标题我的记忆、副标题「探索 AI 对你的了解」。在这里可以:

  • 按关键词搜索记忆实体,或按实体类型筛选。
  • 在网格布局 / 层次布局 / 径向布局之间切换图谱视图,支持放大、缩小与适应视图。
  • 查看实体的属性、出向关系与入向关系、访问次数与最后访问时间。
  • 使用框选模式批量选择实体并删除选中,或编辑单个实体的描述、删除单条实体/关系。
  • 尚未积累记忆时显示还没有记忆空状态,可直接点击开始对话去创建。

记忆的提取规则、实体与关系类型、检索与时间衰减算法详见记忆与上下文。

通知中心

通知中心(/app/notifications)集中显示全站、团队与个人通知,支持搜索、按未读筛选与标记已读;头像菜单上的铃铛展示未读数量(超过 99 显示 99+)。

可触发自动通知的事件包括:文档处理、工作流运行、Agent 发布、API Key 即将过期/已过期(剩余 7 / 3 / 1 天提醒)、密码过期、账户锁定与新设备登录等安全事件。

当前版本没有面向用户的按类型开关、邮件摘要、免打扰时段或推送偏好——通知渠道与全局开关由管理员在站点设置中管理。浏览器桌面通知的授权由用户在本机授予。

详见通知与外部渠道。

故障排除

无法保存个人资料

  1. 检查网络连接,确认必填字段已填写。
  2. 查看字段下方的错误提示(如 5002 用户名已存在、5003 邮箱已存在)。
  3. 修改邮箱时确认已发送并填写 6 位验证码(5005 表示验证码无效或过期)。
  4. 刷新页面后重试。

收不到邮箱验证码

  1. 点击发送验证码后检查收件箱与垃圾邮件文件夹。
  2. 注意 60 秒重发冷却,冷却结束后再试。
  3. 确认输入的是新邮箱地址,验证码只发往新地址。
  4. 若站点未配置 SMTP,发送接口会返回 5007,需要管理员先配置邮件。

TOTP 无法启用或丢失访问

  1. 确认设备时间已自动同步(校验窗口 ±30 秒)。
  2. 试用一次性备份码登录。
  3. 备份码用尽时联系管理员解绑 TOTP 后重新绑定。
  4. 禁用 TOTP 需要密码 + 验证码两项,缺一不可。

无法删除账户

  1. 若按钮不存在,说明站点关闭了 allow_account_deletion。
  2. 超级管理员账户无法自我删除。
  3. SSO 自动创建、没有本地密码的账户无法自助删除,请联系管理员。

语言切换后界面未变

  1. 等待页面刷新完成(切换会触发一次刷新)。
  2. 清除站点 Cookie 后重新登录,让 locale 重新同步。
  3. 确认浏览器未通过翻译扩展覆盖界面文案。

最佳实践

推荐

  • 使用强唯一密码并开启 TOTP,备份码离线保存。
  • 保持邮箱地址最新——它是密码恢复与通知的唯一通道。
  • 定期检查已连接的 SSO 账户与最近登录通知。
  • 删除账户前先转移团队所有权、导出需要保留的内容。

避免

  • 在共享设备上关闭 TOTP。
  • 忽略安全类通知。
  • 依赖个人设置里的“设置密码”为 SSO 账户建立首个密码(见上文已知限制)。

参见

这篇文章对你有帮助吗?

本页目录