原文链接
https://novusai-saas.github.io/en/en/docs/api-reference/user-api.md用户API
本文引用的源码与文档
本文档引用的文件
- backend/app/api/user/auth.py
- backend/app/api/user/agents.py
- backend/app/api/user/agent_chat.py
- backend/app/api/user/attachments.py
- backend/app/api/user/permissions.py
- backend/app/services/common/auth_domains/session_password.py
- backend/app/models/common/user_preference.py
- backend/app/services/common/user_preference_service.py
目录
简介
本文件为用户API的详细技术文档,覆盖普通用户(租户业务用户)的RESTful接口能力,包括:
- 个人认证与会话管理:登录、登出、注册、验证码登录、密码修改、忘记/重置密码、Token刷新
- 智能体访问:可用智能体列表查询、智能体知识库绑定查询
- 对话交互:非流式与SSE流式对话、智能路由、对话历史查询与管理、会话记忆管理
- 附件管理:文件预检(秒传)、上传、详情、预览链接、下载、上传规则
- 权限与菜单:当前用户菜单树查询
- 用户偏好设置:分层偏好体系(平台/企业全局、管理员/企业管理员覆盖)
- 隐私与权限边界:基于租户隔离、用户身份与资源访问控制
本文件同时解释会话管理、令牌刷新与安全验证机制,并提供实际使用示例路径与最佳实践。
项目结构
用户API位于后端应用的用户子模块,采用按功能分层的组织方式:
- 认证与个人资料:/backend/app/api/user/auth.py
- 智能体列表与访问:/backend/app/api/user/agents.py
- 对话交互与记忆:/backend/app/api/user/agent_chat.py
- 附件上传与下载:/backend/app/api/user/attachments.py
- 权限与菜单:/backend/app/api/user/permissions.py
- 会话与令牌域:/backend/app/services/common/auth_domains/session_password.py
- 用户偏好模型与服务:/backend/app/models/common/user_preference.py、/backend/app/services/common/user_preference_service.py
图表来源
- backend/app/api/user/auth.py:1-420
- backend/app/api/user/agents.py:1-118
- backend/app/api/user/agent_chat.py:1-502
- backend/app/api/user/attachments.py:1-243
- backend/app/api/user/permissions.py:1-65
- backend/app/services/common/auth_domains/session_password.py:1-59
- backend/app/models/common/user_preference.py:1-78
- backend/app/services/common/user_preference_service.py:1-414
章节来源
- backend/app/api/user/auth.py:1-420
- backend/app/api/user/agents.py:1-118
- backend/app/api/user/agent_chat.py:1-502
- backend/app/api/user/attachments.py:1-243
- backend/app/api/user/permissions.py:1-65
- backend/app/services/common/auth_domains/session_password.py:1-59
- backend/app/models/common/user_preference.py:1-78
- backend/app/services/common/user_preference_service.py:1-414
核心组件
- 认证与个人资料:提供登录、验证码登录、注册、密码修改/重置、登出、个人信息查询与更新等端点;支持OAuth2表单与JSON两种登录格式;集成验证码与速率限制;支持开发环境引导登录。
- 智能体访问:提供可用智能体列表查询与智能体绑定知识库查询;强制校验AI访问权限与用户访问权限。
- 对话交互:支持非流式与SSE流式对话;提供智能路由、对话列表与详情、标题更新、删除、上下文压缩快照、时间线、会话记忆状态查询与清理、重建快照等。
- 附件管理:提供文件预检(秒传)、上传、详情查询、预览URL、下载(本地直链或重定向)、上传规则查询;严格控制可见性与访问范围。
- 权限与菜单:提供当前用户菜单树查询,用于前端动态渲染。
- 用户偏好设置:分层偏好体系(平台/企 业全局、管理员/企业管理员覆盖),支持系统默认、全局与个人覆盖逐层合并,以及全局变更时对个人覆盖的精准清理。
章节来源
- backend/app/api/user/auth.py:81-416
- backend/app/api/user/agents.py:81-111
- backend/app/api/user/agent_chat.py:105-495
- backend/app/api/user/attachments.py:71-242
- backend/app/api/user/permissions.py:43-58
- backend/app/models/common/user_preference.py:15-74
- backend/app/services/common/user_preference_service.py:133-312
架构总览
用户API围绕“认证—授权—服务—存储”分层设计,统一通过装饰器进行权限控制与资源划分,服务层负责业务编排与跨模块协作。
图表来源
- backend/app/api/user/auth.py:47-416
- backend/app/api/user/agents.py:39-115
- backend/app/api/user/agent_chat.py:52-499
- backend/app/api/user/attachments.py:32-242
- backend/app/api/user/permissions.py:28-62
- backend/app/services/common/auth_domains/session_password.py:20-59
- backend/app/services/common/user_preference_service.py:133-312