AYA需求流可视化工具
硬件要求规格书(Excel)AI中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长
系统概述
Excel要求仕様書アップロード
↓
AIエージェント (Claude) が自動解析・構造化(jeson)
↓
React Flowフロー図データ生成 → ファイルシステムに保存
↓ ↓
インタラクティブなフロー図表示 ← AIチャットで編集・質問处理流程:
- 用户Excel上传要求式样书
- 后端Excel透视AI分析和结构化代理
- 系统React Flow生成图表数据-保存到文件系统
- 前端显示交互式流程图+AI聊天界面
主要功能
- 📤 Excel上传要求规格书 -通过拖放轻松上传
- 📂 加载过去的项目 -列出并立即刷新保存的项目
- 🤖 AI代理自动分析 - Claude Agent SDK + MCP高级要求分析
- 🔗 自动提取请求之间的相关性 - SR/DR/VR自动检测分层结构
- 📊 React Flow交互流程图 -允许缩放、平移和节点选择
- 💬 在自然语言聊天中编辑、提问 -通过“更改SR1.1的标题”等指示立即反映
- 💾 持久化到文件系统 - JSON形式保存,项目管理
- 🔄 通过区块处理支持大规模数据 -135件以上的要求也稳定处理
项目结构
AYA_requirement_agent/
├── backend/ # Node.js + Express バックエンド
│ ├── src/
│ │ ├── agents/ # AIエージェント実装
│ │ │ ├── mainAgent.js # メインAIエージェント(要求解析)
│ │ │ ├── chatAgent.js # チャットAIエージェント(編集・質問応答)
│ │ │ └── CLAUDE.md # Agent SDK用システムプロンプト
│ │ ├── mcp/ # MCP(Model Context Protocol)サーバー
│ │ │ └── mcp-server.js # stdio MCPサーバー実装
│ │ ├── tools/ # MCPツール実装
│ │ │ ├── flowChunkTools.js # generateFlowChunk(チャンク処理)
│ │ │ ├── editTools.js # 5つの編集ツール
│ │ │ ├── excelTools.js # Excel解析ツール
│ │ │ ├── relationshipTools.js # 関係性解析ツール
│ │ │ └── reactFlowTools.js # React Flow変換ツール
│ │ ├── routes/ # APIエンドポイント
│ │ │ ├── upload.js # ファイルアップロード・解析API
│ │ │ └── chat.js # チャットAPI
│ │ └── utils/ # ユーティリティ
│ │ └── excelParser.js # Excel自動検出・パース
│ └── uploads/ # データ保存先(JSON + Excel)
├── frontend/ # React フロントエンド
│ ├── src/
│ │ ├── components/ # Reactコンポーネント
│ │ │ ├── FileUpload.jsx # ドラッグ&ドロップアップロード
│ │ │ ├── ProjectList.jsx # 過去のプロジェクト一覧
│ │ │ ├── FlowVisualization.jsx # React Flowレンダリング
│ │ │ ├── RequirementNode.jsx # カスタムノードスタイル
│ │ │ └── ChatInterface.jsx # AIチャットサイドバー
│ │ ├── App.jsx # メインアプリケーション
│ │ └── ...
│ └── public/
└── CLAUDE.md # 開発者向けドキュメント技术栈
后端
- Node.js+Express - RESTful API 服务器(ES modules)
- Claude代理SDK - AI代理管理
- MCP(模型上下文协议) -工具运行框架
- API人类克劳德 -claude-3-5连接器-20241022
- Excel 电子表格文件 - Excel分析库
- 文件系统存储 - JSON格式(不使用数据库)
前端
- React+Vite -摩登UI框架结构
- 反应流 -交互式流程图库
- 顺风 CSS -实用程序优先CSS
- 阿西奥斯 - HTTP 客户机
快速启动
1.安装相关性
从项目根目录批量安装:
npm run install:all或单独安装:
# バックエンド
cd backend
npm install
# フロントエンド
cd ../frontend
npm install2.设置环境变量
Anthropic API 需要密钥:
cd backend
cp .env.example .env
# .envファイルを編集してANTHROPIC_API_KEYを追加backend/.env 示例:
ANTHROPIC_API_KEY=sk-ant-api03-xxx...
PORT=3001
MAX_FILE_SIZE=10485760注意: 不需要数据库。所有的数据 backend/uploads/ 的JSON中所述修改相应参数的值。3.启动应用程序
同时启动两者(建议)
npm run dev或单独启动
# バックエンド
npm run dev:backend
# または
cd backend && npm run dev
# フロントエンド(別ターミナル)
npm run dev:frontend
# または
cd frontend && npm run dev4.通过浏览器访问
- 前端: http://localhost:3000
- 后端API: http://localhost:3001
- 健康检查: http://localhost:3001/health
用法
基本使用流程
创建新项目
- 在浏览器中打开应用程序 (http://localhost:3000)
- Excel通过拖放上载需求规格说明书
- 示例文件: BIRDS-X RAS.xlsx (135件要求规格) - 对应格式:。xlsx, .xls
- AI代理自动分析
- 处理时间:约2-3分钟(135件时,5块×30秒左右) - 进度可以在浏览器控制台中确认
- 显示交互式流程图
- 单击节点以查看详细信息 - 缩放、平移和拖动
- AI聊天编辑问题
- 「SR1.1的条目。“ - 「DR3.5删除” - 「SR1.1和DR2.3将条目添加到文档注册表。“
加载过去的项目
- 在浏览器中打开应用程序 (http://localhost:3000)
- 在“打开以前的项目”部分中选择项目
- 显示上载时间、文件名、请求数和关联数 - 单击可立即显示流程图(无需重新分析)
- 直接浏览、编辑保存的流程图
- 不保存以前的聊天记录(新会话) - AI可在聊天中继续编辑和提问
聊天功能
节点编辑:
"SR1.1のタイトルを「新しいタイトル」に変更して"
"DR2.3の説明を更新して"节点删除:
"DR3.5を削除して"添加相关性:
"SR1.1とDR2.3の間に依存関係を追加"删除相关性:
"SR1.1からDR2.3への接続を削除"更新自定义字段:
"SR1.1の担当者を田中さんに変更"
"DR2.3の優先度をHighに設定"Excel 文件格式
系统自动检测以下格式:
对应的工作表名称:
- "requirement", "req",包含“要求”、“specification”、“spec”等的片材
相应列名(英语/日语):
id/ID/要求IDtitle/タイトル/名称description/説明/内容status/ステータス/状態category/カテゴリ/種別assignees/担当者
列名将自动规范化。英语和日语都可以对应。
示例项目
演示项目可用:
# APIで取得
curl http://localhost:3001/api/upload/demo-135-nodes
# または保存済みファイルを確認
ls backend/uploads/*-analysis.json演示项目内容:
- 项目名称ID:
demo-135-nodes - 総要求数: 135件
- 节点数:135
- 边数:46
- 要求レベル:SR(利益相关者要求)、DR(设计要求)、VR(验证要求)
开发人员信息
可用命令
# 開発サーバー起動
npm run dev # 両方起動
npm run dev:backend # バックエンドのみ
npm run dev:frontend # フロントエンドのみ
# ビルド
npm run build # フロントエンドをプロダクションビルド
# クリーンアップ
npm run clean # すべてのnode_modulesを削除
# テスト
cd backend
node src/agents/testChunkedAgent.js # エンドツーエンドテスト
node src/tools/testEditTools.js # 編集ツールのテストAPI 端点
文件上传:
POST /api/upload- Excel 上传并分析GET /api/upload/:projectId-获取已保存的项目GET /api/upload-所有项目列表
聊天:
POST /api/chat- AI和聊天(编辑、回答问题)POST /api/chat/reset-重置对话历史记录GET /api/chat/history/:projectId-获取对话历史记录
健康检查:
GET /health-服务器状态
数据存储
所有的数据 backend/uploads/ 的JSON格式保存:
{uuid}-{filename}.xlsx-已上传Excel文件{projectId}-analysis.json-分析结果(流程图数据)
analysis.json 结构:
{
"projectId": "demo-135-nodes",
"fileName": "BIRDS-X RAS.xlsx",
"uploadedAt": "2025-01-15T10:30:00.000Z",
"flowData": {
"nodes": [...], // React Flow ノード配列
"edges": [...] // React Flow エッジ配列
},
"stats": {
"totalRequirements": 135,
"totalNodes": 135,
"totalEdges": 46
}
}故障排除
问题:上载后显示错误
- 在后端控制台中检查错误日志
.env的ANTHROPIC_API_KEY确认是否正确设置- API 检查密钥余额限制
问题:处理中途停止
- 在浏览器的网络选项卡上查看请求状态
- 在后端控制台中X 正在处理“的日志
- Excel 确认文件的格式是否对应
问题:未反映聊天编辑
- 响应
dataModified: true确认标志 - 在浏览器控制台中查看重新加载日志
backend/uploads/{projectId}-analysis.json确认是否已更新
问题:未显示流程图
- 在浏览器控制台中检查错误
flowData.nodes和flowData.edges确认是否为空- React Flow 确认的版本是否正确
详细文档
开发人员的详细信息 CLAUDE.md 请参见:
- Agent SDK + MCP 体系结构详细信息
- 信息块处理的结构
- 自定义方法
- MCP工具实施详细信息
许可证
麻省理工学院
