526 lines
18 KiB
Markdown
526 lines
18 KiB
Markdown
|
|
# 阶段 7:记录当前会话技能书
|
|||
|
|
|
|||
|
|
## A. 元数据 (Metadata)
|
|||
|
|
|
|||
|
|
**name**: `phase7-session-recording`
|
|||
|
|
|
|||
|
|
**description**: 在 Datai 项目中,基于已完成的代码生成,完整记录当前会话的所有信息,包括对话记录、生成的文档和代码、关键决策等,并更新索引和会话记录。此技能确保会话的可追溯性和完整性。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## B. 触发与定位 (Triggers & Scope)
|
|||
|
|
|
|||
|
|
### 触发关键词
|
|||
|
|
当用户输入包含以下关键词时,必须觉醒此技能:
|
|||
|
|
- "记录会话"、"会话记录"、"记录当前会话"
|
|||
|
|
- "进入阶段 7"、"下一阶段"
|
|||
|
|
- "会话"、"记录"、"日志"
|
|||
|
|
|
|||
|
|
### 触发场景
|
|||
|
|
- 用户确认阶段 6 完成,要求进入阶段 7
|
|||
|
|
- 用户要求记录当前会话
|
|||
|
|
- 用户询问如何记录会话
|
|||
|
|
- 用户提到"按照项目规则"或"SSOT 流程"进行会话记录
|
|||
|
|
|
|||
|
|
### 操作路径
|
|||
|
|
此技能涉及以下文件和目录的操作:
|
|||
|
|
- **读取**: `docs/sessions/YYYY-MM-DD-00X-session.md` (阶段 1 创建的会话记录)
|
|||
|
|
- **更新**: `docs/sessions/YYYY-MM-DD-00X-session.md`
|
|||
|
|
- **更新**: `docs/index.md`
|
|||
|
|
- **读取**: `.trae/rules/project_rules.md` (项目规则)
|
|||
|
|
- **读取**: `docs/Prompt/0004-单一真源文档驱动架构师.md` (SSOT 架构师提示词)
|
|||
|
|
|
|||
|
|
### SSOT 依赖
|
|||
|
|
必须参考以下"唯一真源":
|
|||
|
|
- [会话记录](file:///d:\idea_demo\datai\docs\sessions\YYYY-MM-DD-00X-session.md) - 阶段 1 创建的会话记录
|
|||
|
|
- [project_rules.md](file:///d:\idea_demo\datai\.trae\rules\project_rules.md) - 项目规则和阶段定义
|
|||
|
|
- [0004-单一真源文档驱动架构师.md](file:///d:\idea_demo\datai\docs\Prompt\0004-单一真源文档驱动架构师.md) - SSOT 架构师提示词
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## C. 核心指令集 (Instructions)
|
|||
|
|
|
|||
|
|
### 架构约束
|
|||
|
|
|
|||
|
|
#### 1. 会话记录约束(强制)
|
|||
|
|
- 必须更新 `docs/sessions/YYYY-MM-DD-00X-session.md`
|
|||
|
|
- 必须包含完整的对话记录
|
|||
|
|
- 必须包含所有生成的文档和代码的链接
|
|||
|
|
- 必须记录关键决策和理由
|
|||
|
|
- 必须记录回退记录(如果有)
|
|||
|
|
|
|||
|
|
#### 2. 索引更新约束(强制)
|
|||
|
|
- 必须在更新会话记录后立即更新 `docs/index.md`
|
|||
|
|
- 必须更新会话记录链接
|
|||
|
|
- 采用增量更新策略,**严禁**删除现有内容
|
|||
|
|
- 索引链接格式:`[文档名](./相对路径/文件名.md)`
|
|||
|
|
|
|||
|
|
#### 3. 会话记录结构约束(强制)
|
|||
|
|
会话记录必须包含以下章节:
|
|||
|
|
- 元数据
|
|||
|
|
- 需求描述
|
|||
|
|
- 执行阶段
|
|||
|
|
- 对话记录
|
|||
|
|
- 生成的文档
|
|||
|
|
- 回退记录(如果有)
|
|||
|
|
|
|||
|
|
### 业务逻辑 SOP(标准操作流程)
|
|||
|
|
|
|||
|
|
#### 步骤 1:会话分析(Let's think step by step)
|
|||
|
|
在更新会话记录前,必须执行以下分析:
|
|||
|
|
|
|||
|
|
1. **回顾整个会话过程**
|
|||
|
|
- 从阶段 1 到阶段 6 的完整过程
|
|||
|
|
- 识别关键节点和里程碑
|
|||
|
|
- 识别会话的起止时间
|
|||
|
|
|
|||
|
|
2. **识别关键决策和讨论点**
|
|||
|
|
- 需求分析阶段的关键决策
|
|||
|
|
- 设计阶段的关键决策
|
|||
|
|
- 决策记录阶段的关键决策
|
|||
|
|
- 代码生成阶段的关键决策
|
|||
|
|
- 任何讨论和争议点
|
|||
|
|
|
|||
|
|
3. **整理所有生成的文档和代码**
|
|||
|
|
- 需求文档
|
|||
|
|
- 设计文档
|
|||
|
|
- 决策记录
|
|||
|
|
- SQL 脚本(如果有)
|
|||
|
|
- 提示词
|
|||
|
|
- 代码文件
|
|||
|
|
- 参考代码文档
|
|||
|
|
- 实施方案文档
|
|||
|
|
|
|||
|
|
#### 步骤 2:更新会话记录
|
|||
|
|
1. **读取现有会话记录**
|
|||
|
|
- 使用 Read 工具读取 `docs/sessions/YYYY-MM-DD-00X-session.md`
|
|||
|
|
- 了解现有会话记录的内容和结构
|
|||
|
|
|
|||
|
|
2. **更新元数据**
|
|||
|
|
- 更新"结束时间"为当前时间
|
|||
|
|
- 更新"当前阶段"为"阶段 7:记录当前会话"
|
|||
|
|
- 更新"状态"为"已完成"
|
|||
|
|
|
|||
|
|
3. **更新执行阶段**
|
|||
|
|
- 更新所有阶段的状态:
|
|||
|
|
- 阶段 1:已完成
|
|||
|
|
- 阶段 2:已完成
|
|||
|
|
- 阶段 3:已完成
|
|||
|
|
- 阶段 4:已完成/跳过
|
|||
|
|
- 阶段 5:已完成
|
|||
|
|
- 阶段 6:已完成
|
|||
|
|
- 阶段 7:已完成
|
|||
|
|
- 阶段 8:未开始
|
|||
|
|
- 阶段 9:未开始
|
|||
|
|
- 阶段 10:未开始
|
|||
|
|
- 为每个已完成的阶段添加:
|
|||
|
|
- 生成的文档链接
|
|||
|
|
- 关键决策
|
|||
|
|
- 状态
|
|||
|
|
|
|||
|
|
4. **添加完整的对话记录**
|
|||
|
|
- 记录用户的原始需求
|
|||
|
|
- 记录 AI 的分析和决策
|
|||
|
|
- 记录用户的反馈和确认
|
|||
|
|
- 记录任何回退操作和原因
|
|||
|
|
- 记录关键讨论和争议点
|
|||
|
|
|
|||
|
|
5. **添加所有生成的文档**
|
|||
|
|
- 需求文档
|
|||
|
|
- 设计文档
|
|||
|
|
- 决策记录
|
|||
|
|
- SQL 脚本(如果有)
|
|||
|
|
- 提示词
|
|||
|
|
- 参考代码文档
|
|||
|
|
- 实施方案文档
|
|||
|
|
- API 文档(如果有)
|
|||
|
|
- 复盘文档(如果有)
|
|||
|
|
|
|||
|
|
6. **添加回退记录(如果有)**
|
|||
|
|
- 记录回退的阶段
|
|||
|
|
- 记录回退的原因
|
|||
|
|
- 记录回退的操作
|
|||
|
|
- 记录回退后的处理
|
|||
|
|
|
|||
|
|
7. **会话记录质量检查**
|
|||
|
|
- 使用 Read 工具读取更新后的会话记录
|
|||
|
|
- 检查是否包含所有必需章节
|
|||
|
|
- 检查是否包含完整的对话记录
|
|||
|
|
- 检查是否包含所有生成的文档和代码的链接
|
|||
|
|
- 检查是否包含关键决策和理由
|
|||
|
|
- 检查是否包含回退记录(如果有)
|
|||
|
|
|
|||
|
|
#### 步骤 3:更新索引
|
|||
|
|
1. **读取现有索引**
|
|||
|
|
- 使用 Read 工具读取 `docs/index.md`
|
|||
|
|
- 找到"会话记录"部分
|
|||
|
|
- 如果不存在,则创建该部分
|
|||
|
|
|
|||
|
|
2. **更新会话记录链接**
|
|||
|
|
- 更新"会话记录"部分的会话记录链接
|
|||
|
|
- 确保链接指向最新的会话记录
|
|||
|
|
- 格式:`- [会话记录](./sessions/YYYY-MM-DD-00X-session.md) - [需求名]`
|
|||
|
|
- 示例:`- [会话记录](./sessions/2026-01-21-001-session.md) - 用户登录功能`
|
|||
|
|
|
|||
|
|
3. **保存索引**
|
|||
|
|
- 使用 Write 工具更新 `docs/index.md`
|
|||
|
|
- **严禁**删除现有内容,只更新会话记录链接
|
|||
|
|
|
|||
|
|
#### 步骤 4:确认与询问
|
|||
|
|
1. **向用户确认**
|
|||
|
|
- 显示更新后的会话记录的链接
|
|||
|
|
- 询问:"会话记录是否完整?"
|
|||
|
|
- 询问:"是否进入下一阶段(变更记录与归档)?"
|
|||
|
|
|
|||
|
|
2. **等待用户反馈**
|
|||
|
|
- 如果用户不满意,询问具体需要修改的地方
|
|||
|
|
- 如果用户要求回退,执行回退机制(见错误陷阱部分)
|
|||
|
|
- 如果用户确认,标记阶段 7 为已完成,准备进入阶段 8
|
|||
|
|
|
|||
|
|
### 工具调用
|
|||
|
|
|
|||
|
|
#### 必须使用的工具
|
|||
|
|
1. **Read 工具**:读取现有文件
|
|||
|
|
- 使用场景:读取会话记录、读取索引
|
|||
|
|
- 命令:`Read(file_path="d:\\idea_demo\\datai\\docs\\sessions\\2026-01-21-001-session.md")`
|
|||
|
|
|
|||
|
|
2. **Write 工具**:创建或更新文件
|
|||
|
|
- 使用场景:更新会话记录、更新索引
|
|||
|
|
- 命令:`Write(file_path="d:\\idea_demo\\datai\\docs\\sessions\\2026-01-21-001-session.md", content="...")`
|
|||
|
|
|
|||
|
|
3. **LS 工具**:检查目录是否存在
|
|||
|
|
- 使用场景:确认 `docs/sessions/` 目录存在
|
|||
|
|
- 命令:`LS(path="d:\\idea_demo\\datai\\docs")`
|
|||
|
|
|
|||
|
|
#### 可选使用的工具
|
|||
|
|
1. **TodoWrite 工具**:管理任务
|
|||
|
|
- 使用场景:跟踪阶段执行进度
|
|||
|
|
- 命令:`TodoWrite(todos=[...])`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D. 错误陷阱与验证 (Anti-Patterns & Checklist)
|
|||
|
|
|
|||
|
|
### 常见错误(Anti-Patterns)
|
|||
|
|
|
|||
|
|
#### 错误 1:不完整记录对话
|
|||
|
|
**错误示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 对话记录
|
|||
|
|
用户:实现用户登录功能
|
|||
|
|
AI:好的,开始执行...
|
|||
|
|
AI:完成
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**问题**:
|
|||
|
|
- 对话记录过于简单
|
|||
|
|
- 没有记录具体的分析过程
|
|||
|
|
- 没有记录关键决策
|
|||
|
|
- 没有记录用户的反馈和确认
|
|||
|
|
|
|||
|
|
**正确示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 对话记录
|
|||
|
|
2026-01-21 10:00:00 用户:请实现一个用户登录功能,包括用户名和密码验证、记住密码、自动登录等功能。
|
|||
|
|
2026-01-21 10:01:00 AI:好的,我将按照 SSOT 流程执行。首先进入阶段 1:需求定义与入库。
|
|||
|
|
2026-01-21 10:02:00 AI:我需要分析您的需求,将其拆解为用户故事和验收标准。
|
|||
|
|
2026-01-21 10:03:00 用户:好的,麻烦了。
|
|||
|
|
2026-01-21 10:10:00 AI:已创建需求文档:[链接],需求文档是否符合预期?
|
|||
|
|
2026-01-21 10:11:00 用户:符合预期,可以进入下一阶段。
|
|||
|
|
2026-01-21 10:12:00 AI:好的,进入阶段 2:方案设计。
|
|||
|
|
...(完整的对话记录)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 错误 2:不记录生成的文档和代码
|
|||
|
|
**错误示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 生成的文档
|
|||
|
|
无
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**问题**:
|
|||
|
|
- 没有记录生成的文档和代码
|
|||
|
|
- 违反了 SSOT 原则
|
|||
|
|
- 无法追溯生成的内容
|
|||
|
|
|
|||
|
|
**正确示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 生成的文档
|
|||
|
|
- [需求文档](../requirements/2026-01-21-001-用户登录功能.md)
|
|||
|
|
- [设计文档](../design/2026-01-21-001-用户登录功能-设计.md)
|
|||
|
|
- [决策记录](../decisions/2026-01-21-001-ADR-用户登录功能-技术选型.md)
|
|||
|
|
- [提示词](../prompts/2026-01-21-001-prompt-用户登录功能.md)
|
|||
|
|
- [参考代码文档](../reference-code/2026-01-21-001-code-用户登录功能.md)
|
|||
|
|
- [实施方案文档](../implementation/2026-01-21-001-implementation-用户登录功能.md)
|
|||
|
|
|
|||
|
|
## 生成的代码文件
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/controller/SysLoginController.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/service/SysLoginService.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/mapper/SysUserMapper.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/domain/SysUser.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/config/SecurityConfig.java`
|
|||
|
|
- `datai-modules-system/src/test/java/com/datai/modules/system/service/SysLoginServiceTest.java`
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 错误 3:不记录关键决策
|
|||
|
|
**错误示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 执行阶段
|
|||
|
|
### 阶段 3:方案决策
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[决策记录](../decisions/2026-01-21-001-ADR-用户登录功能-技术选型.md)
|
|||
|
|
- 关键决策:无
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**问题**:
|
|||
|
|
- 没有记录关键决策
|
|||
|
|
- 无法追溯决策的理由和过程
|
|||
|
|
- 违反了 SSOT 原则
|
|||
|
|
|
|||
|
|
**正确示例**:
|
|||
|
|
```markdown
|
|||
|
|
## 执行阶段
|
|||
|
|
### 阶段 3:方案决策
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[决策记录](../decisions/2026-01-21-001-ADR-用户登录功能-技术选型.md)
|
|||
|
|
- 关键决策:
|
|||
|
|
1. 选择 Spring Security + JWT 作为认证方案
|
|||
|
|
2. 拒绝 Shiro + Redis 方案,因为与 Spring Boot 集成不如 Spring Security 紧密
|
|||
|
|
3. 拒绝自定义认证方案,因为开发成本高,安全性难以保证
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 错误 4:不更新索引
|
|||
|
|
**错误示例**:
|
|||
|
|
```
|
|||
|
|
AI:更新会话记录
|
|||
|
|
AI:完成(忘记更新索引)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**正确示例**:
|
|||
|
|
```
|
|||
|
|
AI:更新会话记录
|
|||
|
|
AI:更新 docs/index.md,更新会话记录链接
|
|||
|
|
AI:完成
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 错误 5:不询问用户确认就进入下一阶段
|
|||
|
|
**错误示例**:
|
|||
|
|
```
|
|||
|
|
AI:更新会话记录
|
|||
|
|
AI:进入阶段 8:变更记录与归档(未询问用户)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**正确示例**:
|
|||
|
|
```
|
|||
|
|
AI:更新会话记录
|
|||
|
|
AI:会话记录已更新:[链接]
|
|||
|
|
AI:会话记录是否完整?
|
|||
|
|
AI:是否进入下一阶段(变更记录与归档)?
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 验收清单(Checklist)
|
|||
|
|
|
|||
|
|
在完成阶段 7 前,必须检查以下项目:
|
|||
|
|
|
|||
|
|
#### 会话记录完整性检查
|
|||
|
|
- [ ] 会话记录已更新
|
|||
|
|
- [ ] 会话记录包含完整的元数据(需求编号、开始时间、结束时间、当前阶段、状态)
|
|||
|
|
- [ ] 会话记录包含完整的需求描述
|
|||
|
|
- [ ] 会话记录包含所有执行阶段的状态和生成文档
|
|||
|
|
- [ ] 会话记录包含完整的对话记录
|
|||
|
|
- [ ] 会话记录包含所有生成的文档和代码的链接
|
|||
|
|
- [ ] 会话记录包含关键决策和理由
|
|||
|
|
- [ ] 会话记录包含回退记录(如果有)
|
|||
|
|
|
|||
|
|
#### 会话记录质量检查
|
|||
|
|
- [ ] 对话记录按时间顺序排列
|
|||
|
|
- [ ] 对话记录包含用户和 AI 的所有交流
|
|||
|
|
- [ ] 生成的文档和代码链接正确
|
|||
|
|
- [ ] 关键决策描述清晰、准确
|
|||
|
|
- [ ] 会话记录格式规范、易读
|
|||
|
|
|
|||
|
|
#### 索引更新检查
|
|||
|
|
- [ ] `docs/index.md` 已更新
|
|||
|
|
- [ ] 会话记录链接已更新
|
|||
|
|
- [ ] 索引链接格式正确:`[文档名](./相对路径/文件名.md)`
|
|||
|
|
- [ ] 索引更新采用增量策略,未删除现有内容
|
|||
|
|
|
|||
|
|
#### 用户确认检查
|
|||
|
|
- [ ] 已向用户显示更新后的会话记录链接
|
|||
|
|
- [ ] 已询问用户"会话记录是否完整?"
|
|||
|
|
- [ ] 已询问用户"是否进入下一阶段?"
|
|||
|
|
- [ ] 已等待用户反馈
|
|||
|
|
|
|||
|
|
#### 回退机制检查(如果需要)
|
|||
|
|
- [ ] 如果用户不满意,已询问具体需要修改的地方
|
|||
|
|
- [ ] 如果用户要求回退,已删除相关文档
|
|||
|
|
- [ ] 如果用户要求回退,已撤销索引更新
|
|||
|
|
- [ ] 如果用户要求回退,已更新会话记录
|
|||
|
|
|
|||
|
|
### Correct vs Incorrect 代码对比
|
|||
|
|
|
|||
|
|
#### Incorrect(错误示例)
|
|||
|
|
```markdown
|
|||
|
|
# 会话记录
|
|||
|
|
|
|||
|
|
## 元数据
|
|||
|
|
- 需求编号:001
|
|||
|
|
- 开始时间:2026-01-21 10:00:00
|
|||
|
|
- 结束时间:2026-01-21 12:00:00
|
|||
|
|
- 当前阶段:阶段 7:记录当前会话
|
|||
|
|
|
|||
|
|
## 需求描述
|
|||
|
|
实现用户登录功能
|
|||
|
|
|
|||
|
|
## 执行阶段
|
|||
|
|
### 阶段 1:需求定义与入库
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[需求文档](../requirements/2026-01-21-001-用户登录功能.md)
|
|||
|
|
|
|||
|
|
### 阶段 2:方案设计
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[设计文档](../design/2026-01-21-001-用户登录功能-设计.md)
|
|||
|
|
|
|||
|
|
## 对话记录
|
|||
|
|
用户:实现用户登录功能
|
|||
|
|
AI:好的,开始执行...
|
|||
|
|
AI:完成
|
|||
|
|
|
|||
|
|
## 生成的文档
|
|||
|
|
- [需求文档](../requirements/2026-01-21-001-用户登录功能.md)
|
|||
|
|
- [设计文档](../design/2026-01-21-001-用户登录功能-设计.md)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### Correct(正确示例)
|
|||
|
|
```markdown
|
|||
|
|
# 会话记录
|
|||
|
|
|
|||
|
|
## 元数据
|
|||
|
|
- 需求编号:001
|
|||
|
|
- 开始时间:2026-01-21 10:00:00
|
|||
|
|
- 结束时间:2026-01-21 12:00:00
|
|||
|
|
- 当前阶段:阶段 7:记录当前会话
|
|||
|
|
- 状态:已完成
|
|||
|
|
|
|||
|
|
## 需求描述
|
|||
|
|
实现用户登录功能,包括用户名和密码验证、记住密码、自动登录、登录失败提示、登录成功后跳转到首页等功能。
|
|||
|
|
|
|||
|
|
## 执行阶段
|
|||
|
|
### 阶段 1:需求定义与入库
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[需求文档](../requirements/2026-01-21-001-用户登录功能.md)
|
|||
|
|
- 关键决策:确定需求优先级为高,复杂度为中等
|
|||
|
|
|
|||
|
|
### 阶段 2:方案设计
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[设计文档](../design/2026-01-21-001-用户登录功能-设计.md)
|
|||
|
|
- 关键决策:
|
|||
|
|
1. 采用 Spring Security + JWT 作为认证方案
|
|||
|
|
2. 采用 Redis 存储 Token
|
|||
|
|
3. 采用 BCrypt 进行密码加密
|
|||
|
|
|
|||
|
|
### 阶段 3:方案决策
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[决策记录](../decisions/2026-01-21-001-ADR-用户登录功能-技术选型.md)
|
|||
|
|
- 关键决策:
|
|||
|
|
1. 选择 Spring Security + JWT 作为认证方案
|
|||
|
|
2. 拒绝 Shiro + Redis 方案,因为与 Spring Boot 集成不如 Spring Security 紧密
|
|||
|
|
3. 拒绝自定义认证方案,因为开发成本高,安全性难以保证
|
|||
|
|
|
|||
|
|
### 阶段 4:数据库结构生成
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[SQL 脚本](../sql/2026-01-21-001-user-login.sql)
|
|||
|
|
- 关键决策:修改 sys_user 表,添加 login_ip 和 login_date 字段
|
|||
|
|
|
|||
|
|
### 阶段 5:提示词生成
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:[提示词](../prompts/2026-01-21-001-prompt-用户登录功能.md)
|
|||
|
|
- 关键决策:定义了详细的输出格式要求和代码规范
|
|||
|
|
|
|||
|
|
### 阶段 6:执行代码生成
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:
|
|||
|
|
- [参考代码文档](../reference-code/2026-01-21-001-code-用户登录功能.md)
|
|||
|
|
- [实施方案文档](../implementation/2026-01-21-001-implementation-用户登录功能.md)
|
|||
|
|
- 生成代码文件:
|
|||
|
|
- `SysLoginController.java`
|
|||
|
|
- `SysLoginService.java`
|
|||
|
|
- `SysUserMapper.java`
|
|||
|
|
- `SysUser.java`
|
|||
|
|
- `SecurityConfig.java`
|
|||
|
|
- `SysLoginServiceTest.java`
|
|||
|
|
- 关键决策:按照提示词要求生成了所有代码文件和单元测试
|
|||
|
|
|
|||
|
|
### 阶段 7:记录当前会话
|
|||
|
|
- 状态:已完成
|
|||
|
|
- 生成文档:无
|
|||
|
|
- 关键决策:完整记录了当前会话的所有信息
|
|||
|
|
|
|||
|
|
## 对话记录
|
|||
|
|
2026-01-21 10:00:00 用户:请实现一个用户登录功能,包括用户名和密码验证、记住密码、自动登录等功能。
|
|||
|
|
2026-01-21 10:01:00 AI:好的,我将按照 SSOT 流程执行。首先进入阶段 1:需求定义与入库。
|
|||
|
|
2026-01-21 10:02:00 AI:我需要分析您的需求,将其拆解为用户故事和验收标准。
|
|||
|
|
2026-01-21 10:03:00 用户:好的,麻烦了。
|
|||
|
|
2026-01-21 10:10:00 AI:已创建需求文档:[链接],需求文档是否符合预期?
|
|||
|
|
2026-01-21 10:11:00 用户:符合预期,可以进入下一阶段。
|
|||
|
|
2026-01-21 10:12:00 AI:好的,进入阶段 2:方案设计。
|
|||
|
|
...(完整的对话记录)
|
|||
|
|
2026-01-21 12:00:00 AI:会话记录已更新:[链接],会话记录是否完整?
|
|||
|
|
|
|||
|
|
## 生成的文档
|
|||
|
|
- [需求文档](../requirements/2026-01-21-001-用户登录功能.md)
|
|||
|
|
- [设计文档](../design/2026-01-21-001-用户登录功能-设计.md)
|
|||
|
|
- [决策记录](../decisions/2026-01-21-001-ADR-用户登录功能-技术选型.md)
|
|||
|
|
- [SQL 脚本](../sql/2026-01-21-001-user-login.sql)
|
|||
|
|
- [提示词](../prompts/2026-01-21-001-prompt-用户登录功能.md)
|
|||
|
|
- [参考代码文档](../reference-code/2026-01-21-001-code-用户登录功能.md)
|
|||
|
|
- [实施方案文档](../implementation/2026-01-21-001-implementation-用户登录功能.md)
|
|||
|
|
|
|||
|
|
## 生成的代码文件
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/controller/SysLoginController.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/service/SysLoginService.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/mapper/SysUserMapper.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/domain/SysUser.java`
|
|||
|
|
- `datai-modules-system/src/main/java/com/datai/modules/system/config/SecurityConfig.java`
|
|||
|
|
- `datai-modules-system/src/test/java/com/datai/modules/system/service/SysLoginServiceTest.java`
|
|||
|
|
|
|||
|
|
## 回退记录
|
|||
|
|
无
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 附录:快速参考
|
|||
|
|
|
|||
|
|
### 文件路径速查
|
|||
|
|
- 会话记录:`docs/sessions/YYYY-MM-DD-00X-session.md`
|
|||
|
|
- 主索引:`docs/index.md`
|
|||
|
|
- 项目规则:`.trae/rules/project_rules.md`
|
|||
|
|
- SSOT 架构师提示词:`docs/Prompt/0004-单一真源文档驱动架构师.md`
|
|||
|
|
|
|||
|
|
### 工具命令速查
|
|||
|
|
```powershell
|
|||
|
|
# 读取会话记录
|
|||
|
|
Read(file_path="d:\\idea_demo\\datai\\docs\\sessions\\2026-01-21-001-session.md")
|
|||
|
|
|
|||
|
|
# 更新会话记录
|
|||
|
|
Write(file_path="d:\\idea_demo\\datai\\docs\\sessions\\2026-01-21-001-session.md", content="...")
|
|||
|
|
|
|||
|
|
# 读取索引
|
|||
|
|
Read(file_path="d:\\idea_demo\\datai\\docs\\index.md")
|
|||
|
|
|
|||
|
|
# 更新索引
|
|||
|
|
Write(file_path="d:\\idea_demo\\datai\\docs\\index.md", content="...")
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 阶段 7 输出清单
|
|||
|
|
- [ ] 完整的会话记录:`docs/sessions/YYYY-MM-DD-00X-session.md`
|
|||
|
|
- [ ] 更新的索引:`docs/index.md`
|
|||
|
|
|
|||
|
|
### 下一阶段提示
|
|||
|
|
如果用户确认进入下一阶段,请参考:
|
|||
|
|
- [project_rules.md](file:///d:\idea_demo\datai\.trae\rules\project_rules.md) 的"阶段 8:变更记录与归档"
|
|||
|
|
- 准备创建变更日志
|
|||
|
|
- 准备更新 CHANGELOG.md 和 docs/changelog/
|
|||
|
|
- 准备在 docs/index.md 中标注该需求已完成
|