2026-04-28-22-55-15 - 建立代码编纂工作流

This commit is contained in:
2026-04-28 23:01:41 +08:00
parent 071ebf4b2a
commit cb0b99b4ca
7 changed files with 1013 additions and 0 deletions

View File

@@ -0,0 +1,376 @@
# 代码编纂工作流Code Compilation Workflow
> 本文档定义了所有项目修改需求的标准执行流程。自 2026-04-28 起生效,后续所有项目修改必须严格按此流程执行。
---
## 流程概览
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ 阶段 0: 记录时间戳 │
│ 记录当前时间: {Year}-{Mon}-{Day}-{Hour}-{Min}-{Sec} │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 1: 工程分析 │
│ 阅读或创建 "./工程分析" 文件夹,确保项目整体分析文档存在且最新 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 2: 需求分析 │
│ 将用户提出的需求整理写入 "./工程分析/需求分析-{timestamp}.md" │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 3: 实现方案(需人工审核) │
│ 编写 "./工程分析/实现方案-{timestamp}.md",完成后提交用户确认 │
│ ⚠️ 未经用户审核确认,不得进入下一阶段 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 4: 测试方案(需人工审核) │
│ 编写 "./工程分析/测试方案-{timestamp}.md",完成后提交用户确认 │
│ ⚠️ 未经用户审核确认,不得进入下一阶段 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 5: 执行前准备 │
│ 阅读 "./工程分析/经验记录.md",避免重复犯错 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 6: 方案执行 │
│ 按审核通过的实现方案执行代码修改 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 7: 经验沉淀 │
│ 在 "./工程分析/经验记录.md" 中按四段式记录关键问题 │
│ A. 具体问题 B. 产生原因 C. 解决方案 D. 后续如何避免 │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 8: Gitea 备份 │
│ 提交代码到 Gitea 仓库commit 格式: "{timestamp} - {修改简述}" │
├─────────────────────────────────────────────────────────────────────────────┤
│ 阶段 9: 项目重新部署 │
│ 重新构建并部署本项目 │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## 各阶段详细规范
### 阶段 0: 时间戳记录
每次执行流程前,首先获取当前时间戳:
```bash
date "+%Y-%m-%d-%H-%M-%S"
# 输出格式示例: 2026-04-28-22-55-15
```
此时间戳将贯穿整个流程,用于统一命名所有相关文档。
---
### 阶段 1: 工程分析
**目标**: 确保对项目现状有全面理解。
**行动项**:
1. 确认 `./工程分析/` 目录存在
2. 阅读 `项目整体分析.md`,确认其内容是否反映当前项目状态
3. 如项目结构发生显著变化,更新 `项目整体分析.md`
4. 阅读 `AGENTS.md`(项目根目录)获取最新技术栈信息
---
### 阶段 2: 需求分析
**目标**: 将用户原始需求转化为结构化、可执行的需求文档。
**输出文件**: `./工程分析/需求分析-{timestamp}.md`
**文档模板**:
```markdown
# 需求分析 - {timestamp}
## 需求来源
- 提出时间: {timestamp}
- 需求类型: [功能新增 / 缺陷修复 / 性能优化 / 代码重构 / 文档更新]
## 原始需求描述
{用户原始需求的完整记录}
## 需求拆解
### 需求 1: {子需求标题}
- **详细描述**:
- **优先级**: [P0-阻塞 / P1-高 / P2-中 / P3-低]
- **影响范围**: {涉及的文件/模块}
- **验收标准**: {明确的完成标准}
### 需求 2: ...
## 约束条件
- 技术约束: {如兼容 React 19、TailwindCSS 4 等}
- 业务约束: {如中文界面、深色主题等}
- 时间约束: {如有}
## 风险评估
| 风险点 | 影响 | 缓解措施 |
|--------|------|----------|
| {风险} | {高/中/低} | {措施} |
```
---
### 阶段 3: 实现方案
**目标**: 制定详细的代码修改计划,确保方案可行且最小侵入。
**输出文件**: `./工程分析/实现方案-{timestamp}.md`
**文档模板**:
```markdown
# 实现方案 - {timestamp}
## 对应需求
- 需求分析文档: `需求分析-{timestamp}.md`
## 方案概述
{总体技术思路和目标}
## 修改文件清单
### 文件 1: `{文件路径}`
- **修改类型**: [新增 / 修改 / 删除]
- **修改内容**: {具体说明}
- **关键代码逻辑**: {伪代码或关键实现要点}
### 文件 2: ...
## 新增依赖
| 依赖名 | 版本 | 用途 |
|--------|------|------|
| {name} | {ver} | {用途} |
## 兼容性分析
- 与现有功能的冲突: {分析}
- 回滚策略: {如需回滚,步骤是什么}
## 预估工作量
- 代码编写: {时间}
- 测试验证: {时间}
- 文档更新: {时间}
```
**审核要求**:
- 完成后必须停止,等待用户阅读并确认
- 用户确认后,方可进入下一阶段
- 如用户提出修改意见,更新方案后重新提交审核
---
### 阶段 4: 测试方案
**目标**: 定义如何验证修改的正确性和稳定性。
**输出文件**: `./工程分析/测试方案-{timestamp}.md`
**文档模板**:
```markdown
# 测试方案 - {timestamp}
## 对应实现方案
- 实现方案文档: `实现方案-{timestamp}.md`
## 测试范围
- {说明哪些功能需要测试}
## 测试用例
### 用例 1: {用例标题}
- **前置条件**:
- **操作步骤**:
- **预期结果**:
- **通过标准**:
### 用例 2: ...
## 回归测试
- [ ] 现有功能 A 不受影响
- [ ] 现有功能 B 不受影响
- [ ] 构建无错误 (`npm run build`)
- [ ] 类型检查无错误 (`npm run lint`)
## 测试环境
- 浏览器: {Chrome / Firefox / Edge}
- 分辨率: {1920x1080 等}
- 测试数据: {说明}
```
**审核要求**:
- 完成后必须停止,等待用户阅读并确认
- 用户确认后,方可进入下一阶段
---
### 阶段 5: 执行前准备
**目标**: 避免重复犯错,吸取历史经验。
**行动项**:
1. 阅读 `./工程分析/经验记录.md`
2. 检查是否有与当前需求相关的历史经验
3. 如有相关经验,在实现方案中标注注意事项
---
### 阶段 6: 方案执行
**目标**: 按审核通过的方案执行代码修改。
**执行原则**:
1. **最小修改原则**: 只修改方案中列出的文件,不做计划外的改动
2. **逐步验证原则**: 每完成一个文件的修改,进行局部验证
3. **保持风格一致**: 严格遵循 AGENTS.md 中的代码风格约定
4. **中文界面原则**: 所有新增 UI 文本必须使用中文
**执行步骤**:
1. 按文件清单逐个修改
2. 每次修改后运行类型检查: `npm run lint`
3. 全部修改完成后运行构建: `npm run build`
4. 根据测试方案执行测试用例
---
### 阶段 7: 经验沉淀
**目标**: 将本次执行过程中遇到的问题和解决方案沉淀为组织知识。
**输出文件**: `./工程分析/经验记录.md`(追加模式)
**记录格式**:
```markdown
## {timestamp} - {需求简述}
### A. 具体问题
{清晰描述遇到的具体问题}
### B. 产生问题原因
{分析问题产生的根本原因}
### C. 解决问题方案
{详细说明解决步骤和方法}
### D. 后续如何避免问题
{给出可操作的预防措施}
```
**记录时机**:
- 执行过程中遇到任何非预期问题,均应记录
- 即使问题未导致阻塞,但有参考价值,也应记录
- 如执行过程完全顺利,可记录 "本次执行顺利,无异常问题"
---
### 阶段 8: Gitea 备份
**目标**: 将修改后的代码安全备份到 Gitea 仓库。
**操作命令**:
```bash
# 确认当前分支
git branch
# 添加所有变更
git add .
# 提交commit message 格式: "{timestamp} - {修改简述}"
git commit -m "{timestamp} - {修改简述}"
# 推送到远程
git push origin main
```
**注意事项**:
- 确保 `node_modules/``dist/` 不在提交范围内(检查 `.gitignore`
- 提交前确认没有遗漏的文档文件(`工程分析/` 目录下的文档必须一并提交)
- 推送成功后,向用户汇报备份完成
---
### 阶段 9: 重新部署
**目标**: 将修改后的代码部署到运行环境。
**部署步骤**:
```bash
# 1. 安装依赖(如有新增)
npm install
# 2. 生产构建
npm run build
# 3. 生产模式启动
npm start
```
**验证**:
- 确认服务在端口 3000 正常启动
- 访问 `http://localhost:3000` 验证应用可正常访问
- 验证修改的功能是否生效
---
## 文档命名规范
| 文档类型 | 命名格式 | 示例 |
|----------|----------|------|
| 需求分析 | `需求分析-{YYYY-MM-DD-HH-MM-SS}.md` | `需求分析-2026-04-28-22-55-15.md` |
| 实现方案 | `实现方案-{YYYY-MM-DD-HH-MM-SS}.md` | `实现方案-2026-04-28-22-55-15.md` |
| 测试方案 | `测试方案-{YYYY-MM-DD-HH-MM-SS}.md` | `测试方案-2026-04-28-22-55-15.md` |
| 经验记录 | `经验记录.md`(唯一文件,持续追加) | `经验记录.md` |
| 项目分析 | `项目整体分析.md`(唯一文件) | `项目整体分析.md` |
---
## 流程执行检查表
每次执行流程时,使用以下检查表确保无遗漏:
- [ ] 阶段 0: 已记录时间戳 `{timestamp}`
- [ ] 阶段 1: 已阅读/更新 `项目整体分析.md`
- [ ] 阶段 2: 已创建 `需求分析-{timestamp}.md`
- [ ] 阶段 3: 已创建 `实现方案-{timestamp}.md` 并通过用户审核
- [ ] 阶段 4: 已创建 `测试方案-{timestamp}.md` 并通过用户审核
- [ ] 阶段 5: 已阅读 `经验记录.md`
- [ ] 阶段 6: 已按方案执行所有修改
- [ ] 阶段 7: 已更新 `经验记录.md`
- [ ] 阶段 8: 已完成 Gitea 备份提交
- [ ] 阶段 9: 已重新部署项目
---
## 特殊情况处理
### 紧急修复Hotfix
如遇到生产环境紧急缺陷需要立即修复,可简化流程:
1. 仍然记录时间戳
2. 创建简版需求分析(说明紧急性)
3. 口头/即时通讯确认方案(跳过书面方案审核)
4. 执行修复
5. **事后补全**: 24 小时内补全实现方案和测试方案文档
6. 更新经验记录并提交备份
### 纯文档修改
如需求仅涉及文档更新(如修改 README
1. 可跳过测试方案阶段
2. 执行修改后直接备份
### 多次小修改合并
如同一时间段内有多个相关小需求:
1. 可共用同一个时间戳
2. 在需求分析中列出所有需求项
3. 方案文档中分节说明各需求的实现
---
> 本工作流由 AI 助手建立,经用户审核后生效。后续任何流程变更需经双方确认后更新本文档。

View File

@@ -0,0 +1,71 @@
# 实现方案 - 2026-04-28-22-55-15
## 对应需求
- 需求分析文档: `需求分析-2026-04-28-22-55-15.md`
## 方案概述
本项目为纯文档/流程建设,不涉及业务代码修改。目标是建立 `./工程分析` 目录及其中 4 份核心文档,完成首次 Gitea 备份,并验证项目可正常构建部署。
## 修改文件清单
### 文件 1: `./工程分析/代码编纂工作流.md`(新增)
- **修改类型**: 新增
- **修改内容**: 定义完整的 10 阶段代码编纂工作流
- **关键内容**:
- 阶段 0: 时间戳记录规范
- 阶段 1: 工程分析要求
- 阶段 2: 需求分析文档模板
- 阶段 3: 实现方案文档模板(含人工审核停止点)
- 阶段 4: 测试方案文档模板(含人工审核停止点)
- 阶段 5: 执行前经验阅读要求
- 阶段 6: 方案执行原则
- 阶段 7: 经验沉淀四段式格式
- 阶段 8: Gitea 备份命令和格式
- 阶段 9: 重新部署步骤
- 特殊情况处理Hotfix、纯文档、合并修改
### 文件 2: `./工程分析/项目整体分析.md`(新增)
- **修改类型**: 新增
- **修改内容**: 项目全景视图文档
- **关键内容**:
- 项目基本信息
- 技术栈详细列表
- 完整目录结构
- 模块与路由映射
- 后端 API 清单
- 已知问题与风险
- 构建命令和环境变量
- 代码风格要点
- 历史变更记录
### 文件 3: `./工程分析/经验记录.md`(新增)
- **修改类型**: 新增
- **修改内容**: 经验知识库初始版本
- **关键内容**:
- 四段式格式定义A/B/C/D
- 初始经验条目(关于建立工作流本身)
- 追加规范说明
### 文件 4: `./工程分析/需求分析-2026-04-28-22-55-15.md`(新增)
- **修改类型**: 新增
- **修改内容**: 本次需求分析文档(当前需求)
### 文件 5: `./工程分析/实现方案-2026-04-28-22-55-15.md`(新增)
- **修改类型**: 新增
- **修改内容**: 本次实现方案文档(本文档)
### 文件 6: `./工程分析/测试方案-2026-04-28-22-55-15.md`(新增)
- **修改类型**: 新增
- **修改内容**: 本次测试方案文档
## 新增依赖
无(纯文档建设)
## 兼容性分析
- 与现有功能冲突: 无,不修改任何业务代码
- 回滚策略: 删除 `./工程分析/` 目录即可
## 预估工作量
- 文档编写: 30 分钟
- Gitea 备份: 5 分钟
- 项目构建验证: 5 分钟

View File

@@ -0,0 +1,74 @@
# 测试方案 - 2026-04-28-22-55-15
## 对应实现方案
- 实现方案文档: `实现方案-2026-04-28-22-55-15.md`
## 测试范围
本次为流程建设类需求,不涉及业务功能变更。测试重点为:
1. 文档完整性和格式正确性
2. Gitea 备份可正常执行
3. 项目构建不受影响
## 测试用例
### 用例 1: 文档完整性验证
- **前置条件**: 所有文档已创建
- **操作步骤**:
1. 检查 `./工程分析/` 目录存在
2. 确认包含以下 6 个文件:
- `代码编纂工作流.md`
- `项目整体分析.md`
- `经验记录.md`
- `需求分析-2026-04-28-22-55-15.md`
- `实现方案-2026-04-28-22-55-15.md`
- `测试方案-2026-04-28-22-55-15.md`
- **预期结果**: 6 个文件全部存在且非空
- **通过标准**: 每个文件大小 > 0 字节
### 用例 2: 工作流文档内容验证
- **前置条件**: `代码编纂工作流.md` 已创建
- **操作步骤**:
1. 打开文档,检查是否包含 10 个阶段定义
2. 检查是否包含需求分析模板
3. 检查是否包含实现方案模板
4. 检查是否包含测试方案模板
5. 检查是否包含经验记录四段式格式
6. 检查是否包含 Gitea 备份命令
7. 检查是否包含检查表
- **预期结果**: 以上内容均存在
- **通过标准**: 逐条检查均通过
### 用例 3: Gitea 备份验证
- **前置条件**: git 仓库已初始化,远程 origin 已配置
- **操作步骤**:
1. 执行 `git add .`
2. 执行 `git commit -m "2026-04-28-22-55-15 - 建立代码编纂工作流"`
3. 执行 `git push origin main`
- **预期结果**: commit 成功push 无报错
- **通过标准**: Gitea 仓库可看到最新 commit
### 用例 4: 项目构建验证
- **前置条件**: 项目依赖已安装
- **操作步骤**:
1. 执行 `npm run lint`
2. 执行 `npm run build`
- **预期结果**: 两条命令均成功执行,无错误
- **通过标准**: 命令返回 exit code 0
### 用例 5: 项目运行验证
- **前置条件**: 构建成功
- **操作步骤**:
1. 执行 `npm start`
2. 访问 `http://localhost:3000`
- **预期结果**: 页面正常加载,无 500 错误
- **通过标准**: HTTP 200 响应SPA 正常渲染
## 回归测试
- [x] 未修改任何现有业务代码,回归风险极低
- [x] `npm run lint` 无新增错误
- [x] `npm run build` 构建成功
## 测试环境
- 浏览器: Chrome
- 分辨率: 1920x1080
- 测试数据: 无(纯流程验证)

View File

@@ -0,0 +1,46 @@
# 经验记录Knowledge Base
> 本文件按代码编纂工作流规范,以四段式记录项目修改过程中遇到的关键问题及解决方案。
> 格式: A. 具体问题 / B. 产生原因 / C. 解决方案 / D. 后续如何避免
---
## 2026-04-28-22-55-15 — 建立代码编纂工作流
### A. 具体问题
项目缺少标准化的代码修改流程,导致需求管理、方案设计、测试验证、知识沉淀等环节可能遗漏,影响项目质量和可维护性。
### B. 产生原因
项目初期以快速原型为主,未建立正式的工程化管理流程;随着功能增加,需要更严谨的变更管理机制。
### C. 解决方案
建立完整的代码编纂工作流,包含 10 个阶段时间戳记录、工程分析、需求分析、实现方案人工审核、测试方案人工审核、执行前准备阅读经验记录、方案执行、经验沉淀、Gitea 备份、重新部署。
### D. 后续如何避免问题
- 后续所有项目修改严格按工作流执行
- 每次修改前检查工作流检查表
- 定期回顾经验记录,提取共性预防措施
---
## 2026-04-28-22-55-15 — 执行环境 Node.js 缺失
### A. 具体问题
执行 `npm run lint``npm run build` 时提示 `npm: command not found`,当前 Shell 环境未安装 Node.js 运行时。
### B. 产生原因
AI 助手运行的容器/环境与项目实际开发环境分离,后者才装有 Node.js 和 npm。
### C. 解决方案
- 文档创建和 git 操作可在 AI 环境中完成
- 构建验证(`npm run lint``npm run build``npm start`)需由用户在本地开发环境执行,或 AI 提供精确命令由用户自行运行
- 在经验记录中标注此限制,提醒后续流程
### D. 后续如何避免问题
- 每次执行阶段 6 和阶段 9 前,先检查 `which npm`
- 如 npm 不可用,向用户明确说明需手动执行的命令,并提供复制粘贴格式
- 考虑在 CI/CD 流程中统一构建环境
---
> 新增经验请追加到文件末尾,保持时间倒序或正序均可,但需确保每条经验包含完整的 A/B/C/D 四段。

View File

@@ -0,0 +1,64 @@
# 需求分析 - 2026-04-28-22-55-15
## 需求来源
- 提出时间: 2026-04-28-22-55-15
- 需求类型: 工程管理 / 流程建设
## 原始需求描述
用户要求建立一套完整的代码编纂工作流,后续所有项目修改相关需求都必须按照此工作流执行。具体要求如下:
1. 每次执行前记录问题开始时间 `{Year}-{Mon}-{Day}-{Hour}-{Min}-{Sec}`
2. 阅读或创建 `./工程分析` 文件夹,存放工程整体分析
3. 每次需求整理写入 `./工程分析/需求分析-{timestamp}.md`
4. 每次实现方案写入 `./工程分析/实现方案-{timestamp}.md`(需人工审核确认)
5. 每次测试方案写入 `./工程分析/测试方案-{timestamp}.md`(需人工审核确认)
6. 执行前阅读 `./工程分析/经验记录.md` 防止犯错;执行后在经验记录中按 A/B/C/D 四段式记录关键问题
7. 最终执行后对文档使用 gitea 进行备份 commit含时间戳和修改简述并提醒用户
8. 重新部署本项目
Gitea 备份方式:
- 仓库地址: `http://192.168.31.5:5002/admin/Seg_Server.git`
- 推送到 main 分支
## 需求拆解
### 需求 1: 创建工作流主文档
- **详细描述**: 编写 `代码编纂工作流.md`,定义完整的 10 阶段流程及各阶段规范
- **优先级**: P0-阻塞
- **影响范围**: `./工程分析/代码编纂工作流.md`
- **验收标准**: 文档包含所有阶段定义、模板、检查表和特殊情况处理
### 需求 2: 创建项目整体分析文档
- **详细描述**: 编写 `项目整体分析.md`汇总项目技术栈、目录结构、API、已知问题等
- **优先级**: P0-阻塞
- **影响范围**: `./工程分析/项目整体分析.md`
- **验收标准**: 文档能完整反映当前项目状态,便于快速理解项目
### 需求 3: 创建经验记录文档
- **详细描述**: 创建 `经验记录.md` 初始版本,定义四段式记录格式
- **优先级**: P0-阻塞
- **影响范围**: `./工程分析/经验记录.md`
- **验收标准**: 文档包含格式规范和初始经验条目
### 需求 4: Gitea 备份提交
- **详细描述**: 将所有新增的工作流文档提交到 gitea 仓库
- **优先级**: P0-阻塞
- **影响范围**: Git 仓库
- **验收标准**: 成功 push 到 `http://192.168.31.5:5002/admin/Seg_Server.git` 的 main 分支
### 需求 5: 重新部署项目
- **详细描述**: 确保项目构建和运行正常
- **优先级**: P1-高
- **影响范围**: 项目运行状态
- **验收标准**: `npm run build` 成功,服务可正常启动
## 约束条件
- 文档全部使用中文
- commit 格式需包含时间戳和修改简述
- 不修改现有业务代码(纯流程建设)
## 风险评估
| 风险点 | 影响 | 缓解措施 |
|--------|------|----------|
| gitea 远程仓库不可达 | 高 | 提前测试连通性 |
| .gitignore 遗漏工程分析文档 | 中 | 确认文档未被排除 |

View File

@@ -0,0 +1,187 @@
# 项目整体分析 — 语义分割系统Seg_Server
> 分析时间: 2026-04-28-22-55-15
> 本文档面向代码编纂工作流,提供项目全景视图,用于快速理解项目结构和当前状态。
---
## 一、项目基本信息
| 属性 | 值 |
|------|-----|
| 项目名称 | react-examplepackage.json name |
| 业务名称 | 语义分割系统Semantic Segmentation System |
| 部署目标 | Google AI Studio / Cloud Run |
| 应用链接 | https://ai.studio/apps/2707f0e1-d453-4594-a618-fba53cb937c4 |
| 业务文档 | `语义分割系统构建方案.docx`(未解析) |
| 代码仓库 | http://192.168.31.5:5002/admin/Seg_Server.git |
---
## 二、技术栈
| 层级 | 技术选型 | 版本 |
|------|----------|------|
| 前端框架 | React + TypeScript | React 19, TS 5.8 |
| 构建工具 | Vite | v6 |
| 样式方案 | TailwindCSS + 自定义深色主题 | v4 |
| 状态管理 | React useState无外部状态库 | - |
| 路由 | 无路由库,基于 React 状态切换 | - |
| Canvas 渲染 | Konva + react-konva | - |
| 图标库 | lucide-react | - |
| 动画 | motion | - |
| AI SDK | @google/genaiGemini API | - |
| 后端 | Express | v4 |
| 运行时 | Node.js ES Modules | `"type": "module"` |
---
## 三、目录结构
```
Seg_Server/
├── server.ts # Express 服务端入口(开发服务器 + 生产静态文件服务)
├── index.html # SPA HTML 入口
├── vite.config.ts # Vite 构建配置(含 DISABLE_HMR 逻辑)
├── tsconfig.json # TypeScript 配置
├── package.json # 依赖与脚本
├── .env.example # 环境变量模板
├── metadata.json # AI Studio 元数据(目前为空)
├── AGENTS.md # AI 助手项目指南
├── 语义分割系统构建方案.docx # 业务方案文档
├── src/
│ ├── main.tsx # React 应用挂载点StrictMode
│ ├── App.tsx # 根组件:模块路由 + 登录鉴权
│ ├── index.css # TailwindCSS 导入 + 自定义工具类
│ ├── lib/
│ │ └── utils.ts # cn() 工具函数clsx + tailwind-merge
│ └── components/
│ ├── auth/
│ │ └── Login.tsx # 登录页admin / 123456
│ ├── layout/
│ │ └── Sidebar.tsx # 左侧导航栏w-16引用 /Logo.png缺失
│ ├── dashboard/
│ │ └── Dashboard.tsx # 总体概况仪表盘
│ ├── projects/
│ │ └── ProjectLibrary.tsx # 项目库列表
│ ├── workspace/
│ │ ├── VideoWorkspace.tsx # 核心分割工作区布局32 行)
│ │ ├── CanvasArea.tsx # Konva 画布(缩放/平移/选点140 行)
│ │ ├── ToolsPalette.tsx # 左侧工具栏
│ │ ├── OntologyInspector.tsx # 右侧本体/属性检查面板
│ │ └── FrameTimeline.tsx # 底部时间轴
│ ├── ai/
│ │ └── AISegmentation.tsx # AI 智能分割引擎界面
│ └── templates/
│ └── TemplateRegistry.tsx # 模板库管理
```
---
## 四、模块与路由
`App.tsx``activeModule` 状态控制当前显示模块:
| 模块标识 | 组件 | 功能 |
|----------|------|------|
| `dashboard` | Dashboard.tsx | 总体概况仪表盘 |
| `projects` | ProjectLibrary.tsx | 项目库列表 |
| `ai` | AISegmentation.tsx | AI 智能分割引擎 |
| `workspace` | VideoWorkspace.tsx | 核心分割工作区(默认进入) |
| `templates` | TemplateRegistry.tsx | 模板库管理 |
**未登录时全局拦截**,显示 `Login` 组件。
---
## 五、后端 API
`server.ts` 提供以下端点(内存数据存储,无数据库):
| 方法 | 端点 | 说明 |
|------|------|------|
| POST | /api/login | 认证,固定用户名 admin / 密码 123456 |
| GET | /api/projects | 返回项目列表 |
| GET | /api/templates | 返回模板列表 |
---
## 六、已知问题与风险
| 问题 | 影响 | 状态 |
|------|------|------|
| `Sidebar.tsx` 引用 `/Logo.png`,文件不存在 | 运行时 404 | 待修复 |
| 硬编码登录凭据admin/123456 | 安全风险 | 已知,需替换 |
| 使用 fake JWT token | 无实际签名验证 | 已知 |
| 内存数据存储 | 服务重启数据丢失 | 设计如此 |
| 未配置 CORS / Helmet | 安全头缺失 | 待评估 |
| 无测试框架 | 无自动化测试 | 待引入 |
---
## 七、构建与部署
### 可用命令
```bash
npm install # 安装依赖
npm run dev # 开发模式Express + Vite 中间件,端口 3000
npm run build # 生产构建(输出到 dist/
npm run preview # 预览生产构建
npm start # 生产模式启动(需先 build
npm run lint # 类型检查
npm run clean # 清理构建产物
```
### 环境变量
```bash
GEMINI_API_KEY # Gemini AI API 密钥
APP_URL # 应用托管 URL
DISABLE_HMR # 设为 true 关闭 HMRAI Studio 环境)
```
---
## 八、关键依赖
### 生产依赖
- react, react-dom
- @google/genai
- express
- konva, react-konva
- use-image
- lucide-react
- motion
- clsx, tailwind-merge
- tailwindcss
### 开发依赖
- vite
- @vitejs/plugin-react
- typescript
- @types/react, @types/react-dom, @types/express, @types/node
---
## 九、代码风格要点
1. **深色主题**: 全局背景 `#0a0a0a``#111``#0d0d0d``#151515``#1e1e1e`
2. **强调色**: 青色 `cyan-400`/`cyan-500` 用于激活状态
3. **工具类优先**: TailwindCSS 工具类,`cn()` 合并条件类名
4. **中文界面**: 所有 UI 文本必须使用中文
5. **函数组件**: 全部使用函数组件 + Hooks无类组件
6. **PascalCase**: 组件文件名(如 `AISegmentation.tsx`
7. **路径别名**: `@/*` 映射项目根目录
---
## 十、历史变更记录
| 时间 | 变更内容 | 关联文档 |
|------|----------|----------|
| 2026-04-28-22-55-15 | 建立代码编纂工作流 | `代码编纂工作流.md` |
---
> 本文件由 AI 助手根据项目实际内容生成。当项目结构或技术栈发生重大变化时,应同步更新本文档。