# memind_adm 103 收口方案(2026-06-26) ## 当前判断 `memind_adm` 是三个仓库里最需要继续做“差异回收”的一个。 已确认: 1. `103` 运行目录:`/Users/john/Project/memind_adm` 2. `103` 目录仍是 Git 工作树,但存在大量工作区漂移。 3. 本地 `test-memindadm` 与 `103` 的主要分叉集中在用户详情、空间额度、套餐同步、启动装配。 ## 当前高价值差异 ### 线上独有 - `server/llm-provider-loader.mjs` 说明: 线上仍保留一层 provider 加载包装逻辑,本地主线已经切到共享实现。 ### 本地主线独有 - `server/plan-sync.mjs` - 用户详情空间字段相关前后端改动 - 生产发布规则与 `release-prod.sh` 说明: 这部分更像你现在真正想推进的新主线能力,不应该被线上旧装配回压掉。 ### 双方都改了 - `server/app.mjs` - `server/bootstrap.mjs` - `server/index.mjs` - `src/admin/pages/BillingPage.tsx` - `src/admin/pages/UserDetailPage.tsx` - `src/admin/pages/UsersPage.tsx` - `src/api/client.ts` - `src/types.ts` ## 收口目标 把 `memind_adm` 从“线上和本地双向分叉”收口成: 1. 本地 `test-memindadm` 是唯一源码真相。 2. `103` 不再保留未回收的独立逻辑分叉。 3. 用户详情、空间额度、套餐同步、共享用户体系都以本地主线为准。 ## 具体执行步骤 ### 第一步:锁定必须保留的本地主线能力 这一组应默认保留: 1. 用户详情页独立拉取 2. `spaceQuotaBytes` 3. `spaceUsedBytes` 4. `spaceReservedBytes` 5. `spaceAvailableBytes` 6. 计划同步与同步结果展示 原因: 这组能力与近期真实需求直接相关,不应为了回收线上旧逻辑而退回。 ### 第二步:单独审查线上独有装配逻辑 重点只看: - `server/llm-provider-loader.mjs` 审查目标: 1. 它是否只是旧兼容层 2. 它是否包含线上必需但本地没吸收的行为 处理原则: 1. 如果只是兼容包装,就把必要逻辑回收到本地主线并删除分叉。 2. 如果确有线上必需行为,就先吸收进本地主线,再发布。 ### 第三步:不要再把线上旧代码当默认正确答案 `103` 这里的作用只有两个: 1. 证明线上曾经这样跑过 2. 提供必须回收的旧逻辑证据 它不是: 1. 后续开发主线 2. 可继续直接修代码的地方 ### 第四步:做第一次本地主线收口发布 1. 在本地完成必要逻辑吸收。 2. 整理成最小 commit。 3. 用 `bash scripts/release-prod.sh` 发布到 `103`。 4. 发布后验证: - `http://127.0.0.1:8085/health` - `http://127.0.0.1:5174/` - 真实登录 - `/admin-api/users` - 用户详情页 - 空间字段展示与更新 ## 何时算收口完成 满足以下条件即可视为完成: 1. `server/llm-provider-loader.mjs` 的必要行为已被明确处理 2. 空间额度与用户详情逻辑只在本地主线维护 3. 最近一次线上版本来自本地发布包 4. 共享用户体系与后台业务路径验收通过