# TPS 中台

> 央视《军事科技》栏目内部工作台
> 仓库:`tps-dashboard` · 内部团队可见

---

## 这是什么

一个面向《军事科技》栏目 8 人团队的内部工作台,核心模块包括:

- **TPS**(选题策划系统):查重 + 知识库参考 + 报题单一键生成
- **仪表盘**:近 9 期收视成绩 + 未来 6 期排期一目了然
- **知识库**:往期文稿、军报材料、专家库、外拍线索一站式检索
- **个人首页**:每位编导有自己的工作台 + 今日热点雷达
- **拍摄资源库**:外拍联系人 / 单位 / 线索来源结构化沉淀

详细模块说明见 `project_plan.md`。

---

## 设计哲学

**辅助而不替代,AI 给方向不给答案,保护编导创作主权。**

任何让 AI 替编导拍板的功能都不要做;任何把编导逼向"按 AI 建议改"的设计都要重做。

---

## 项目宪法(必读,优先级从高到低)

| 文档 | 讲什么 | 受众 |
|---|---|---|
| `.clinerules` | Cline 协作规则 + 业务约定 + 已知避坑 | **AI 必读**,人类一并看 |
| `project_plan.md` | 产品 / 业务 / 用户(做什么、为谁做)| 全员 |
| `dev_plan.md` | 技术路线 / 阶段计划(怎么做、何时做)| 制片人 + AI |
| `docs/git_workflow.md` | Git 操作手册 | 制片人 + AI |
| `logs/phase{N}_log.md` | 各 Phase 进度档案 | 接力者 |

**新人 / 失忆接手时的标准动作**:依次读完上面五类文档,再做任何改动。

---

## 当前进度

> 详见 `logs/` 下最新一份日志。

| Phase | 状态 |
|---|---|
| Phase 0 环境 + Git | ✅ 已完成 |
| Phase 1 后端骨架 + 前端骨架 | ✅ 已完成 |
| Phase 2 仪表盘 + 批量导入 + 写权限收紧 | ✅ 已完成 |
| Phase 3 知识库基础设施 | 进行中 — 已完成至 Task 3（知识库树形视图按来源分组），语义搜索尚未做 |
| Phase 4–5 | 未开始 |

---

## 协作团队

| 角色 | 谁 / 什么 | 做什么 |
|---|---|---|
| 制片人 | 刘通(人) | 拍板、产品决策、领域知识 |
| 高级技术顾问 | Claude Opus 4.7(claude.ai 网页) | 架构指导、关键决策审核 |
| 架构师 | MiniMax M2.7 | Cline Plan 模式,出方案 |
| 执行者 | MiniMax M2.7 | Cline Act 模式,写代码 |
| 备选执行者 | DeepSeek v4 flash | 仅日常小改(改字段、加字段、改文案) |

详见 `.clinerules` 第二章。

---

## 角色权限表

> 数据来源:`.clinerules` 5.5 节 + `project_plan.md` 第四节

| 资源 / 操作 | zhipianren(制片人) | zebian(责编) | biandao(编导) |
|---|---|---|---|
| **yearly_targets** | | | |
| GET 列表/详情 | ✅ | ✅ | ✅ |
| POST 新增 | ✅ | ✅ | ❌ 403 |
| PATCH 修改 | ✅ | ✅ | ❌ 403 |
| DELETE 删除 | ✅ | ❌ 403 | ❌ 403 |
| **episodes** | | | |
| GET | ✅ | ✅ | ✅ |
| POST/PATCH/DELETE | ✅ | ✅ | 受限(见 API 文档) |

> 规则:.clinerules 5.5 角色枚举锁定拼音值(zhipianren / zebian / biandao),不许新增枚举。

---

## 技术栈速览

- 前端:React 18 + Vite + Ant Design 5 + Zustand(JavaScript,不用 TS)
- 后端:FastAPI + SQLModel(同步)
- 数据库:PostgreSQL 16 + pgvector(1536 维)
- 认证:Session + Cookie
- AI 嵌入:DeepSeek 或 OpenAI 兼容 embedding API
- Word 生成:docxtpl
- 部署:Nginx 反向代理 + 腾讯云 4核8G(待租)

详见 `dev_plan.md` 第五章。

---

## 服务整合架构

```
                  ┌────────────────────┐
   主域名访问 →   │  腾讯云 4核8G 新机  │  ← TPS 中台主体
                  │  (Nginx + FastAPI │
                  │   + PostgreSQL +  │
                  │   React 前端)     │
                  └─────────┬──────────┘
                            │
                       Nginx 反代
                            │
                            ▼
                  ┌────────────────────┐
                  │  老服务器 2核2G    │  ← 蓝皓 TTS 2.0 + MMIM
                  │  101.42.29.217     │
                  └────────────────────┘
```

详见 `project_plan.md` 第八章。

---

## 快速开始(Phase 1 后端验证)

> 假设你已完成 Phase 0(Python / Node / PG / Git 都装好,仓库已 clone)。

```bash
cd backend

# 1. 装依赖
pip install -r requirements.txt

# 2. 建库 + 建表
psql -U postgres -d milsci_dev -f sql/001_init.sql

# 3. 创建管理员账号(交互式)
python scripts/create_admin.py

# 4. 启动 FastAPI
uvicorn app.main:app --reload

# 5. 验证
#    GET  http://localhost:8000/docs        ← FastAPI 自动文档
#    POST http://localhost:8000/api/auth/login
#    GET  http://localhost:8000/api/auth/me
```

前端启动详见 `dev_plan.md` Phase 1 Day 5-7。

---

## 不在 1.0 范围内

明确不做、留到 2.0 或更远的:

- TypeScript 改造、Alembic、async SQLAlchemy
- AI 模型配置 UI(写死 .env)
- 模块 D 的 AI 预测(只展示原文)
- 文稿写作辅助系统
- Karpathy LLM Wiki 知识库形态(仅预埋接口)
- 移动端 App
- 多栏目复用

详见 `project_plan.md` 第十二章 + `dev_plan.md` 第八章。

---

## 联系与求助

| 状况 | 找谁 |
|---|---|
| 项目方向 / 产品决策 | 刘通(制片人) |
| 关键架构 / 风险 / 卡壳兜底 | Claude Opus 4.7(claude.ai 网页) |
| 日常方案 / 改动审查 | MiniMax M2.7(VS Code Cline Plan) |
| 写代码 | MiniMax M2.7(VS Code Cline Act) |
| Git 历史搞乱了 / 不小心 commit 了 .env | **立刻找 Claude Opus 4.7,不要自己瞎搞** |

---

## 版本演进

| 版本 | 日期 | 变化 |
|---|---|---|
| v1 | 2026-05-06 | 初版,作为单位机仓库门牌 |
| **v2** | **2026-05-14** | **家用机退役,唯一开发环境为单位 4090D;Phase 2 起 MiniMax M2.7 正式日常使用;更新版本演进记录** |
| **v3** | **2026-05-27** | **进度校准:Phase 1/2 标为完成;Phase 3 Task 3 知识库树形视图已完成;清理"家用机/路径B"历史表述,不再保留迁移叙事** |

---

*这是项目门牌号。详细内容请翻 `project_plan.md` / `dev_plan.md` / `.clinerules` / `docs/git_workflow.md`。*
