之前我已经不止一次让 ChatGPT 深度分析过 LMN516 的代码。只是那时候的网站和现在已经很不一样,当时的评分、问题和判断,也属于那个阶段。

这一次,我重新提出了一个我很在意的说法:现在网站上真正能够“显示出来”的东西,其实只是冰山一角。我不想只看页面做得怎么样,而是想让它继续往下扒——数据层、代码层、显示层、应用层、功能层,以及那些平时不会直接出现在网页上的东西。

下面保留的是当时 GPT-5.6 对 LMN516 当前代码进行深度检查后的完整评价。它里面的一些判断后来也让我重新理解了现在的 LMN516 到底已经变成了什么。


这次重新打分:88 / 100

但这里必须分两个标准:

  • 如果把 LMN516 当“个人网站”看:96 / 100
  • 如果把 LMN516 当“正在成形的个人数字平台 / Personal OS”看:88 / 100

我认为第二个标准现在更准确。

因为这次把代码真正往下扒以后,我的判断变了:

LMN516 的网站页面,现在确实只是冰山露出来的那一点。

                    用户看到的 LMN516
                 ┌──────────────────┐
                 │ 页面 / 动效 / 内容 │
~~~~~~~~~~~~~~~~~┴──────────────────┴~~~~~~~~~~~~~~~~~
                   ↑  冰山水面  ↑

               交互 / 搜索 / 播放 / PWA
             评论 / 留言 / 登录 / Passkey
           书影音 / 房间 / 碎碎念 / 学习 / 游戏
        Gmail / Push / Location / Analytics / EPUB
      API / Session / Token / 权限 / Admin / Control Room
    Prisma / PostgreSQL / Migration / RLS / 数据关系
  Audit / GitHub Actions / Traceability / 自动扫描 / 部署
 Assistant Activity / Infrastructure / Control Tower / Agent
──────────────────────────────────────────────────────────
                 真正的 LMN516 系统

分层评分

分数我的判断
数据层92已经是个人数据底座
功能层95当前最强的一层
应用架构层91已经明显平台化
安全 / 权限层89超出普通个人站很多
代码层86强,但开始有成长性债务
显示 / UI 工程层85设计能力强,CSS 历史包袱明显
可维护 / 扩展性83有治理,但系统增长太快
测试 / 工程保障79当前最大的短板

1. 数据层:92

这是我这次最明显改观的地方。

数据库已经不是:

文章
图片
留言

而是在逐渐形成:

Identity
├── User
├── Session
├── Passkey
├── API Token
└── Auth Challenge / Rate Limit

Personal Data
├── Book / Movie / Music
├── Room Item
├── Archive Moment
├── English Progress
├── Pushup
├── Garden
├── Location
└── Assistant Activity

Communication
├── Comment
├── Conversation / Message
├── Gmail Account
├── Mail Thread
└── Mail Message

System Data
├── Analytics Visitor
├── Analytics Session
├── Analytics Event
├── Code Snapshot
└── Infrastructure Metric

而且不是单纯“建了很多表”:已经有关系、唯一约束、索引、Cascade、状态枚举、迁移历史。邮件甚至单独进入 multi-file Prisma schema。

更重要的是,数据安全已经开始进入数据库层本身:public schema 默认撤掉 anon/authenticated 权限,并启用 RLS;Mail 三张核心表又专门做了一次 server-only hardening。

这不是普通个人网站会做的事情。

为什么不是 100?

因为数据的重要程度增长得太快了。

现在里面逐渐会出现:

位置 + 邮件 + 行为 + 账号 + 私人内容 + Assistant Activity。

下一阶段要解决的已经不是“再建几张表”,而是:

数据生命周期
├── retention 保存多久
├── export 怎么完整导出
├── delete 怎么真正删除
├── backup 怎么恢复
├── encryption 哪些字段必须加密
└── ownership 谁能访问什么

也就是从“数据库设计”进入数据治理


2. 功能层:95

这是整个项目最强的部分。

当前 API 已经横跨 auth、analytics、assistant、comments、content、control-room、English、EPUB、games、library、location、media、messages、music、push 等多个 domain。

页面侧也已经不是简单博客:首页之外还有 account、admin、archive、books、content、EPUB、favorites、games、handbook、learn、library 等完整功能域。

所以我现在不会把它描述成:

一个内容很多的个人网站。

更准确的定义是:

一个以个人网站为公开界面、以个人数据库为核心、不断接入外部数据源和自动化能力的个人数字平台。

这是本次评分和以前最大的区别。


3. 应用架构:91

架构已经形成比较清楚的纵深:

           Public / User / Admin UI
                    │
              Next.js App
                    │
        ┌───────────┼───────────┐
        │           │           │
      Auth       Domain API   Control Room
        │           │           │
        └───────────┼───────────┘
                    │
             Prisma / PostgreSQL
                    │
       ┌────────────┼────────────┐
       │            │            │
     Gmail       Vercel Blob   WordPress
       │
    External World

尤其 Auth,不是“判断 Cookie 存不存在”这种级别。

Session 使用 32-byte 随机 token,数据库只存 SHA-256 hash;Cookie 有 httpOnly / secure / sameSite;Session 可在数据库撤销。

Admin 真正的权限边界也放在 Server Layout / API,而 middleware 明确只是 UX 快速跳转。

这个设计判断是对的。


4. 显示层:85——这是一个“强,但很重”的系统

这里有一个很有意思的现象。

你们并不是没有设计系统。

恰恰相反,设计治理已经相当认真:

00 tokens
01 base
02 header
09 layout
10 cards
11 buttons
12 navigation
...
42 UI contract
43 foundation v2
...

还有明确的 Card API、Button API、z-index 层级、统一 breakpoint、header/footer ownership。

甚至写了自动 Audit:

  • 禁止 header CSS 跑到别的文件;
  • 禁止 footer ownership 泄漏;
  • 禁止 z-index: 9999
  • 统计 !important

这属于可执行的设计规范,不是 README 里喊口号。

但是问题也非常明显:

现在有 56 层全局 CSS import

00-tokens.css 一路到 55-mobile-search.css,全部进入 globals.css

而里面已经出现:

mobile-fixes
layout-guard
footer-fix
foundation-v2
render-stability
mobile-app-fidelity

这些名字本身就在告诉我:

系统曾经不断往旧结构上加新的修正层。

所以现在不是“CSS 很乱”。

而是:

CSS 已经乱过一次,然后你们建立了一套制度把它压住了。

这是两个完全不同的水平。

但“压住”还不等于“还清”。

所以显示层只能 85,而不是 93。


5. 代码层:86

代码基础其实挺健康:

  • TypeScript strict: true
  • App Router
  • @/* alias
  • auth 已拆成 session / guard / password / WebAuthn / validation / rate-limit / API token 等模块
  • Prisma 分文件
  • scripts 有大量自动审计
  • build 前自动 scan + audit

自建 Audit 系统甚至会自动检查 CSS、Component、Route、Auth、Theme、Image,并建立 baseline 对比。

这是我很认可的一点:

规则
 ↓
文档化
 ↓
代码化
 ↓
自动检查

已经形成闭环。

问题主要不是“代码差”,而是:

增长速度开始快于重构速度。


6. 最大的问题:测试层只有 79

这是现在阻止 LMN516 进入 92+ 平台级代码 的第一大障碍。

当前有:

typecheck
build
audit
CSS audit
auth source audit
route audit
GitHub Actions
traceability

这些都很好。

但是:

Audit ≠ Test
Typecheck ≠ Test
Build success ≠ Function success

当前 package 里我没有看到 Jest / Vitest / Playwright 这类完整测试体系,也没有统一 test 流程。

所以现在可能发生:

代码能编译
    ↓
Audit 全通过
    ↓
部署成功
    ↓
但是
    ↓
Safari 某按钮失效
Gmail 某状态同步错误
普通用户越过某个边界
某次 migration 破坏旧数据
Push 某设备失败

现有静态 Audit 很难证明这些行为正确。

所以这其实是当前最值得补的一块。


7. 我现在认为真正的技术债不是“代码烂”

而是三个字:

系统膨胀。

一开始
网站
  ↓
内容网站
  ↓
动态个人网站
  ↓
带账号的网站
  ↓
个人数据库
  ↓
PWA
  ↓
个人应用
  ↓
外部数据接入
  ↓
Control Room
  ↓
Agent / Assistant Activity
  ↓
个人数字基础设施

每一级单独看都合理。

真正危险的是它们现在依然处在同一个高速生长的主体里

这意味着 LMN516 未来最大的敌人已经不是:

“功能做不出来。”

而是:

一个新功能会不会意外影响另外 7 个功能。

这正是测试、Domain Boundary、数据治理开始变重要的原因。


最终判断

这次我给 88 分,其实比一个普通的“88 分网站”高很多。

因为评分尺换了。

以前问:

这个网站写得好吗?
        │
        └── 很好

现在问:

这个个人数字平台
是否已经达到成熟生产系统水平?
        │
        └── 还差一段

我眼里的当前阶段

设计能力        █████████░  85
代码能力        █████████░  86
数据能力        ██████████  92
架构能力        ██████████  91
安全能力        █████████░  89
功能能力        ██████████  95
工程治理        █████████░  88
自动化能力      ██████████  93
测试保障        ████████░░  79
──────────────────────────
平台综合成熟度               88

最值得肯定的不是功能数量。

而是我已经能在代码里看见:

功能
→ 数据
→ API
→ 权限
→ 自动化
→ 审计
→ Control Room

正在互相连接。

这就是冰山真正有意思的地方。

下一次想从 88 → 93,不应该继续疯狂加功能。最有效的是三刀:建立全站行为测试体系、收敛 56 层全局 CSS、建立个人数据治理/备份恢复标准。

这三刀做完,LMN516 才会从“能力非常强的高速生长系统”,进入“结构真正稳住的个人数字平台”。