uxos 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_uxos/create-product-brief/config.yaml +18 -0
- package/_uxos/create-product-brief/product-brief.template.md +10 -0
- package/_uxos/create-product-brief/steps/step-01-init.md +177 -0
- package/_uxos/create-product-brief/steps/step-01b-continue.md +161 -0
- package/_uxos/create-product-brief/steps/step-02-vision.md +196 -0
- package/_uxos/create-product-brief/steps/step-03-users.md +199 -0
- package/_uxos/create-product-brief/steps/step-04-metrics.md +202 -0
- package/_uxos/create-product-brief/steps/step-05-scope.md +216 -0
- package/_uxos/create-product-brief/steps/step-06-complete.md +194 -0
- package/_uxos/create-product-brief/workflow.md +58 -0
- package/_uxos/memory-engine/data/assets-template.md +96 -0
- package/_uxos/memory-engine/data/context-template.md +69 -0
- package/_uxos/memory-engine/data/decisions-template.md +89 -0
- package/_uxos/memory-engine/data/personas/_index-template.md +33 -0
- package/_uxos/memory-engine/data/personas/role-template.md +47 -0
- package/_uxos/memory-engine/data/update-memory-template.md +160 -0
- package/_uxos/memory-engine/data/uxos-index-template.md +103 -0
- package/_uxos/memory-engine/ing/TODO-/344/277/256/346/224/271/346/270/205/345/215/225.md +278 -0
- package/_uxos/memory-engine/ing/context.md +113 -0
- package/_uxos/memory-engine/ing/decisions-new.md +1008 -0
- package/_uxos/memory-engine/ing/decisions.md +1029 -0
- package/_uxos/memory-engine/steps/step-01-discovery.md +119 -0
- package/_uxos/memory-engine/steps/step-02-evaluation.md +128 -0
- package/_uxos/memory-engine/steps/step-03-supplement.md +176 -0
- package/_uxos/memory-engine/steps/step-04-generate.md +282 -0
- package/_uxos/memory-engine/steps/step-05-finalize.md +175 -0
- package/_uxos/memory-engine/workflow.md +95 -0
- package/_uxos/workflow-integration-plan.md +714 -0
- package/cli.js +9 -47
- package/package.json +2 -4
- package/config/user-template.yaml +0 -3
- package/templates/test-template.md +0 -18
- package/templates/test2-template.md +0 -12
- package/workflows/init-backup.md +0 -26
- package/workflows/step1.md +0 -8
- /package/{workflows → _uxos/init}/init.md +0 -0
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-01-discovery'
|
|
3
|
+
description: '信息收集:检索项目文件夹文档和分析对话历史,提取产品核心信息'
|
|
4
|
+
nextStepFile: './step-02-evaluation.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 1: 信息收集
|
|
8
|
+
|
|
9
|
+
## 步骤目标
|
|
10
|
+
|
|
11
|
+
检索项目文件夹中的文档和分析对话历史,提取产品核心信息,为后续推导和生成记忆引擎文件做准备。
|
|
12
|
+
|
|
13
|
+
## 执行规则
|
|
14
|
+
|
|
15
|
+
### 通用规则
|
|
16
|
+
- 📖 执行前完整阅读本步骤文件
|
|
17
|
+
- 🎯 专注于信息收集,不做推导
|
|
18
|
+
- ✅ 使用中文输出
|
|
19
|
+
|
|
20
|
+
### 步骤特定规则
|
|
21
|
+
- 🔍 多源信息收集:项目文档 + 对话历史
|
|
22
|
+
- 🚫 排除系统目录(见下方过滤规则)
|
|
23
|
+
- 📋 提取必要信息和可选信息
|
|
24
|
+
- ⏭️ 收集完成后自动进入下一步
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 执行序列
|
|
29
|
+
|
|
30
|
+
### 1. 快速信息检索
|
|
31
|
+
|
|
32
|
+
<critical>
|
|
33
|
+
采用最小化检索策略,静默执行以下步骤(不输出过程):
|
|
34
|
+
|
|
35
|
+
**Step 1.1 - 检查已有记忆引擎(1次读取)**
|
|
36
|
+
- 尝试读取 `.codebuddy/rules/uxos/context.md`
|
|
37
|
+
- IF 存在 → 提取产品信息,跳到 Step 1.4
|
|
38
|
+
- IF 不存在 → 继续 Step 1.2
|
|
39
|
+
|
|
40
|
+
**Step 1.2 - 检查项目根目录关键文件(最多3次读取)**
|
|
41
|
+
- 尝试读取 `README.md` 或 `readme.md`(1次)
|
|
42
|
+
- 尝试读取 `package.json`(1次,提取 name/description)
|
|
43
|
+
- 尝试读取项目根目录的任何 `.md` 文件(1次 glob 查询)
|
|
44
|
+
|
|
45
|
+
**Step 1.3 - 快速扫描对话历史**
|
|
46
|
+
- 从当前对话中提取用户明确提到的:
|
|
47
|
+
- 产品名称
|
|
48
|
+
- 对标竞品
|
|
49
|
+
- 产品价值/定位描述
|
|
50
|
+
|
|
51
|
+
**Step 1.4 - 汇总信息**
|
|
52
|
+
将收集到的以下信息存储到上下文(不显示给用户):
|
|
53
|
+
- 产品名称
|
|
54
|
+
- 对标竞品
|
|
55
|
+
- 产品价值/定位描述
|
|
56
|
+
- 其他补充信息(用户角色、场景、痛点等)
|
|
57
|
+
|
|
58
|
+
**重要约束:**
|
|
59
|
+
- 总检索操作不超过 5 次(读取或查询)
|
|
60
|
+
- 如果前 3 次操作未找到任何信息,立即判断为"空项目"
|
|
61
|
+
- 不要尝试深度搜索、递归查找、多次重试
|
|
62
|
+
</critical>
|
|
63
|
+
|
|
64
|
+
### 2. 快速路径示例
|
|
65
|
+
|
|
66
|
+
**空项目场景(最快路径):**
|
|
67
|
+
```
|
|
68
|
+
检查 1: .codebuddy/rules/uxos/context.md → 不存在
|
|
69
|
+
检查 2: README.md → 不存在
|
|
70
|
+
检查 3: package.json → 不存在
|
|
71
|
+
对话历史: 无产品信息
|
|
72
|
+
|
|
73
|
+
判断: 空项目
|
|
74
|
+
→ 立即进入 Step 2(总耗时 < 3秒)
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**有文档场景:**
|
|
78
|
+
```
|
|
79
|
+
检查 1: .codebuddy/rules/uxos/context.md → 不存在
|
|
80
|
+
检查 2: README.md → 存在,提取产品名和定位
|
|
81
|
+
对话历史: 用户提到竞品是 Notion
|
|
82
|
+
|
|
83
|
+
判断: 有足够信息
|
|
84
|
+
→ 进入 Step 2
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 3. 自动进入下一步
|
|
88
|
+
|
|
89
|
+
<critical>
|
|
90
|
+
信息收集完成后,静默加载并执行 `{nextStepFile}` 进行信息完整度评估。
|
|
91
|
+
|
|
92
|
+
不要输出任何提示:
|
|
93
|
+
- ❌ "信息收集完成"
|
|
94
|
+
- ❌ "进入下一步"
|
|
95
|
+
- ❌ "正在分析"
|
|
96
|
+
- ❌ 任何检索过程描述
|
|
97
|
+
|
|
98
|
+
直接进入 Step 2。
|
|
99
|
+
</critical>
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 执行要点
|
|
104
|
+
|
|
105
|
+
<critical>
|
|
106
|
+
本步骤采用静默执行模式 + 最小化检索:
|
|
107
|
+
- 总检索操作 ≤ 5 次
|
|
108
|
+
- 对于空项目,3 次检查后立即判断
|
|
109
|
+
- 不输出检索过程和详细日志
|
|
110
|
+
- 不显示"提取的信息摘要"
|
|
111
|
+
- 不显示"进入下一步"等过渡提示
|
|
112
|
+
- 静默完成后直接进入 Step 2
|
|
113
|
+
|
|
114
|
+
**性能目标:空项目初始化 < 5 秒**
|
|
115
|
+
</critical>
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
<!-- Memory-Engine Step 01 | Discovery -->
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-02-evaluation'
|
|
3
|
+
description: '评估信息完整度,判断是否有足够信息创建记忆引擎,并路由到下一步'
|
|
4
|
+
nextStepFile: './step-04-generate.md'
|
|
5
|
+
supplementStepFile: './step-03-supplement.md'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Step 2: 评估信息完整度
|
|
9
|
+
|
|
10
|
+
## 步骤目标
|
|
11
|
+
|
|
12
|
+
评估从 Step 1 收集到的信息是否满足创建记忆引擎的最低要求,并根据结果路由到正确的下一步。
|
|
13
|
+
|
|
14
|
+
## 执行规则
|
|
15
|
+
|
|
16
|
+
### 通用规则
|
|
17
|
+
- 📖 执行前完整阅读本步骤文件
|
|
18
|
+
- 🎯 专注于判断和路由,不收集新信息
|
|
19
|
+
- ✅ 使用中文输出
|
|
20
|
+
|
|
21
|
+
### 步骤特定规则
|
|
22
|
+
- 📋 使用明确的判断标准
|
|
23
|
+
- 🔀 根据结果自动路由
|
|
24
|
+
- 📝 向用户展示判断结果
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 执行序列
|
|
29
|
+
|
|
30
|
+
### 1. 静默判断信息完整度
|
|
31
|
+
|
|
32
|
+
<critical>
|
|
33
|
+
静默执行判断,不输出判断过程:
|
|
34
|
+
|
|
35
|
+
✅ 信息齐全的条件(满足以下任一即可):
|
|
36
|
+
- 有产品名称 + 有对标竞品
|
|
37
|
+
- 有产品名称 + 有产品价值/定位描述
|
|
38
|
+
|
|
39
|
+
❌ 信息不齐全的条件:
|
|
40
|
+
- 缺少产品名称
|
|
41
|
+
- 既没有竞品也没有产品价值描述
|
|
42
|
+
</critical>
|
|
43
|
+
|
|
44
|
+
### 2. 根据结果决定输出
|
|
45
|
+
|
|
46
|
+
<critical>
|
|
47
|
+
快速路由,不输出冗长的分析过程。
|
|
48
|
+
</critical>
|
|
49
|
+
|
|
50
|
+
**如果信息齐全:**
|
|
51
|
+
|
|
52
|
+
简洁提示后直接进入生成:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
✅ 已收集到足够信息,正在创建记忆引擎...
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**如果信息不齐全:**
|
|
59
|
+
|
|
60
|
+
不输出任何提示,直接静默进入 Step 3。
|
|
61
|
+
|
|
62
|
+
不要输出:
|
|
63
|
+
- ❌ "缺少信息"的详细列表
|
|
64
|
+
- ❌ "信息不完整"的提示
|
|
65
|
+
- ❌ 任何分析过程
|
|
66
|
+
|
|
67
|
+
直接进入 Step 3 展示补充选项。
|
|
68
|
+
|
|
69
|
+
### 3. 路由决策
|
|
70
|
+
|
|
71
|
+
<critical>
|
|
72
|
+
路由逻辑必须严格执行:
|
|
73
|
+
|
|
74
|
+
IF 信息齐全:
|
|
75
|
+
→ 自动加载并执行 {nextStepFile}(step-04-generate.md)
|
|
76
|
+
|
|
77
|
+
ELSE IF 信息不齐全:
|
|
78
|
+
→ 自动加载并执行 {supplementStepFile}(step-03-supplement.md)
|
|
79
|
+
</critical>
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 判断示例
|
|
84
|
+
|
|
85
|
+
### 示例 1:信息齐全
|
|
86
|
+
```
|
|
87
|
+
输入:
|
|
88
|
+
- 产品名称:企业知识库
|
|
89
|
+
- 对标竞品:Notion、Confluence
|
|
90
|
+
|
|
91
|
+
判断:✅ 齐全(有产品名称 + 有竞品)
|
|
92
|
+
路由:→ step-04-generate.md
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 示例 2:信息齐全(使用产品价值)
|
|
96
|
+
```
|
|
97
|
+
输入:
|
|
98
|
+
- 产品名称:智能日程助手
|
|
99
|
+
- 产品价值:让团队日程协调更高效
|
|
100
|
+
|
|
101
|
+
判断:✅ 齐全(有产品名称 + 有产品价值)
|
|
102
|
+
路由:→ step-04-generate.md
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### 示例 3:信息不齐全
|
|
106
|
+
```
|
|
107
|
+
输入:
|
|
108
|
+
- 产品名称:[未找到]
|
|
109
|
+
- 对标竞品:Notion
|
|
110
|
+
|
|
111
|
+
判断:❌ 不齐全(缺少产品名称)
|
|
112
|
+
路由:→ step-03-supplement.md
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### 示例 4:信息不齐全
|
|
116
|
+
```
|
|
117
|
+
输入:
|
|
118
|
+
- 产品名称:企业知识库
|
|
119
|
+
- 对标竞品:[未找到]
|
|
120
|
+
- 产品价值:[未找到]
|
|
121
|
+
|
|
122
|
+
判断:❌ 不齐全(既没有竞品也没有产品价值)
|
|
123
|
+
路由:→ step-03-supplement.md
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
<!-- Memory-Engine Step 02 | Evaluation -->
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-03-supplement'
|
|
3
|
+
description: '信息补充:当必要信息不齐全时,提供多种方式让用户补充'
|
|
4
|
+
nextStepFile: './step-04-generate.md'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Step 3: 信息补充
|
|
8
|
+
|
|
9
|
+
## 步骤目标
|
|
10
|
+
|
|
11
|
+
当 Step 2 判断信息不齐全时,提供多种方式让用户补充必要信息,然后进入生成阶段。
|
|
12
|
+
|
|
13
|
+
## 执行规则
|
|
14
|
+
|
|
15
|
+
### 通用规则
|
|
16
|
+
- 📖 执行前完整阅读本步骤文件
|
|
17
|
+
- 🎯 专注于收集缺失的必要信息
|
|
18
|
+
- ✅ 使用中文输出
|
|
19
|
+
|
|
20
|
+
### 步骤特定规则
|
|
21
|
+
- 🔢 使用数字序号引导用户选择
|
|
22
|
+
- ⏸️ **必须等待用户输入**,不能自作主张
|
|
23
|
+
- 📝 **只问 2 个必要问题**(产品名 + 竞品/价值),不问可选信息
|
|
24
|
+
- 🚫 **收到回答后立即进入 Step 4**,不做竞品分析或评估
|
|
25
|
+
- 🚫 严格遵循访谈模板,不追问差异化、核心能力等
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 执行序列
|
|
30
|
+
|
|
31
|
+
### 1. 展示补充选项
|
|
32
|
+
|
|
33
|
+
<critical>
|
|
34
|
+
必须停下来等待用户选择,不要自动执行任何分支!
|
|
35
|
+
简洁提示,不输出冗长的"缺少信息"列表(Step 2 已经静默处理)
|
|
36
|
+
</critical>
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
**请选择创建方式:**
|
|
40
|
+
|
|
41
|
+
`1` 将资料放入项目文件夹,我读取后建立
|
|
42
|
+
`2` 通过对话快速创建
|
|
43
|
+
`3` 直接创建,缺失信息标注 [待补充]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 2. 处理用户选择
|
|
47
|
+
|
|
48
|
+
#### 选项 1:放入资料
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
好的,请将相关资料放入项目文件夹。
|
|
52
|
+
|
|
53
|
+
放入后告诉我,我会重新读取并提取信息。
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
用户确认后,返回 Step 1 重新收集。
|
|
57
|
+
|
|
58
|
+
#### 选项 2:通过对话收集
|
|
59
|
+
|
|
60
|
+
<critical>
|
|
61
|
+
严格执行以下流程,不得偏离:
|
|
62
|
+
|
|
63
|
+
1. 只问 2 个问题(产品名称 + 竞品或产品价值,二选一即可)
|
|
64
|
+
2. 用户回答后,立即进入 Step 4 生成阶段
|
|
65
|
+
3. 不要继续追问任何其他信息
|
|
66
|
+
4. 不要做竞品评估分析
|
|
67
|
+
5. 不要询问差异化优势、核心能力等
|
|
68
|
+
</critical>
|
|
69
|
+
|
|
70
|
+
**严格访谈模板:**
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
需要以下核心信息:
|
|
74
|
+
|
|
75
|
+
1. 产品名称是什么?
|
|
76
|
+
|
|
77
|
+
2. 选择以下任一方式描述:
|
|
78
|
+
- 对标竞品(如:Notion、databricks)
|
|
79
|
+
- 产品价值/差异化(如:帮助企业降低数据处理成本 50%)
|
|
80
|
+
- 或两者都有
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
**解析用户回答:**
|
|
84
|
+
|
|
85
|
+
用户可能回答:
|
|
86
|
+
- 只有竞品:"wedata,对标 databricks" → 有 1+竞品
|
|
87
|
+
- 只有价值:"wedata,让数据处理更简单" → 有 1+价值
|
|
88
|
+
- 都有:"wedata,对标 databricks,核心是成本更低" → 有 1+竞品+价值
|
|
89
|
+
|
|
90
|
+
**⚠️ 收到回答后立即执行:**
|
|
91
|
+
- ✅ 解析用户回答,提取产品名称和(竞品 或 产品价值 或 两者)
|
|
92
|
+
- ✅ 如果信息完整(有产品名 + 竞品或价值),直接进入 Step 4
|
|
93
|
+
- ✅ 如果只有产品名,追问一次:对标竞品或产品价值?
|
|
94
|
+
- ❌ 不要询问可选信息(焦点、用户、场景等)
|
|
95
|
+
- ❌ 不要做竞品分析、评估或对比
|
|
96
|
+
|
|
97
|
+
#### 选项 3:直接创建
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
好的,将直接创建最小版本记忆引擎,缺失信息标注为"[待补充]"。
|
|
101
|
+
后续可以随时补充。
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
直接进入 Step 4。
|
|
105
|
+
|
|
106
|
+
### 3. 解析用户回答
|
|
107
|
+
|
|
108
|
+
<critical>
|
|
109
|
+
用户回答后,立即解析并进入 Step 4,不要继续追问!
|
|
110
|
+
</critical>
|
|
111
|
+
|
|
112
|
+
用户可能以多种格式回答:
|
|
113
|
+
|
|
114
|
+
**格式 1:编号对应**
|
|
115
|
+
```
|
|
116
|
+
用户:
|
|
117
|
+
1. wedata
|
|
118
|
+
2. databricks
|
|
119
|
+
```
|
|
120
|
+
→ 解析完成,立即进入 Step 4
|
|
121
|
+
|
|
122
|
+
**格式 2:自然语言**
|
|
123
|
+
```
|
|
124
|
+
用户:产品叫 wedata,对标 databricks
|
|
125
|
+
```
|
|
126
|
+
→ 解析完成,立即进入 Step 4
|
|
127
|
+
|
|
128
|
+
**格式 3:部分回答**
|
|
129
|
+
```
|
|
130
|
+
用户:产品是 wedata
|
|
131
|
+
```
|
|
132
|
+
→ 追问一次:对标竞品有哪些?或者一句话描述产品价值?
|
|
133
|
+
→ 收到回答后,立即进入 Step 4
|
|
134
|
+
|
|
135
|
+
### 4. 特殊情况处理
|
|
136
|
+
|
|
137
|
+
**用户不知道竞品:**
|
|
138
|
+
```
|
|
139
|
+
用户:没有明确的竞品
|
|
140
|
+
|
|
141
|
+
AI:没关系,可以告诉我这个产品大概是做什么的吗?
|
|
142
|
+
比如:协作工具、数据分析平台、内容管理系统等
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**用户回答过于简略:**
|
|
146
|
+
```
|
|
147
|
+
用户:做个 CRM
|
|
148
|
+
|
|
149
|
+
AI:好的,CRM 系统。对标竞品有哪些?比如 Salesforce、HubSpot?
|
|
150
|
+
或者一句话描述产品价值?
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**用户想跳过:**
|
|
154
|
+
```
|
|
155
|
+
用户:先跳过吧
|
|
156
|
+
|
|
157
|
+
AI:好的,将直接创建最小版本记忆引擎,缺失信息标注为"[待补充]"。
|
|
158
|
+
后续可以随时补充。
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### 5. 进入下一步
|
|
162
|
+
|
|
163
|
+
<critical>
|
|
164
|
+
收集到 2 个必要信息后:
|
|
165
|
+
1. 不要继续追问其他信息
|
|
166
|
+
2. 不要做竞品分析或评估
|
|
167
|
+
3. 立即自动加载并执行 `{nextStepFile}` 进行生成
|
|
168
|
+
|
|
169
|
+
所有可选信息(用户角色、场景、差异化等)由 Step 4 的推导逻辑自动生成,不在此步骤收集!
|
|
170
|
+
</critical>
|
|
171
|
+
|
|
172
|
+
信息补充完成后,自动加载并执行 `{nextStepFile}` 进行生成。
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
<!-- Memory-Engine Step 03 | Supplement -->
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-04-generate'
|
|
3
|
+
description: '推导、展示理解、确认后生成记忆引擎文件'
|
|
4
|
+
nextStepFile: './step-05-finalize.md'
|
|
5
|
+
outputPath: '.codebuddy/rules/uxos'
|
|
6
|
+
personasPath: '.codebuddy/rules/uxos/personas'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 4: 生成记忆引擎文件
|
|
10
|
+
|
|
11
|
+
## 步骤目标
|
|
12
|
+
|
|
13
|
+
基于收集到的信息(产品名 + 竞品/产品价值),运用推导逻辑,**展示理解给用户确认**,然后生成记忆引擎文件。
|
|
14
|
+
|
|
15
|
+
**核心理念:** 推导 → 展示 → 确认 → 生成
|
|
16
|
+
|
|
17
|
+
## 执行规则
|
|
18
|
+
|
|
19
|
+
### 通用规则
|
|
20
|
+
- 📖 执行前完整阅读本步骤文件
|
|
21
|
+
- 🎯 专注于推导和生成
|
|
22
|
+
- ✅ 使用中文输出
|
|
23
|
+
|
|
24
|
+
### 步骤特定规则
|
|
25
|
+
- 🔍 智能判断是否需要 Web 搜索
|
|
26
|
+
- 📋 推导完成后必须展示理解给用户确认
|
|
27
|
+
- ⏸️ 必须等待用户确认后才生成文件
|
|
28
|
+
- 📝 生成包括 personas/ 目录下的用户画像文件
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 执行序列
|
|
33
|
+
|
|
34
|
+
### 阶段 A:推导
|
|
35
|
+
|
|
36
|
+
#### A.0 获取当前时间
|
|
37
|
+
|
|
38
|
+
<critical>
|
|
39
|
+
执行系统命令获取当前精确时间:
|
|
40
|
+
- 命令:`date +"%Y-%m-%d %H:%M"`
|
|
41
|
+
- 格式:YYYY-MM-DD HH:MM
|
|
42
|
+
</critical>
|
|
43
|
+
|
|
44
|
+
#### A.1 分析用户输入
|
|
45
|
+
|
|
46
|
+
<critical>
|
|
47
|
+
根据用户提供的信息,确定推导场景:
|
|
48
|
+
|
|
49
|
+
**场景 1:只有竞品(产品名 + 竞品)**
|
|
50
|
+
- 基于竞品推导产品定位、用户角色、体验原则
|
|
51
|
+
- 差异化:留 [待补充]
|
|
52
|
+
- 愿景:留 [待补充]
|
|
53
|
+
|
|
54
|
+
**场景 2:只有产品价值(产品名 + 产品价值/差异化)**
|
|
55
|
+
- 基于产品价值推导定位、用户角色
|
|
56
|
+
- 差异化:填入用户提供的价值描述
|
|
57
|
+
- 愿景:尝试从价值推导
|
|
58
|
+
|
|
59
|
+
**场景 3:都有(产品名 + 竞品 + 产品价值)**
|
|
60
|
+
- 最完整的推导
|
|
61
|
+
- 差异化:填入
|
|
62
|
+
- 愿景:结合推导
|
|
63
|
+
</critical>
|
|
64
|
+
|
|
65
|
+
#### A.2 竞品信息丰富化(如有竞品)
|
|
66
|
+
|
|
67
|
+
<critical>
|
|
68
|
+
IF 竞品是知名产品(Notion、Figma、飞书、Slack、databricks、Salesforce 等):
|
|
69
|
+
→ 依赖 AI 知识库,不执行 Web 搜索
|
|
70
|
+
|
|
71
|
+
ELSE IF 竞品是不知名产品:
|
|
72
|
+
→ 执行 Web 搜索获取产品信息
|
|
73
|
+
</critical>
|
|
74
|
+
|
|
75
|
+
#### A.3 推导产品上下文
|
|
76
|
+
|
|
77
|
+
**推导粒度控制:**
|
|
78
|
+
|
|
79
|
+
| 维度 | 正确粒度 | 过细(避免) |
|
|
80
|
+
|------|----------|-------------|
|
|
81
|
+
| 用户角色 | 数据工程师、产品经理 | 某公司的高级数据分析师 Tom |
|
|
82
|
+
| 场景 | 数据查询、协作编辑 | 在周一早上生成销售周报 |
|
|
83
|
+
| 痛点 | 查询复杂、性能慢 | 每次写 SQL 要花 30 分钟 |
|
|
84
|
+
|
|
85
|
+
**推导内容:**
|
|
86
|
+
|
|
87
|
+
1. **产品定位**(一句话)
|
|
88
|
+
2. **产品类型**(SaaS/平台/工具)
|
|
89
|
+
3. **差异化**(场景 1 留空,场景 2/3 填入)
|
|
90
|
+
4. **愿景**(能推导则填,不能则留空)
|
|
91
|
+
5. **目标用户角色**(2-3 个职业类型)
|
|
92
|
+
6. **体验原则**(2-3 条可执行的原则)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### 阶段 B:展示理解 + 确认
|
|
97
|
+
|
|
98
|
+
#### B.1 展示理解页面
|
|
99
|
+
|
|
100
|
+
<critical>
|
|
101
|
+
推导完成后,必须展示以下内容给用户确认,不要直接生成文件!
|
|
102
|
+
</critical>
|
|
103
|
+
|
|
104
|
+
**展示模板:**
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
📋 **根据你提供的信息,我的理解是:**
|
|
108
|
+
|
|
109
|
+
**产品信息**
|
|
110
|
+
- 名称:{产品名}
|
|
111
|
+
- 对标:{竞品,如无则显示"无"}
|
|
112
|
+
- 定位:{推导的一句话定位}
|
|
113
|
+
- 差异化:{差异化描述,或"[待补充]"}
|
|
114
|
+
|
|
115
|
+
**识别到的用户角色**
|
|
116
|
+
- {角色1}:{一句话描述}
|
|
117
|
+
- {角色2}:{一句话描述}
|
|
118
|
+
|
|
119
|
+
**体验原则**
|
|
120
|
+
1. {原则1}
|
|
121
|
+
2. {原则2}
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
**如果确认,我将创建以下文件:**
|
|
126
|
+
|
|
127
|
+
| 文件 | 用途 |
|
|
128
|
+
|------|------|
|
|
129
|
+
| context.md | 核心上下文 |
|
|
130
|
+
| decisions.md | 决策记录 |
|
|
131
|
+
| update-memory.md | 更新指南 |
|
|
132
|
+
| uxos-index.md | 知识库索引 |
|
|
133
|
+
| personas/{角色1}.md | {角色1}画像 |
|
|
134
|
+
| personas/{角色2}.md | {角色2}画像 |
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
**请选择:**
|
|
139
|
+
|
|
140
|
+
`1` 确认,开始创建
|
|
141
|
+
`2` 我想先细化一些内容
|
|
142
|
+
`3` 我想调整信息
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
#### B.2 处理用户选择
|
|
146
|
+
|
|
147
|
+
**选项 1:确认创建**
|
|
148
|
+
→ 进入阶段 C 生成文件
|
|
149
|
+
|
|
150
|
+
**选项 2:细化内容**
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
好的,我将启动专业的细化工作流来帮助你完善产品信息。
|
|
154
|
+
|
|
155
|
+
这将调用 create-product-brief 工作流,它会系统性地引导你:
|
|
156
|
+
- 深入完善产品定位和差异化
|
|
157
|
+
- 详细定义用户画像和使用场景
|
|
158
|
+
- 制定体验原则和设计准则
|
|
159
|
+
|
|
160
|
+
工作流调用:`/data/workspace/nice/create-product-brief/workflow.md`
|
|
161
|
+
|
|
162
|
+
上下文传递:
|
|
163
|
+
- 已收集的产品信息
|
|
164
|
+
- 当前推导结果
|
|
165
|
+
- 用户角色定义
|
|
166
|
+
|
|
167
|
+
完成后将返回此界面继续生成流程。
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**工作流调用逻辑:**
|
|
171
|
+
|
|
172
|
+
1. **传递上下文信息:**
|
|
173
|
+
- 产品名称:{产品名}
|
|
174
|
+
- 对标竞品:{竞品,如无则传空}
|
|
175
|
+
- 当前差异化:{差异化描述}
|
|
176
|
+
- 已识别用户角色:{角色列表}
|
|
177
|
+
|
|
178
|
+
2. **执行外部工作流:**
|
|
179
|
+
- 加载并执行 `/data/workspace/nice/create-product-brief/workflow.md`
|
|
180
|
+
- 传递上述上下文作为输入参数
|
|
181
|
+
|
|
182
|
+
3. **返回处理:**
|
|
183
|
+
- create-product-brief 工作流完成后
|
|
184
|
+
- 将细化结果导入到当前推导结果中
|
|
185
|
+
- 重新展示更新后的理解页面
|
|
186
|
+
|
|
187
|
+
**选项 3:调整信息**
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
好的,请告诉我需要调整什么?
|
|
191
|
+
|
|
192
|
+
比如:
|
|
193
|
+
- 产品名称不对
|
|
194
|
+
- 竞品需要更换
|
|
195
|
+
- 定位描述不准确
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
收到调整后,重新推导,重新展示理解页面。
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### 阶段 C:生成文件
|
|
203
|
+
|
|
204
|
+
<critical>
|
|
205
|
+
只有用户选择"确认"后才执行此阶段!
|
|
206
|
+
</critical>
|
|
207
|
+
|
|
208
|
+
#### C.1 创建目录结构
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
{outputPath}/
|
|
212
|
+
├── context.md
|
|
213
|
+
├── decisions.md
|
|
214
|
+
├── update-memory.md
|
|
215
|
+
├── uxos-index.md
|
|
216
|
+
└── personas/
|
|
217
|
+
├── _index.md
|
|
218
|
+
├── {role_1}.md
|
|
219
|
+
└── {role_2}.md
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
#### C.2 生成文件顺序
|
|
223
|
+
|
|
224
|
+
1. **生成 context.md**
|
|
225
|
+
- 读取 `data/context-template.md` 模板
|
|
226
|
+
- 填入推导结果
|
|
227
|
+
- 用户画像部分链接到 personas/ 文件
|
|
228
|
+
|
|
229
|
+
2. **生成 decisions.md**
|
|
230
|
+
- 读取 `data/decisions-template.md` 模板
|
|
231
|
+
- 添加初始化决策
|
|
232
|
+
|
|
233
|
+
3. **生成 update-memory.md**
|
|
234
|
+
- 读取 `data/update-memory-template.md` 模板
|
|
235
|
+
- 直接使用模板内容
|
|
236
|
+
|
|
237
|
+
4. **生成 personas/_index.md**
|
|
238
|
+
- 读取 `data/personas/_index-template.md` 模板
|
|
239
|
+
- 填入识别到的用户角色列表
|
|
240
|
+
|
|
241
|
+
5. **生成 personas/{role}.md(每个角色一个文件)**
|
|
242
|
+
- 读取 `data/personas/role-template.md` 模板
|
|
243
|
+
- 填入角色定义、典型场景、痛点
|
|
244
|
+
- 场景和痛点基于推导,保持合理粒度
|
|
245
|
+
|
|
246
|
+
6. **生成 uxos-index.md**
|
|
247
|
+
- 读取 `data/uxos-index-template.md` 模板
|
|
248
|
+
- 填入产品名称、时间、用户角色列表
|
|
249
|
+
|
|
250
|
+
7. **检测并生成 assets.md(条件生成)**
|
|
251
|
+
- 如检测到 Figma 链接等设计资产信息则生成
|
|
252
|
+
|
|
253
|
+
#### C.3 生成约束
|
|
254
|
+
|
|
255
|
+
<critical>
|
|
256
|
+
生成文件时必须遵守:
|
|
257
|
+
1. context.md 的用户画像部分要链接到具体 personas/ 文件
|
|
258
|
+
2. context.md 的「关键决策」部分:初始化时只写「已记录 1 条」
|
|
259
|
+
3. personas/ 文件的场景和痛点要保持合理粒度,不要过细
|
|
260
|
+
4. 所有时间格式必须精确到分钟:YYYY-MM-DD HH:MM
|
|
261
|
+
5. 差异化如果是 [待补充],在 context.md 加提示:"💡 后续可通过「更新记忆」完善差异化定位"
|
|
262
|
+
</critical>
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### 阶段 D:进入下一步
|
|
267
|
+
|
|
268
|
+
文件生成完成后,自动加载并执行 `{nextStepFile}` 展示结果。
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## 推导失败处理
|
|
273
|
+
|
|
274
|
+
| 情况 | 处理方式 |
|
|
275
|
+
|------|----------|
|
|
276
|
+
| 产品和竞品都不知名 | 只填写用户提供的信息,其他字段标注 `[待补充]`,仍然生成文件 |
|
|
277
|
+
| 无法推导用户角色 | 使用通用角色"产品使用者",提示用户后续细化 |
|
|
278
|
+
| 无法推导体验原则 | 使用通用原则(易用性、可靠性、高效),提示用户后续细化 |
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
<!-- Memory-Engine Step 04 | Generate -->
|