Files
AIEC_Skills/requirement-web/需求文档_Skill-Web套壳.md

196 lines
7.9 KiB
Markdown
Raw Permalink Normal View History

2026-01-09 13:36:01 +08:00
# 需求文档-Skill Web 套壳系统
## 1. 项目概述
### 1.1 项目背景
现有 `requirement-generator-v1` Skill 仅能通过 Claude Code CLI 调用,操作门槛较高,不便于分享给其他用户使用。需要为其构建 Web 前端界面,降低使用门槛。
### 1.2 项目目标
`requirement-generator-v1` Skill 封装为独立的 Web 应用,实现通过浏览器访问和使用。
---
## 2. 需求范围
### 2.1 功能边界
- **包含**:封装 `requirement-generator-v1` 需求生成 Skill
- Skill 内部使用的所有工具(文件读写、搜索等)
- Skill 流程中的用户自然语言输入(如描述项目需求、回答访谈问题)
- **不包含**:不对外暴露 Skill 流程之外的通用 AI 能力
- 用户不能跳出 Skill 流程,执行其他任意任务(如写代码、改 Bug 等)
- 通过提示词包裹机制限制操作范围(见 3.6 节)
### 2.2 阶段划分
| 阶段 | 目标 | 运行环境 | 优先级 |
|------|------|----------|--------|
| 第一阶段 | 本机 Web 界面测试验证 | 本地电脑 | 高 |
| 第二阶段 | 服务器部署供他人使用 | 云服务器 | 中 |
### 2.3 各阶段需求汇总
**第一阶段:本机 Web 界面测试验证**
| 类别 | 需求项 |
|------|--------|
| 入口交互 | 点击按钮直接进入流程、无需触发词、无需确认 |
| Skill 内交互 | AskUserQuestion 支持(单选/多选/文本)、实时响应、多轮对话 |
| 权限控制 | 文件操作Write/Edit自动执行无需确认 |
| 输出展示 | 流程状态展示、最终文档(`requirement_final.md`)查看/下载,不支持在线编辑 |
| 边界控制 | 通过提示词包裹机制限制操作范围(见 3.6 节) |
| 成本 | Claude Code MAX 订阅 |
**第二阶段:服务器部署供他人使用**
| 类别 | 需求项 |
|------|--------|
| 继承第一阶段 | 所有第一阶段功能 |
| 多用户支持 | 支持 5-10 人并发,会话和数据隔离 |
| 用户认证 | 需要登录/认证 |
| 多 Skill 入口 | 需求生成 Skill 作为其中一个入口,预留其他 Skill 入口(可扩展) |
| 历史记录 | 历史文档、对话记录、中间数据是否保存(待定) |
| 会话恢复 | 支持中途退出后恢复进度(待定) |
| 成本 | Claude Code MAX 订阅 |
| 模型适配 | 使用 Claude Code MAX无需额外适配 |
---
## 3. 功能需求
### 3.1 入口交互
| 需求项 | 描述 |
|--------|------|
| 直接进入流程 | 用户点击前端按钮后,直接进入 Skill 执行流程 |
| 无需自然语言触发 | 不需要用户输入"生成需求文档"等触发词 |
| 无需进入确认 | 不需要像 CLI 那样点击确认才能进入 Skill |
### 3.2 Skill 内交互
| 需求项 | 描述 |
|--------|------|
| 问答交互支持 | 支持 Skill 执行过程中的 AskUserQuestion 交互(单选、多选、文本输入) |
| 实时响应 | 用户回答后,流程能够继续执行 |
| 多轮对话 | 支持 Skill 中的多轮访谈流程(如需求收集阶段的多轮提问) |
### 3.3 权限控制
| 需求项 | 描述 |
|--------|------|
| 文件操作自动化 | Write、Edit 等文件操作自动执行,不需要用户逐一确认 |
| 可配置性 | 权限确认行为可通过配置调整(预留能力) |
### 3.4 输出展示
| 需求项 | 描述 |
|--------|------|
| 流程状态展示 | 展示当前执行阶段(访谈中、文档生成中、评审中等) |
| 结果文件访问 | 流程结束后,用户可查看/下载最终版需求文档(`requirement_final.md` |
### 3.5 多用户与历史记录(第二阶段)
| 需求项 | 描述 | 备注 |
|--------|------|------|
| 多用户并发 | 支持多人同时使用,需隔离各用户的会话和数据 | 初期规模5-10 人 |
| 历史文档 | 保存历史生成的需求文档 | 待定 |
| 对话记录 | 保存用户与系统的交互过程(访谈问答等) | 待定 |
| 中间数据 | temp 目录下的 JSON 文件(访谈结果、评审记录等) | 待定 |
### 3.6 边界控制(提示词包裹机制)
| 需求项 | 描述 |
|--------|------|
| 适用阶段 | 阶段 5初稿生成之后、进入多专家评审之前 |
| 机制说明 | 用户的自然语言输入被系统自动包裹为:"请根据用户的输入: {用户输入} 来修改需求文档" |
| 安全保障 | 所有操作被限定在文档修改范围内,天然避免危险操作(如执行代码、系统命令等) |
| 实现方式 | 前端或后端在传递用户输入时自动添加包裹提示词 |
---
## 4. 非功能需求
### 4.1 成本控制
| 阶段 | 方案 |
|------|------|
| 第一阶段(本机测试) | Claude Code MAX 订阅 |
| 第二阶段(服务器部署) | Claude Code MAX 订阅 |
**成本约束**
- 不接受 Anthropic Claude API 按量付费
- 使用 Claude Code MAX 订阅
### 4.2 技术约束
| 约束项 | 说明 |
|--------|------|
| 现有 Skill 复用 | 尽量复用现有 SKILL.md 和 agents/*.md 中的 Prompt 内容 |
| 最小化重写 | Skill 核心逻辑不重写,仅做必要的适配 |
---
## 5. 现有资源
### 5.1 Skill 目录结构
```
.claude/skills/requirement-generator-v1/
├── SKILL.md # 主流程定义6 个阶段)
├── assets/ # 项目类型配置
├── templates/ # 文档模板
├── references/ # 执行指南
└── temp/ # 中间数据存储
```
### 5.2 相关 Agents
```
.claude/agents/
├── project_type_matcher.md # 项目类型判断
├── req_writer.md # 需求文档撰写
├── req_interviewer.md # 需求访谈
├── pm_reviewer.md # 产品经理评审
├── dev_expert_reviewer.md # 开发专家评审
├── ai_expert_reviewer.md # AI 专家评审
├── domain_expert_reviewer.md # 领域专家评审
├── req_consolidator.md # 需求整合(人工确认)
├── req_auto_consolidator.md # 需求整合(自动)
└── review_report.md # 质量审查
```
### 5.3 Skill 执行流程概要
| 阶段 | 步骤 | 使用工具 |
|------|------|----------|
| **阶段 1** | 收集初始想法 | 用户自然语言输入 |
| **阶段 2** | 判断项目类型 | Taskproject_type_matcher、AskUserQuestion |
| **阶段 3** | 执行访谈收集需求 | Read配置文件、指南、AskUserQuestion多轮、Writeinterview_result.json |
| **阶段 4** | 生成需求文档初稿 | Taskreq_writer、Writerequirement.md |
| **阶段 5** | 询问用户下一步 | AskUserQuestion选择下一步操作、自然语言输入通过提示词包裹限定为文档修改 |
| **阶段 6** | 多角色评审与文档优化(可选) | 见下方详细说明 |
**阶段 6 详细工具使用**
| 子步骤 | 说明 | 使用工具 |
|--------|------|----------|
| 6.1 | 领域识别,生成领域专家角色定义 | Readrequirement.md、Writetemp/domain_role.md |
| 6.2 | 并行调用四个评审 Agents | Taskdev_expert_reviewer、pm_reviewer、ai_expert_reviewer、domain_expert_reviewer、Writetemp/review_*.json |
| 6.3 | 询问用户决策模式 | AskUserQuestion |
| 6.4 | 整合评审意见,生成最终文档 | Taskreq_consolidator 或 req_auto_consolidator、AskUserQuestion若参与确认模式、Writerequirement_final.md、temp/consolidation_report.json |
| 6.5 | 质量审查 | Taskreview_report、AskUserQuestion确认业务问题、Edit修改文档 |
| 6.6 | 输出最终总结 | 无特殊工具 |
---
## 6. 第二阶段待定事项
| 序号 | 问题 | 分类 |
|------|------|------|
| 1 | 是否需要保存历史生成的需求文档? | 历史记录 |
| 2 | 是否需要保存对话记录(访谈问答过程)? | 历史记录 |
| 3 | temp 目录下的中间数据JSON 文件)是否需要长期保存? | 历史记录 |
| 4 | 中途退出后恢复进度的具体实现方式? | 会话恢复 |
---