StudyPulse.CloudAI / 0.7-beta
System architecture

模块化边缘计算架构
与请求数据流。

StudyPulse Cloud AI 是一个 Cloudflare Worker 应用:公开 API、统一登录、用户仪表盘、管理后台、支持与贡献流程共用一个 Worker,但按 Hostname 分离路由和权限。

01 / 边缘拓扑

五个入口,两个状态系统,一个上游模型。

域名隔离让公开调用、用户操作与管理员动作拥有不同的安全语义;D1 负责业务状态,Cloudflare Secrets 负责运行时密钥。

01 / PUBLIC API

spapi.chenkai.space

健康检查、统一认证、用户资料与 /v1/chat。

02 / IDENTITY

auth.chenkai.space

密码、验证码、GitHub OAuth、Session 与 Token 刷新。

03 / USER

dash.studypulse

用户用量、会员、反馈与 GitHub 贡献提交。

04 / ADMIN

admin.chenkai.space

Access SSO 保护的 WebUI 与 REST 管理 API。

05 / SUPPORT

support.chenkai.space

封禁申诉、反馈工单与邮件通知。

Source boundaries

源码结构对应运行时职责。

入口只做路由和编排,Provider 只做上游调用,数据库模块只做持久化;身份、会员、管理和支持各自有独立目录。

src/
├── index.js                 # hostname routing + lifecycle
├── auth.js                  # API Key auth
├── auth/                    # email, session, middleware, OAuth
├── providers/minimax.js     # chat + chatStream
├── database/                # keys + usage writes
├── users/                   # user CRUD and stats
├── membership/              # plans + quotas
├── admin/                   # Access, routes, WebUI
├── dashboard/               # user center
├── support/ appeals/        # tickets and appeals
└── contributions/           # GitHub reward workflow
migrations/ 0001 … 0019
test/       API · admin · auth · support · contributions
02 / 状态模型

D1 记录状态,不记录对话。

D1 里保存用户、Session、Key、会员、用量和审计数据;prompt 与 reply 不进入 request_logs,删除 Key 时关联日志 CASCADE 清理。

表名 (Table) 职责与作用 (Purpose) 关键字段 (Key Fields)
users 统一用户身份、角色与会员状态 id · email_normalized · membership_type
sessions Access / Refresh Token 的哈希与撤销状态 token_hash · revoked_at · device_metadata
api_keys 开发者 Key、启用状态、配额与绑定用户 key_hash · limit_type · user_id
usage_records 按 userId 统计模型和 Token 用量 input_tokens · output_tokens · total_tokens
request_logs 只存请求元数据与延迟,不存内容 status · latency_ms · provider
03 / 运营表面

架构也包含运营者看到的部分。

后台不是旁路工具,而是同一套 D1、身份和用量模型的可视化入口:用户、Key、日志和反馈都从 Worker 的业务状态生成。

StudyPulse admin user management
用户与会员 用户角色、验证状态、GitHub 绑定、会员计划和到期时间集中管理。
StudyPulse create API key dialog
API Key 生命周期 创建时指定用户、限流方式、上限、备注和过期时间,形成可审计的访问凭证。
StudyPulse request logs
请求可观测性 请求日志展示模型、状态、延迟、输入/输出/总 Token 与客户端信息。
StudyPulse feedback management
反馈与支持 用户反馈进入处理队列,管理员回复后保留处理状态,形成产品运营闭环。