`
+- commit `623a7518`,PR #4 → main `5c4b2980`
+
+**Pass 2:移除 footer 技术细节**
+- 用户要求:不要透露项目技术开发细节
+- 删除:`更新日志` 链接(指向 Gitea commits)、`git.puro.im` 链接、`GitHub ↗` 链接、`fork of Wei-Shaw/sub2api` 字样
+- footer-meta 简化为 `© 2026 puro.im`
+- 同步删除 `linkChangelog` i18n key
+- commit `2b6b5fc6`,PR #5 → main `8be87883`
+
+---
+
+## 关键文件清单
+
+新增:
+- `frontend/src/components/puro/PuroLocaleSwitcher.vue`
+- `frontend/src/components/puro/PricingCalculator.vue`
+- `frontend/src/components/layout/PortalLayout.vue`
+- `frontend/src/views/pricing/PricingView.vue`
+
+修改(重点):
+- `frontend/src/router/index.ts` —— 加 `/pricing`、嵌套路由、scrollBehavior
+- `frontend/src/i18n/locales/{zh,en}.ts` —— 新增 portal/landing/docs/pricing/auth.narrative 命名空间
+- `frontend/src/views/{landing,docs,pricing}/*View.vue` —— 全量 i18n 化 + 移除各自 nav/footer
+- `frontend/src/views/auth/{Login,Register}View.vue` —— narrative slot i18n 化
+- `frontend/src/components/layout/AuthLayout.vue` —— 添加右上角语言切换器槽位
+
+---
+
+## commit / PR 索引
+
+| 阶段 | commit | 描述 |
+|---|---|---|
+| 一 | `e711a203` | feat(i18n): add PuroLocaleSwitcher |
+| 一 | `63288818` | mount switcher in Landing/Docs/AuthLayout |
+| 一 | `fc7e2767` | landing i18n keys + EN |
+| 一 | `73b39807` | docs + auth narrative i18n |
+| 一 | `13bdd8f8` | restore dashboard link in models.note |
+| 一 | `b989c503` | PricingView + calculator |
+| 一 | `77bb69b2` | **Merge PR #2** → main |
+| 二 | `779005e1` | unify signup CTA |
+| 二 | `e7f3fe5b` | extract PortalLayout |
+| 二 | `291e3bfe` | **Merge PR #3** → main |
+| 三 | `623a7518` | remove iShare mention |
+| 三 | `5c4b2980` | **Merge PR #4** → main |
+| 三 | `2b6b5fc6` | footer remove tech details |
+| 三 | `8be87883` | **Merge PR #5** → main |
+
+---
+
+## 部署链路
+
+每次 merge 到 main 后:
+1. Gitea webhook 触发 Drone CI
+2. Drone 运行 docker build + 推镜像
+3. VPS 上 docker compose 拉取新镜像 + 重启
+4. 总耗时约 3–5 分钟
+
+每次部署完成的验证手段(curl):
+1. 取 `https://ai.puro.im/` 主 HTML,对比 `/assets/index-*.js` 文件名 hash 是否变化(Vite 内容寻址)
+2. fetch 新 chunk grep 关键字符串确认新代码上线
+3. 5 个门户路由全部 200
+
+---
+
+## 遗留事项 / 下次可继续
+
+**门户层面**
+1. 浏览器实测 nav 持久化无抖动(用户已确认部署,肉眼验证待做)
+2. 翻译效果打磨(用户浏览后发现的不自然处随时改)
+3. Pricing 数字 / 功能列表定稿(从 preview 转正式)
+4. 后端 `SOON` 标记的功能落地:zero-log mode、priority scheduling
+5. Pricing FAQ 中的 24 小时上线新模型 等承诺类文案核实
+
+**Admin / User 页面(之前搁置的两个决策)**
+- 决策 1:Admin reskin 深度(A 全局换肤 / B 深度 port 两页 / C 全量重写)
+- 决策 2:User-facing 页面 vs Admin 页面优先级
+- 推荐路径:Phase 2.1 全局换肤 → 2.2 user pages → 2.3 admin pages
+
+**仓库卫生**
+- `backend/config.prod.yaml`、`backend/sub2api-linux`、`LOCAL_SETUP_NOTES.md` 在某次意外的 `git add -A` 中被提交到 main。
+- 用户判断:因 Gitea 是私有的,先不处理;仅要求前端层面不展示敏感信息(已通过 footer 清理实现)。
+- 建议:下次添加配置 / 二进制类文件前,往 `.gitignore` 补规则(`backend/config.*.yaml`、`backend/sub2api-*` 等),避免再次误提。
+
+---
+
+## 经验教训
+
+1. **不要 `git add -A`** —— 主 worktree 里有累积的本地文件(生产配置、二进制、笔记),一次性 stage 会把这些都带进 commit。后续都用 `git add <具体文件>`。
+2. **设计稿里的 nav = 3 份独立 HTML** ≠ Vue 应该 3 份独立 template —— port 设计稿到 SPA 时,要把跨页共享的部分(nav、footer、layout shell)一开始就抽到 layout 组件。
+3. **Subagent 报告"我做完了"≠ 真的做对了** —— `73b39807` 提交里 subagent 静默删掉了 ``/`