CoolFace
Apppublic

Rhinox13/chatapi

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
README.md69 linesDownload Raw Back to backend
1# Backend Tree
2
3```text
4backend/
5├── .env.example                              # 后端环境变量示例,说明数据库、管理员、邮件和前端静态资源等配置项
6├── __init__.py                               # 后端包入口,供 Python 以包方式导入
7├── app.py                                    # Flask 应用装配入口,初始化依赖、注册路由、挂载静态站点
8├── main.py                                   # 本地启动入口,通常负责运行 Flask 应用
9├── pyproject.toml                            # 后端项目元数据与 Python 依赖声明
10├── README.md                                 # 当前文档,描述后端代码目录及职责
11├── uv.lock                                   # `uv` 锁文件,固定后端依赖版本
12├── core/                                     # 核心基础设施,放配置、认证上下文、依赖容器
13│   ├── __init__.py                           # 导出 core 子模块公共接口
14│   ├── auth.py                               # 会话鉴权、API Key 鉴权、TOTP 相关基础能力
15│   ├── config.py                             # 读取环境变量并构造全局 Settings
16│   └── dependencies.py                       # 定义 AppDependencies 等依赖注入数据结构
17├── repositories/                             # 数据访问层,封装 SQLite 上的持久化读写
18│   ├── __init__.py                           # 导出仓储层公共类型和构造入口
19│   ├── conversations.py                      # 会话仓储门面,组合 conversation_store 各 mixin
20│   ├── system_config.py                      # 系统配置仓储,管理开关、限制项和会话密钥
21│   ├── users.py                              # 用户、密码、TOTP、API Key 等账户数据读写
22│   └── conversation_store/                   # 会话仓储的细分实现,按职责拆开 CRUD 与统计
23│       ├── __init__.py                       # 导出 conversation_store 子模块公共接口
24│       ├── conversation_crud.py              # 会话创建、更新、删除、标题维护等会话级操作
25│       ├── message_crud.py                   # 消息读写、历史匹配、tool_call 定位等消息级操作
26│       ├── models.py                         # 会话/消息数据模型及 JSON、时间等辅助函数
27│       └── statistics.py                     # 会话消息统计与 usage 估算逻辑
28├── routes/                                   # HTTP/WebSocket 路由层,只负责协议转换和权限边界
29│   ├── __init__.py                           # 汇总导出所有路由注册函数
30│   ├── admin.py                              # 管理员接口,包含用户管理、邮件测试等能力
31│   ├── auth.py                               # 认证路由装配入口,拼装 auth_handlers 各子路由
32│   ├── conversations.py                      # 会话列表、消息查询、删除、批量裁剪等接口
33│   ├── realtime.py                           # WebSocket 实时同步入口,负责订阅和快照下发
34│   ├── responses.py                          # OpenAI/Anthropic/Responses 协议入口及系统配置接口
35│   ├── statistics.py                         # 统计查询接口,对外暴露 usage/报表类数据
36│   ├── uploads.py                            # 图片资源访问与占用统计接口
37│   ├── user_api_keys.py                      # 用户 API Key 管理接口
38│   ├── user_config.py                        # 用户级配置接口,例如自动化规则相关设置
39│   └── auth_handlers/                        # 认证路由细分实现,按注册/登录/密码/TOTP 解耦
40│       ├── __init__.py                       # 导出认证子路由注册函数和共享依赖
41│       ├── common.py                         # 认证共享工具,如验证码存储、GeeTest 校验、公共依赖
42│       ├── password_routes.py                # 找回密码与密码重置相关接口
43│       ├── register_routes.py                # 注册配置、发码、注册提交相关接口
44│       ├── session_routes.py                 # 登录、登出、会话查询相关接口
45│       └── totp_routes.py                    # TOTP 开启、确认、重置相关接口
46└── services/                                 # 业务服务层,承接协议编排、流式输出和辅助能力
47    ├── __init__.py                           # 导出服务层公共接口
48    ├── automation_rules.py                   # 自动化规则引擎,处理心跳和自动输出策略
49    ├── email.py                              # 邮件发送抽象,适配多邮件 provider
50    ├── image_assets.py                       # 图片落盘、内容重写、容量限制与孤儿清理
51    ├── ntfy.py                               # 新消息通知能力
52    ├── output_controller.py                  # 手动输出控制,补全/增量输出写回会话
53    ├── payload_anthropic.py                  # Anthropic 协议响应体构造
54    ├── payload_chat_completions.py           # Chat Completions 协议响应体构造
55    ├── payload_openai.py                     # OpenAI 通用响应与错误体构造、usage 估算
56    ├── pending.py                            # PendingTurn 与请求中的挂起状态管理
57    ├── rate_limit.py                         # 消息频率限制器
58    ├── realtime.py                           # 实时订阅 broker,负责连接管理和事件分发
59    ├── response_payloads.py                  # 不同输出模式下的响应片段/结构拼装
60    ├── response_stream.py                    # 非特定协议的流式响应编排与中断处理
61    ├── stream_anthropic.py                   # Anthropic 协议流式输出实现
62    ├── stream_chat_completions.py            # Chat Completions 协议流式输出实现
63    ├── stream_common.py                      # 各流式协议共享的输出辅助逻辑
64    ├── stream_responses.py                   # Responses API 协议流式输出实现
65    ├── turn_coordinator.py                   # 单轮请求总编排器,负责建会话、入库、挂起和收尾
66    ├── turn_protocols.py                     # 请求协议解析、历史抽取、会话归属推断等通用协议逻辑
67    └── turn_request_tools.py                 # tool schema/name 与响应消息元数据提取等小型辅助函数
68```
69