118 lines
3.0 KiB
Markdown
118 lines
3.0 KiB
Markdown
# 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. 共享用户体系与后台业务路径验收通过
|