新人入门 · Onboarding

Softie 项目知识库

Softie 是一个面向美国市场的 AI 陪伴聊天产品。这是新人入职后从零到能独立修 bug、上线功能所需的全部背景知识 —— 架构、开发、部署、监控、踩坑都在这里。

产品 · AI 陪伴聊天 + 角色 UGC + 媒体生成 目标市场 · 美国(英语为主) 团队规模 · 2 人

项目快照

技术栈
Next.js 15 · TS
App Router · Turbopack · Drizzle ORM
部署平台
Fly.io (LAX)
app: softieweb · main → 自动部署
数据库
PostgreSQL
Drizzle migrations · Redis(BullMQ+SSE)
前端入口
www.softie.ai
Web + Capacitor Android(Google Play)

新人必读 · 四件大事

① 别动 messages 表

当前消息系统是 messagesV2。老的 messages 表已废弃,但仍有遗留代码。所有读写都走 V2,转纯文本用 convertMessageToPreviewText()

② ID 有两种,不要混

Better Auth 的 session.user.id 是 text;DB 业务表(orders/messagesV2)的 userId 是 UUID。需要用 businessUser.id 翻译,否则 postgres 直接报错并 500。

③ 部署不会自动跑 migration

Fly.io 部署仅启动新容器,不跑 db:migrate。新 migration 必须在 GHA workflow 里显式调用,否则线上 DB 会落后导致 42703。

④ 推完代码 ≠ 已部署

必须 gh run list 确认 CI success,再用 curl 验证生产文件包含改动。CI 绿灯不代表 CDN 已刷新(橙云缓存 24h+)。

知识库目录

01 · ARCHITECTURE

系统架构总览

Next.js + Mastra Agents + Drizzle + Redis + R2 是怎么拼在一起的;核心数据流(聊天、支付、推送)如何走;BullMQ Worker 干什么。

阅读 →
02 · GETTING STARTED

本地开发环境

从 0 到能跑起 dev server:依赖、env、Docker Postgres+Redis、常用命令、Android 调试 (JDK 21)、调试技巧。

阅读 →
03 · DEPLOYMENT

部署与 CI/CD

main 分支自动上线流程、GHA workflows 全景、回滚命令、必须遵守的「推完必验」规范、Cloudflare CDN 刷新。

阅读 →
04 · OBSERVABILITY

监控与告警体系

Sentry / PostHog / Langfuse / Clarity 分工;Lark Bot 矩阵(Pay-Bot / Cost-Bot / Ads-Bot);每日数据监控自动化管道。

阅读 →
05 · PAYMENTS

支付与 Sparks 经济

Airwallex 主 + Stripe 备的双轨;订阅 vs Sparks 区别;webhook 幂等;reconcile cron;ID 翻译陷阱与 Branded Types 防御。

阅读 →
06 · LESSONS

踩坑经验(必读)

过去半年踩过的所有坑按主题分类:环境变量、Drizzle、Capacitor、推送、Lark、Fly.io、定价、性能。新人省一周。

阅读 →
07 · CASE STUDIES

高意向潜在付费用户案例

过去 7 天 PostHog + Clarity 抓到的真实「差一步就付款」用户群像。10 个独立案例 · 完整事件时间线 · LLM 解读 + 行动建议。开会用。

阅读 →

外部资源