495 lines
18 KiB
Markdown
495 lines
18 KiB
Markdown
# dev_plan.md — TPS 中台开发计划
|
|
|
|
> 项目:TPS(Topic Planning System)中台
|
|
> 仓库:`tps-dashboard`(Gitea)
|
|
> 修订版本:v4 · 2026-05-14
|
|
> 配套文档:`project_plan.md`(产品宪法)+ `.clinerules`(协作规则)+ `docs/git_workflow.md`(Git 操作手册)
|
|
|
|
---
|
|
|
|
## 一、文档定位
|
|
|
|
本文是**技术与阶段宪法**——讲"怎么做、什么时候做、用什么做"。
|
|
|
|
产品 / 业务问题归 `project_plan.md`;协作流程归 `.clinerules`;Git 操作细则归 `docs/git_workflow.md`。
|
|
|
|
---
|
|
|
|
## 二、首要目标(再申明一次)
|
|
|
|
**2-3 个月内交付可用版本,让 8 人团队真的开始用。**
|
|
|
|
**Week 6 末必须有 MVP 上线**(登录 + 仪表盘 + 报题单生成 + 知识库基础设施)——这条比"功能齐全"重要。
|
|
|
|
---
|
|
|
|
## 三、当前进度状态(2026-05-06)
|
|
|
|
### 3.1 家用机已完成
|
|
|
|
> 家用电脑路径:`D:\myApp\Topic Planning\V2`
|
|
|
|
- ✅ Phase 0 环境(Python 3.12 / Node 20 / PG 16 + pgvector / VS Code + Cline)*[家用机记录,单位 4090D 已升级为 Node 22 LTS]*
|
|
- ✅ Phase 1 后端骨架(FastAPI + SQLModel + Session 认证三件套验证通过)
|
|
- ✅ 12 张表 SQL 已写完(`backend/sql/001_init.sql`)
|
|
- ✅ create_admin.py 已写完
|
|
- ❌ Phase 1 前端骨架未做
|
|
|
|
详见 `logs/phase1_log.md`。
|
|
|
|
### 3.2 单位机器(本仓库主战场)
|
|
|
|
- ❌ 一切从零开始
|
|
- ✅ Gitea 已配置(单位 4090D,与爱德华项目共用同一台 Gitea)
|
|
- ✅ 本仓库 `tps-dashboard` 已规划(待创建)
|
|
|
|
---
|
|
|
|
## 四、单位机器接手策略
|
|
|
|
### 4.1 Phase 0 必须重做,但有避坑捷径
|
|
|
|
环境从 0 装,但**家用机踩过的坑全部记入 `.clinerules` 第八章避坑清单**——单位机直接绕过。
|
|
|
|
### 4.2 Phase 1 后端代码:推荐"路径 B"(代码迁移)
|
|
|
|
**两条路可选,制片人在 Phase 1 启动时拍板**:
|
|
|
|
**路径 A — 重写**:Sonnet + DeepSeek 在单位机重新生成所有后端文件
|
|
- 优点:全新干净
|
|
- 缺点:浪费一天
|
|
|
|
**路径 B — 迁移(推荐)**:
|
|
1. 制片人在家用机把 `backend/` 整个目录打包 zip
|
|
2. 拷到单位机,解压进 `tps-dashboard/backend/`
|
|
3. Cline 跑一遍 Plan,MiniMax M2.7 审一遍代码确认与新版宪法一致
|
|
4. 修任何不一致(目前看应无重大不一致)
|
|
5. 跑一遍 `pip install + psql + create_admin + uvicorn` 验证
|
|
|
|
**推荐 B 的核心理由**:家用机后端代码已通过认证三件套实测,质量已验证;重写无新增价值,纯浪费 token 与时间。
|
|
|
|
### 4.3 Phase 1 前端代码
|
|
|
|
无家用机参考,**单位机正式启动前端骨架开发**——这是 Phase 1 的真正起点。
|
|
|
|
---
|
|
|
|
## 五、技术选型(锁定不变,与 v2 一致)
|
|
|
|
| 层级 | 选型 | 备注 |
|
|
|---|---|---|
|
|
| 前端框架 | React 18 + Vite | — |
|
|
| 前端语言 | **JavaScript**(不用 TS) | 1.0 求快,二期再迁 |
|
|
| UI 库 | Ant Design 5 + 中文 locale | — |
|
|
| 状态管理 | Zustand | 轻,够用 |
|
|
| 路由 | React Router v6 | — |
|
|
| 后端框架 | FastAPI | — |
|
|
| ORM | **SQLModel(同步)** | 不用 async |
|
|
| 数据库迁移 | **手写 SQL**(`backend/sql/00X_*.sql`) | 不用 Alembic |
|
|
| 关系数据库 | PostgreSQL 16 | — |
|
|
| 向量检索 | **pgvector**(PG 扩展) | 不用独立向量库 |
|
|
| 向量维度 | **1536**(为 2.0 wiki 兼容) | 不可改 |
|
|
| AI 嵌入模型 | DeepSeek 或 OpenAI 兼容 embedding API | — |
|
|
| AI 编程模型 | **MiniMax M2.7**(Cline Plan + Act 模式) | 详见 `.clinerules` 第二章 |
|
|
| 认证 | **Session + Cookie** | 不用 JWT |
|
|
| Word 生成 | docxtpl | — |
|
|
| 甘特图前端库 | frappe-gantt | 不自己用 D3 画 |
|
|
| 定时任务 | APScheduler | Phase 4c 才用 |
|
|
| 部署 | Nginx 反向代理 | — |
|
|
| 版本控制 | **Git + Gitea**(单位 4090D)| 本版新增 |
|
|
|
|
---
|
|
|
|
## 六、开发策略
|
|
|
|
**骨架先行 + 早期上线 + 渐进迭代**:
|
|
|
|
- Week 1 把骨架搭好(登录走通)
|
|
- Week 6 末必须上线 MVP
|
|
- 后续每 2 周补一个模块,持续上线
|
|
|
|
**每个 Phase 收尾必做三件事**:
|
|
|
|
1. **写 phase{N}_log.md**(Claude Opus 4.7 协助生成)
|
|
2. **打 Git tag**:`git tag -a phaseN-complete -m "..." && git push origin phaseN-complete`
|
|
3. **关掉 Cline 当前 Task,新 Phase 起新 Task**
|
|
|
|
---
|
|
|
|
## 七、Phase 计划(2-3 个月版)
|
|
|
|
### Phase 0:环境 + Git(Day 1-2)
|
|
|
|
**Day 1 上午:核心运行时**
|
|
|
|
- 装 Python 3.12.x(从 python.org 官方,**不要 Microsoft Store 版**)
|
|
- 装 Node.js 20 LTS(用 nvm-windows)
|
|
- 装 PostgreSQL 16,安装后执行 `CREATE EXTENSION vector;` 验证 pgvector
|
|
|
|
**Day 1 下午:版本控制(本版新增)**
|
|
|
|
> 单位 4090D 已装 Git for Windows、已配置全局用户名+邮箱(爱德华项目时弄好的),本节从创建新仓库开始。
|
|
|
|
- 在 Gitea 创建 `tps-dashboard` 仓库(团队可见,不勾选自动初始化 README)
|
|
- 在本地 clone 仓库到 `D:\TPS-中台\` 或类似路径(避免中文路径)
|
|
- 把五件套(`.clinerules` / `project_plan.md` / `dev_plan.md` / `docs/git_workflow.md` / `README.md`)+ `logs/phase1_log.md` 拷进仓库目录
|
|
- 配置 `.gitignore`(详见 `.clinerules` 第 7.5 节)
|
|
- 首次提交并推送到 Gitea
|
|
|
|
具体操作步骤详见 `docs/git_workflow.md` 第 2 章"首次仓库初始化"。
|
|
|
|
**Day 2:开发工具**
|
|
|
|
- VS Code + Cline 扩展
|
|
- Cline 配置 Plan 模式(MiniMax M2.7)+ Act 模式(MiniMax M2.7),Plan 和 Act 用同一模型但物理隔离两个心智阶段(纪律性)
|
|
- VS Code 终端打开测试:能跑 `python --version` / `node --version` / `git --version` / `psql --version`
|
|
|
|
**Phase 0 收尾**:
|
|
|
|
```bash
|
|
git add -A
|
|
git commit -m "chore: Phase 0 环境与 Git 初始化完成"
|
|
git tag -a phase0-env-ready -m "Phase 0 完成,环境就绪"
|
|
git push origin main
|
|
git push origin phase0-env-ready
|
|
```
|
|
|
|
写 `logs/phase0_log.md`(可参考 phase1_log.md 格式)。
|
|
|
|
---
|
|
|
|
### Phase 1:后端骨架 + 前端骨架(Week 1)
|
|
|
|
**Day 3-4:后端骨架**
|
|
|
|
- **路径 B 推荐**:从家用机迁移 backend 整目录,MiniMax M2.7 审一遍,跑通验证
|
|
- **路径 A 备选**:从零开始重写
|
|
- 验收:`uvicorn app.main:app --reload` 能起,`/docs` 页面能开,`/api/auth/login` + `/api/auth/me` + `/api/auth/logout` 三接口验证通过
|
|
|
|
**Day 5-7:前端骨架**
|
|
|
|
- `npm create vite@latest frontend -- --template react`
|
|
- 装核心依赖:`antd`、`@ant-design/icons`、`zustand`、`react-router-dom`、`axios`
|
|
- 配 Vite 代理(`/api` → `localhost:8000`)
|
|
- `authStore`(Zustand,存当前用户信息)
|
|
- `authService.js`(封装 login / logout / me)
|
|
- 登录页(Ant Design Form)
|
|
- 主布局(侧边栏 + 顶栏 + 内容区)
|
|
- 路由守卫 AuthGuard(未登录跳登录页)
|
|
|
|
**Week 1 里程碑(Phase 1 完整收官)**:
|
|
|
|
- 打开浏览器 `http://localhost:5173`
|
|
- 输入 admin / 密码 → 登录成功
|
|
- 看到主框架(侧边栏 + 顶栏 + 占位仪表盘)
|
|
- 刷新页面登录态保持
|
|
- 点登出 → 回到登录页
|
|
|
|
**Phase 1 收尾动作**:
|
|
|
|
- 写 `logs/phase1_log.md`(可基于家用机版本扩充)
|
|
- `git tag phase1-complete`,push
|
|
- 关 Cline 当前 Task
|
|
|
|
---
|
|
|
|
### Phase 2:仪表盘 + 用户管理 + 历史数据导入(Week 2-3)
|
|
|
|
**后端**:
|
|
- 收视数据 / 排期 CRUD API
|
|
- 管理员创建账号 API
|
|
- 编辑 episodes / yearly_targets / users 的 SQLModel 模型
|
|
|
|
**前端**:
|
|
- 仪表盘页面(近 4 期收视 + 未来 6 期排期)
|
|
- 责编录入界面
|
|
- 管理员用户管理界面
|
|
|
|
**🔧 批量导入工具 v1**:Excel 收视数据一键导入(300 期约 5 分钟)
|
|
- 支持 .xlsx / .csv 上传
|
|
- 提供模板下载
|
|
- 字段映射 + 错误提示
|
|
- 后端用 pandas 解析,批量 INSERT
|
|
- **死规矩**:导入时检测 yearly_targets 是否对应年份齐全,缺则报错让责编先填(防止颜色判定时找不到目标)
|
|
|
|
**Phase 2 已进入**:Plan = Act = MiniMax M2.7,DeepSeek v4 pro 保留为备选。
|
|
|
|
**Phase 2 里程碑**:
|
|
- 责编可以开始录入(或导入)历史收视数据
|
|
- 制片人可以一次性导入已有 300 期 Excel 数据
|
|
- 仪表盘真实数据展示,颜色判定正确(红蓝绿见 `.clinerules` 5.1)
|
|
|
|
**收尾**:写 `logs/phase2_log.md`,打 `phase2-dashboard-done` tag。
|
|
|
|
---
|
|
|
|
### Phase 3:知识库基础设施 + 历史报题单 / 文稿导入(Week 4)
|
|
|
|
**后端**:
|
|
- 文档上传 + 解析(PDF / docx)
|
|
- embedding 调用(DeepSeek 或 OpenAI 兼容 embedding API)
|
|
- pgvector 存储 + 语义检索 API
|
|
|
|
**前端**:
|
|
- 知识库管理后台(批量上传、列表、删除)
|
|
|
|
**🔧 批量导入工具 v2**:
|
|
|
|
- **报题单批量导入**:支持文件夹整批上传,自动解析字段(选题名/内容概要/编导等)
|
|
- 制片人 200 期 docx,上传 5-10 分钟,后台 embed 10-30 分钟
|
|
- 解析失败的文件单独列出,提示制片人修正后重传
|
|
- **文稿单篇审核入库**:
|
|
- 单文件上传 → 系统解析 + 自动摘要 + 关键词建议
|
|
- 屏幕展示给制片人审核,确认后入库 + embed
|
|
- 文稿质量制片人完全可控
|
|
|
|
**Phase 3 里程碑**:批量导入往期报题单和军报跑通,系统能跑语义检索;制片人审核后逐篇入库文稿。
|
|
|
|
**收尾**:写 `logs/phase3_log.md`,打 `phase3-knowledge-base` tag。
|
|
|
|
---
|
|
|
|
### Phase 4a:核心 MVP(Week 5-6)
|
|
|
|
**模块 G**:报题单生成与下载(docxtpl 模板)
|
|
- 模板严格遵守"双段结构"(`.clinerules` 5.4)
|
|
|
|
**模块 A**:选题查重(语义检索 + 历史收视展示)
|
|
- 联动模块 E 展示外拍资源
|
|
|
|
**模块 C**:知识库参考(检索往期文稿 / 军报)
|
|
|
|
**前端**:选题提交表单 + AI 反馈页面布局
|
|
|
|
**🎯 Week 6 末上线 MVP**——团队真的可以用了:登录、看仪表盘、提交选题、看到查重和知识库结果、生成报题单 docx 下载。
|
|
|
|
**收尾**:写 `logs/phase4a_log.md`,打 `phase4a-mvp-launch` tag。**这是项目第一次"对内发布",务必郑重打 tag**。
|
|
|
|
---
|
|
|
|
### Phase 4b:画像 + 甘特图 + 资源(Week 7-9)
|
|
|
|
- **模块 B**:编导画像建议(AI 反馈中的一段文字,粗框架)
|
|
- **模块 F**:时间可行性 + 甘特图(frappe-gantt)
|
|
- **模块 E**:拍摄资源关联(基础 CRUD + 关联展示)
|
|
- **模块 D**:历史审片意见展示(非预测,仅相似选题原文)
|
|
|
|
**Phase 4b 里程碑**:TPS 核心功能闭环,编导提交选题后能拿到完整 AI 反馈。
|
|
|
|
**收尾**:写 `logs/phase4b_log.md`,打 `phase4b-tps-complete` tag。
|
|
|
|
---
|
|
|
|
### Phase 4c:热点雷达(Week 10-11)
|
|
|
|
- 模块 H:今日热点雷达(每位编导个人首页)
|
|
- RSS 订阅源接入 + APScheduler 定时抓取
|
|
- AI 摘要 + 风格化改写(few-shot 用 Phase 3 已积累的往期文稿)
|
|
- 个人首页热点列表 UI(深入 / 收藏 / 忽略)
|
|
- 与 TPS 联动:点[深入了解]预填选题简介
|
|
|
|
**为什么排在最后**:需要 Phase 3 积累的稿子作为风格学习样本,数据量越大模仿越像。
|
|
|
|
**收尾**:写 `logs/phase4c_log.md`,打 `phase4c-radar` tag。
|
|
|
|
---
|
|
|
|
### Phase 5:部署上线 + Buffer(Week 11-12)
|
|
|
|
- **新服务器准备**:腾讯云 4核8G 轻量服务器(待租)
|
|
- Ubuntu 22.04 LTS / Nginx / Python 3.12 / PostgreSQL 16 + pgvector / Node 22 LTS
|
|
- **Nginx 反向代理整合**(`project_plan.md` 第八章规划):
|
|
```
|
|
主域名/ → 工作台前端
|
|
主域名/api → 工作台后端
|
|
主域名/tts → 反代到 101.42.29.217 蓝皓 TTS
|
|
主域名/mmim → 反代到 101.42.29.217 MMIM
|
|
```
|
|
- **正式上线前必做**:
|
|
- 把 .env 中 `SECRET_KEY` 改为真实随机值(`python -c "import secrets; print(secrets.token_urlsafe(32))"`)
|
|
- SessionMiddleware 改 `same_site="strict"` + `https_only=True`
|
|
- 配 SSL 证书(Let's Encrypt)
|
|
- 关闭 FastAPI 自动文档 `/docs` 在生产环境的访问(或加密)
|
|
- 简单文档 + bug 修复
|
|
- 留 1 周 buffer
|
|
|
|
**收尾**:写 `logs/phase5_log.md`,打 `phase5-production` tag,**这是项目正式上线 tag**。
|
|
|
|
---
|
|
|
|
## 八、明确推迟到二期 / 砍掉的
|
|
|
|
- ❌ TypeScript:JS 先行
|
|
- ❌ Alembic:头 3 个月手动管理 schema
|
|
- ❌ async SQLAlchemy:8 人并发同步够用
|
|
- ❌ AI 模型配置 UI:配置文件写死,UI 二期做
|
|
- ❌ 模块 D 的 AI 预测能力:数据足够后再做
|
|
- ❌ 文稿写作辅助系统:二期
|
|
- ❌ Karpathy LLM Wiki 知识库形态:**2.0 重点,1.0 仅预埋接口**
|
|
|
|
---
|
|
|
|
## 九、1.0 预埋的 2.0 兼容接口
|
|
|
|
- 知识库存储格式向 **Markdown + frontmatter** 靠拢(未来可导出 Obsidian)
|
|
- 每条知识库条目预留 `tags`、`related_entities`、`related_concepts` JSONB 字段
|
|
- embedding 维度统一 **1536**(主流,未来通用)
|
|
- 知识库后台支持 .md 格式批量导入导出
|
|
|
|
---
|
|
|
|
## 十、项目目录结构
|
|
|
|
```
|
|
tps-dashboard/ ← Git 仓库根
|
|
├── .clinerules # Cline 协作规则
|
|
├── .gitignore # Git 忽略清单
|
|
├── README.md # 项目入口说明
|
|
├── project_plan.md # 产品宪法
|
|
├── dev_plan.md # 开发计划(本文档)
|
|
│
|
|
├── docs/ # 项目文档目录
|
|
│ └── git_workflow.md # Git 操作手册
|
|
│
|
|
├── logs/ # 进度日志(只增不删)
|
|
│ ├── phase0_log.md
|
|
│ ├── phase1_log.md
|
|
│ ├── phase2_log.md
|
|
│ └── ...
|
|
│
|
|
├── samples/ # 样本数据(收视 Excel 等,不进 .gitignore)
|
|
│ └── *.xlsx
|
|
│
|
|
├── frontend/ # React 前端
|
|
│ ├── src/
|
|
│ │ ├── components/ # 通用组件
|
|
│ │ │ ├── Layout/
|
|
│ │ │ └── AuthGuard/
|
|
│ │ ├── pages/
|
|
│ │ │ ├── Login/
|
|
│ │ │ ├── Dashboard/ # 公共仪表盘
|
|
│ │ │ ├── EditorHome/ # 编导个人首页(含热点雷达)
|
|
│ │ │ ├── TPS/ # 选题策划
|
|
│ │ │ ├── KnowledgeBase/
|
|
│ │ │ └── UserManage/
|
|
│ │ ├── services/ # API 客户端
|
|
│ │ ├── stores/ # Zustand
|
|
│ │ ├── router/
|
|
│ │ ├── utils/
|
|
│ │ ├── App.jsx
|
|
│ │ └── main.jsx
|
|
│ ├── package.json
|
|
│ └── vite.config.js
|
|
│
|
|
├── backend/ # FastAPI
|
|
│ ├── app/
|
|
│ │ ├── api/
|
|
│ │ │ ├── auth.py
|
|
│ │ │ ├── dashboard.py
|
|
│ │ │ ├── tps.py
|
|
│ │ │ ├── knowledge.py
|
|
│ │ │ ├── radar.py # 热点雷达
|
|
│ │ │ └── users.py
|
|
│ │ ├── core/
|
|
│ │ │ ├── config.py
|
|
│ │ │ ├── security.py # session 工具
|
|
│ │ │ └── deps.py
|
|
│ │ ├── models/ # SQLModel 模型(分 Phase 增量加)
|
|
│ │ ├── schemas/ # Pydantic
|
|
│ │ ├── services/
|
|
│ │ │ ├── ai_service.py # AI 调用
|
|
│ │ │ ├── rag_service.py # pgvector 检索
|
|
│ │ │ ├── docx_gen.py # docxtpl 报题单
|
|
│ │ │ └── radar_service.py # 热点抓取 + 风格化
|
|
│ │ ├── db/
|
|
│ │ │ └── session.py
|
|
│ │ └── main.py
|
|
│ ├── sql/ # 手写 SQL(替代 Alembic)
|
|
│ │ └── 001_init.sql # 12 张表一次到位
|
|
│ ├── scripts/ # 运维脚本
|
|
│ │ └── create_admin.py # 交互式创建管理员
|
|
│ ├── templates/ # docxtpl 模板
|
|
│ │ └── baoti_template.docx
|
|
│ ├── requirements.txt
|
|
│ └── .env # ⚠️ 不进 Git
|
|
│
|
|
└── nginx/ # 部署配置(Phase 5 启用)
|
|
└── nginx.conf
|
|
```
|
|
|
|
---
|
|
|
|
## 十一、数据库核心表(12 张,Phase 1 SQL 已建完)
|
|
|
|
| 表名 | 说明 | 启用 Phase |
|
|
|---|---|---|
|
|
| `users` | 用户/认证 | Phase 1 |
|
|
| `episodes` | 节目期次 + 收视数据 | Phase 2 |
|
|
| `yearly_targets` | 年度收视目标(只增不改) | Phase 2 |
|
|
| `topics` | 选题/报题单 | Phase 4a |
|
|
| `topic_embeddings` | 选题语义向量(1536 维)| Phase 4a |
|
|
| `schedules` | 节目排期 | Phase 4b |
|
|
| `knowledge_items` | 知识库条目(含 tags/related_entities/related_concepts JSONB) | Phase 3 |
|
|
| `knowledge_embeddings` | 知识库向量(1536 维)| Phase 3 |
|
|
| `review_comments` | 审片意见 | Phase 4b |
|
|
| `shooting_resources` | 拍摄资源/人脉 | Phase 4b |
|
|
| `radar_items` | 热点雷达条目 | Phase 4c |
|
|
| `radar_user_actions` | 编导操作记录 | Phase 4c |
|
|
|
|
> **重要**:`episodes` 表整合了"收视成绩"+"节目元数据"+"外拍信息",作为节目的全生命周期记录。
|
|
> **重要**:`yearly_targets` 表**只增不改**,详见 `.clinerules` 第 5.2 节。
|
|
> **重要**:编导关联用"软引用 + 快照"双字段,详见 `.clinerules` 第 5.3 节。
|
|
|
|
字段细节见 `backend/sql/001_init.sql`。
|
|
|
|
---
|
|
|
|
## 十二、用户与权限
|
|
|
|
| 角色拼音值 | 中文 | 主要权限 |
|
|
|---|---|---|
|
|
| `zhipianren` | 制片人/管理员 | 全部权限 |
|
|
| `zebian` | 责编 | 维护仪表盘 / 知识库 / 排期 |
|
|
| `biandao` | 编导 | 使用 TPS / 查看知识库 / 生成报题单 / 个人热点雷达 |
|
|
|
|
不开放公开注册。详见 `.clinerules` 第 5.5 节。
|
|
|
|
---
|
|
|
|
## 十三、待确认事项
|
|
|
|
- [x] 服务器配置:已确认旧机 2核2G,**新租 4核8G 轻量服务器**部署本系统
|
|
- [x] 技术栈(已落定 v2)
|
|
- [x] Phase 计划(已落定 v2)
|
|
- [x] 2.0 路线:Karpathy LLM Wiki 形态,1.0 预埋兼容接口
|
|
- [x] **Git + Gitea 工作流**(本版新增)
|
|
- [x] **Phase 2 起 Plan 切 MiniMax M2.7**(本版新增)
|
|
- [ ] 视觉风格(制片人提供参考图)
|
|
- [ ] 6 名编导初始画像描述(每位 200 字)
|
|
- [ ] 甘特图样本(可用通用电视节目模板起步)
|
|
- [ ] 腾讯云新服务器开租时机(Phase 4c 中段)
|
|
|
|
---
|
|
|
|
## 十四、会话恢复说明
|
|
|
|
**下次跟新对话框的 Claude 接力时,告诉它**:
|
|
|
|
> "请阅读 `project_plan.md`、`dev_plan.md`、`.clinerules`、`docs/git_workflow.md` 这是我们的项目宪法。`logs/` 下的 phase{N}_log.md 是已完成 Phase 的进度档案。从最新一份 log 的下一步继续。"
|
|
|
|
---
|
|
|
|
## 十五、版本演进
|
|
|
|
| 版本 | 日期 | 主要变化 |
|
|
|---|---|---|
|
|
| v1 | 2026-04 | 初版 |
|
|
| v2 | 2026-05-04 | 精简技术栈、Phase 拆分(避免 Phase 4 大爆炸)、明确每周里程碑 |
|
|
| v3 | 2026-05-06 | 加 Git + Gitea 工作流;Phase 0 重排(纳入 Git);Phase 2 起 Plan 切 MiniMax M2.7;明确单位机重启路径(路径 B 推荐);新增 docs/ 目录与 phase{N} tag 收尾仪式 |
|
|
| **v4** | **2026-05-14** | **家用机退役,唯一开发环境为单位 4090D;Phase 2 起 MiniMax M2.7 正式日常使用;更新版本演进记录** |
|
|
|
|
---
|
|
|
|
*本文件最高优先级中的"技术宪法"。任何阶段安排冲突以本文为准。*
|
|
*下次修订建议时机:Phase 4a MVP 上线后(根据使用反馈调整 Phase 4b/4c 优先级)。*
|