# aivfo-tl-3.0 — 时差培养箱合并改造项目 > 路径约定:下文所有 `项目文档/...` 均相对仓库根目录 `aivfo-tl-3.0/`。 ## 一、沟通约定(最先生效) - 全程用**中文**回复。 - 代码/文件**检索、定位**优先用 **codegraph**(MCP `codegraph_explore` / `codegraph_node`,或 shell `codegraph explore "..."`),而非 grep/读文件。 - 代码**理解**优先用 `codegraph_explore` —— 一次返回相关符号源码 + 调用链。 - 增删改文件后跑 `codegraph sync`(增量同步索引,保持最新);仅在索引异常/需全量重建时才用 `codegraph init`。 - **开机先读(无缝衔接)**:当前任务 = D2-02 第三阶段「自动对焦重构」,进度与续接看 `项目文档/进度/D2-02-第三阶段-自动对焦重构-进度.md`(含 Phase/Task 勾选 + 两份权威文档指针),读它即可接着干。 - 第三节(回写协议)是**硬纪律**:每完成一个 Task 勾进度文件 + 同步提交。 - 我不太懂技术,所以和我沟通以及输出的文档尽量大白话一些,当然前提是claude能看懂,因为都是靠claude编程。 ## 二 项目说明 - ` 临时文件\ivf_tl_control_2.0` ,`临时文件\ivf_tl_operate_2.0`、`AutoFocusTool` 三个项目合并成了`aivfo-tl-3.0\ivf_tl_operate_2.0`,并做了一些改造。 - 当前项目后端源码 `ivf_tl_operate_2.0 `, `aivfo-ai-middleware `, `aivfo-business-manage `, `aivfo-data-transmission `, ` aivfo-framework `,`aivfo-gateway `, `aivfo-oplog `, `aivfo-service `;- 当前项目前端源码 `Aivfo.OperationLog `, `aivof-tl-control` ,`aivfo-front-manament-2.0 `; ## 三、提交边界 = 文档已同步(回写协议·强约束) **「git 提交 = 文档已和代码对齐」** —— 不允许只提交代码而不更新文档。 ## 四、文档地图(`项目文档/` 下,按需深入查) - `开发环境/` `服务器测试环境.md`——**当前实际中间件部署(108 原生环境,权威·编译部署先查这里)**;`连接配置清单-换服务器必读.md`——换服务器逐项改 IP/端口/账号;`环境与账号清单.md`——本机环境/版本/账号凭证/Docker 备用环境排障记录;`start-all.sh`(一键起微服务集群)。 - `排障/` `全量操作日志-排障指南.md`——全量操作日志的细节(两层日志/热开关/入库/查库/SQL),从 §五 拆出,需排障时再读。 ## 五、排障利器:全量操作日志(运行期能力) - 系统有"全量操作日志":C#/Java 全操作记 谁/功能/输入/输出/报错/结果,经 Kafka→`aivfo-oplog`→`log` 库 `operation_log` 表,跨端共用 `trace_id`。**排障第一步**:拿 `trace_id` 拉跨端时间线,找 `result=失败` 那条读 input+error。 - **细节(两层日志 / 热开关配置 / 怎么入库 / 怎么查库 / 19 列字段 / 常用 SQL)→ 读 `项目文档/排障/全量操作日志-排障指南.md`,需要排障时再看。** ## 六、编译环境(若需本地编译) - **C#/.NET(当前任务 operate/control/front 用这套)**:目标框架 `net6.0-windows`(仅 `control/IvfTl.AutoFocus.Tests` 为 net8.0;本机装 .NET 8.0.x SDK,可编 net6.0)。解决方案:`ivf_tl_operate_2.0/ivf_tl_Operate.sln`(operate,含 control 子树)/ `ivf_tl_operate_2.0/control/ivf_tl_Control.sln`(control 类库)/ `aivfo-front-manament-2.0/ivf_tl_Manage.sln`(front)。编译 `dotnet build -c Debug|Release`;**真机/连内网必须 Release**(Debug 的 `#if DEBUG` 覆写服务器地址到 test-gateway 外网,见 operate 全景 §十 / 待验证清单 M-07);operate.exe 正运行会锁 DLL 报 MSB3021,先关 operate 再编。 - **Java 微服务**:JDK 11.0.25 + Maven 3.9.9 @ `C:\TLData\tools`;本地仓库 `C:\TLData\tools\maven-repo`。Nexus 私服凭证已配在 `~/.m2/settings.xml`(admin);详细环境/账号见 `项目文档/开发环境/环境与账号清单.md`。 - ★Java 本地多仓构建顺序:先 `mvn -DskipTests install` 装 **aivfo-framework**(底座,提供 com.aivfo SNAPSHOT),再编译依赖它的各微服务,否则报 Could not find artifact。 ## 七、Git(改动可追溯/可回退) - 仓库:`http://git.aivfo.com:36000/huangjie/aivfo-tl-3.0`,主分支 `main`,仓库名 `aivfo-tl-3.0`。 - 每做完一个任务,把该任务牵动的代码与**已同步的文档**(见 3.4)一起提交到该仓库。 ## 八、临时文件 - 临时文件放到 `临时文件/` 目录。 ## 九、工作方式约束 - 真机已连接,所有测试/验证由你自己跑完,不要中途让我配合(不要让我点界面、看数据、启停程序/进程)。 - 业务不清楚时,查合并前的老代码和现有系统的代码自行判断,不要让我确认。 - 遇到问题穷尽手段自己定位结论,默认我不在旁边盯着。