# 00 · 需求总览(总纲,勿删) > **新任务**:operate / control 双进程拆分。旧任务(三项目合并改造 M0–M8)**代码完成、真机验收整体未做、有 operate 侧降级遗留(见 `进度/待验证清单.md` M-01~M-07 与 `需求文档/操作端逻辑与配置全景.md` §八)**;旧文档已清空,本体系为新任务重建。 > 本文件是总纲,指向各专题文档。续接靠"进度/"三件套(见第五节)。 ## 一、新任务是什么(一句话) 把 control(机器驱动:串口/拍照/换气/对焦/上传)从 operate 进程内**剥离成独立常驻进程**,让 operate(操作界面)可随时开关而 control 持续驱动机器;装机/用户视角仍是**一个软件、只启动 operate**。 ## 二、为什么做(背景) operate 与 control 原是两个独立软件,"合并"只为代码管理方便,把 control 塞进了 operate 进程内,引入三个问题: 1. **生命周期冲突**:control 必须 7×24 常驻(胚胎培养不能断),operate 只是 UI 想关就关;同进程导致——operate 关 UI 进程退不掉(残留进程)、重开又起一套 control 抢串口。 2. **监控功能没写全**:operate 的"服务监控"页本应跨进程看 control 状态,合并时只做了同进程直读、内容不全。 3. **调试串口占用**:control 常驻占串口,operate 进调试页要用串口时冲突。 ## 三、目标与范围 **目标**: - 运行时回归两个独立进程:`control.exe` 常驻驱动机器,`operate.exe` 可随时开关。 - 用户/装机仍是一个软件:只装、只启动 operate;control 由 operate 自动管理。 - operate 关闭 → control 继续驱动机器、采集、上传。 - 补全监控页(跨进程读 control 真实状态)。 - 解决调试串口占用(跨进程借用/归还)。 **范围**:**只动 operate 与 control**。front(管理端 `ivf_tl_Manage`)保持现状不动。control 的采集/换气/对焦/上传业务逻辑零改动(只动进程边界与本地通信)。 ## 四、关键决策(已与用户确认) | # | 决策 | 选定 | |---|---|---| | 1 | 进程模型 | operate / control 两个独立进程;一个解决方案管理,装机是一个软件 | | 2 | 进程间通信 | control 开本地 HTTP 小服务(127.0.0.1),operate 调 | | 3 | 谁拉起 control | operate 按需拉起 + operate 开机自启 + control 用 Mutex 单实例 | | 4 | 调试让串口 | operate 调 `/serial/pause`+`/resume`,复用 HouseGate 闸门,control 不死、调完恢复 | | 5 | 整体停止 control | 监控页受护栏按钮(二次确认 + 工程师口令 tl13579)→ `/shutdown` | | 6 | 监控页补全 | 补:各舱实时活动、后台线程健康/心跳、串口借用状态 | | 7 | 实现节奏 | 分阶段:①独立进程骨架 ②监控/借串口/停止 ③清理老壳 | ## 五、文档地图(按需深入) - **本文件** `00-需求总览.md` —— 总纲(勿删)。 - `需求文档/specs/2026-06-22-operate-control-双进程拆分-design.md` —— **架构设计**(做什么/怎么连,9 章含拓扑图、HTTP 契约、生命周期、分阶段)。 - `需求文档/control-逻辑与配置全景.md` —— **现状基线**(control 全部逻辑 + 全部配置参数,标 file:line;接手代码的全图)。 - `需求文档/操作端逻辑与配置全景.md` —— **现状基线(operate 侧)**(启动时序 / 业务模块逐功能 / operate↔control 交接面 / HTTP 接口全表 / 配置 + **§八 合并改动·降级·待验证登记**,标 file:line)。 - `系统业务流程详图.html` —— **★开发上手总文档(单页·可视化·汇总入口)**:给刚接手的开发一篇读懂「为什么改造→改成什么样→现在什么样→接下来改什么→怎么上手」。汇总自背景/架构设计/两份全景/阶段1计划/降级登记,细化到每个功能、标 file:line;浏览器直接打开。 - `开发计划/2026-06-22-阶段1-control独立进程骨架.md` —— **阶段1 实现计划**(7 个 bite-sized 任务,可执行)。 - `进度/` —— **续接三件套 + 实时面板**: - `进度状态.yaml` = 轻断点(现在干到哪、下一步)。**开机先读这个。** - `工作计划表.md` = 阶段真实状态。 - `交接卡.md` = 追加式历史(每步追加,不覆盖)。 - `待验证清单.md` = 真机门控项。 - `进度数据.js` / `监控面板.html` = 实时面板。 - `开发环境/` —— 本机环境、账号、连接配置、换服务器必读(编译部署先查这里)。 ## 六、续接方式 每次新会话按序读:① `进度/进度状态.yaml`(断点)→ ② `开发计划/2026-06-22-阶段1-control独立进程骨架.md`(当前阶段计划)→ ③ `需求文档/specs/...-design.md`(架构)→ ④ `交接卡.md` 末尾(最近细节)。按需再读 control 全景。