📸 Photo AI - 关于本站

本页面记录了 Photo AI 项目的完整开发流程,从技术选型到功能实现的各个阶段。

项目概述

Photo AI 是一个基于 AI 的摄影助手应用,帮助用户解决摄影相关问题,包括:

  • 摄影技巧问答与建议
  • 照片分析与评价
  • 构图与后期处理指导
  • 历史消息记录与管理

Photo AI 是一个基于现代 Web 技术栈独立设计与实现的全栈个人项目,其技术选型兼顾了开发效率、运行性能与长期可维护性三大维度。前端层采用 Next.js 16 的 App Router 架构与 React 19 构建,借助 Next.js 内置的 Turbopack 构建引擎将本地编译速度提升数倍,结合 React Server Components 与 Client Components 的精细拆分,大幅减少了客户端 JavaScript 包体积,在不牺牲交互体验的前提下获得了更快的首屏渲染与更优的 Lighthouse 性能评分。样式层选用 Tailwind CSS 4 的原子化样式体系,配合其内置的响应式断点与深色模式支持,避免了传统 CSS 的命名冲突与冗余代码,同时保持了视觉设计的高度一致性。类型安全层面,整个项目基于 TypeScript 5 进行严格静态类型检查,结合 React 组件的 Props 泛型约束、Next.js API Routes 的请求/响应类型定义以及数据库 Schema 的类型自动推断,从编译阶段消除了大量潜在的运行时错误,显著提升了代码的健壮性与重构效率。 在后端与服务层,项目初期曾基于 Clerk 实现第三方用户认证,随后经整体评估迁移至 Supabase 一体化平台——既通过 Supabase Auth 承接邮箱、手机号等多种方式的登录注册,又依托其底层的 PostgreSQL 关系型数据库构建了 users、messages、photos、projects、subscriptions 等多张核心业务表,并借助 Row Level Security(行级安全策略)保障数据访问的最小权限原则。AI 能力层通过对接 DeepSeek 与 Claude Code 等大语言模型 API,结合 SSE(Server-Sent Events)流式响应机制实现打字机式的逐字输出效果,并针对长对话场景从消息截断、Token 上限、系统提示词精简三个维度进行了联合优化,使单次 AI 请求的平均 Token 消耗降低了约 40% 至 60%,在保障对话质量的同时有效控制了 API 调用成本。支付与商业化部分集成了 Creem 支付平台,完整覆盖了订阅产品配置、Checkout 会话创建、Webhook 回调签名校验、用户订阅状态同步以及按月配额计费等全链路逻辑,根据用户等级分别提供免费版、Pro 版与 Studio 版三档差异化套餐。国际化方面,项目基于 React Context 自研了一套轻量级的多语言切换方案,无需引入 i18next 等重型依赖,即可实现中文、英文、日文三语之间的毫秒级切换,并通过 localStorage 持久化用户语言偏好,同时为中文、日语等 CJK 文本提供了匹配的字体与排版优化。最后,整个项目通过 Vercel 平台进行托管与发布,利用其 Edge Runtime、边缘区域部署、自动化 CI/CD 流水线以及环境变量分环境管理等能力,实现了代码提交到生产环境上线的一站式流程,在全球多个区域为用户提供低延迟的稳定访问体验。