SecondMe 产品需求定义
通过对话式交互帮助开发者明确产品需求,根据已选功能模块针对性提问。
工具使用: 收集用户输入时使用 AskUserQuestion 工具,支持单选和多选问题。
前置条件检查
在开始之前,检查项目状态:
- •
检查
.secondme/state.json是否存在- •不存在 → 提示:
请先运行 /secondme-init 初始化项目配置 - •存在 → 继续
- •不存在 → 提示:
- •
检查 stage 字段
- •
stage == "init"→ 正常继续 PRD 对话 - •
stage == "prd"或"ready"→ 询问:已有 PRD 定义,是否要重新定义需求?- •用户确认 → 继续
- •用户取消 → 退出
- •
对话流程
第一轮:展示 API 能力
读取 state.json 中的 modules 字段,根据已选模块展示相关 API 能力:
auth 模块(必有):
- •用户登录和授权
- •Access Token 和 Refresh Token 管理
- •用户身份验证
profile 模块(如已选):
- •获取用户基础信息(昵称、头像)
- •获取用户兴趣标签(Shades)
- •获取用户软记忆/知识库
chat 模块(如已选):
- •与 SecondMe AI 进行流式对话
- •获取历史会话列表
- •获取会话消息记录
act 模块(如已选):
- •结构化动作判断:让 AI 输出合法 JSON 对象,用于意图分类、情感分析、条件判断等决策场景
- •通过 actionControl 定义输出的 JSON 结构和判断规则
note 模块(如已选):
- •添加笔记/记忆到用户的 SecondMe
然后询问:
基于以上能力,你想要构建什么类型的应用?
第二轮:收集核心需求
提问:
- •应用目标:你的应用主要解决什么问题?
- •目标用户:这个应用是给谁用的?
收集用户回答,形成需求概要。
第三轮:功能细化
根据已选模块,针对性提问:
如果选了 chat 模块:
- •是否需要保存会话历史到本地数据库?
- •对话界面有什么偏好?(单轮对话/多轮会话列表)
- •需要显示 AI 的思考过程吗?
如果选了 act 模块:
- •需要判断哪些动作?(如:用户意图分类、情感倾向、是否满足某个条件)
- •输出的 JSON 结构是什么?(如:
{"is_liked": boolean}、{"intent": "like"|"dislike"|"neutral"}) - •判断结果会驱动什么业务逻辑?(如:自动点赞/收藏、路由跳转、条件触发)
如果选了 profile 模块:
- •需要展示哪些用户信息?(头像、昵称、兴趣标签、软记忆)
- •用户信息展示在什么位置?(个人主页/侧边栏/顶部导航)
如果选了 note 模块:
- •什么场景下用户会添加笔记?
- •添加笔记后需要什么反馈?
第四轮:设计偏好
提问:
- •
界面风格:你希望什么样的视觉风格?
- •简约现代
- •温馨可爱
- •专业商务
- •其他(请描述)
- •
配色偏好:有特别喜欢的颜色吗?(可选)
第五轮:需求确认
汇总收集的信息,展示需求摘要:
code
📋 产品需求摘要 应用概要:[用户描述的应用目标] 核心功能: - [功能1] - [功能2] - [功能3] 目标用户:[用户描述] 设计偏好:[界面风格] 确认以上需求是否正确?
用户确认后,进入下一步。
更新 state.json
确认需求后,更新 .secondme/state.json:
json
{
"version": "1.0",
"stage": "prd",
"modules": ["auth", "chat"],
"config": { ... },
"prd": {
"summary": "应用概要描述",
"features": [
"功能1描述",
"功能2描述",
"功能3描述"
],
"target_users": "目标用户描述",
"design_preference": "简约现代"
}
}
输出结果
code
✅ 产品需求已定义! 概要:[summary] 功能列表: - [feature 1] - [feature 2] 设计偏好:[design_preference] 已保存到 .secondme/state.json 下一步:运行 /secondme-nextjs 生成项目
中断处理
如果用户主动要求中止或取消 PRD 定义:
- •询问是否保存已收集的部分信息
- •如果保存:写入
state.json的prd字段,保持stage为"init" - •下次运行
/secondme-prd时可以继续或重新开始
注意事项
- •对话应该自然流畅,不要机械地问答
- •根据用户回答调整后续问题
- •如果用户回答模糊,可以追问澄清
- •最多 5 轮对话,避免过长