使用说明
Azure DevOps Sprint Manager与AI集成
一个带有Streamlit前端的全栈TypeScript Express后端,用于管理Azure Boards的疾跑、问题和任务,通过OpenRouter的DeepSeek API进行AI驱动分析。
✨ 特性
- 📊 Sprint管理:使用实时指标查看和跟踪Azure DevOps冲刺
- 📝 工作项CRUD:创建、读取、更新和删除工作项(任务、错误、用户故事)
- 🤖 AI分析:自动化冲刺影响评估、风险分析和建议
- 🔄 实时更新:WebSocket支持实时冲刺和任务更新
- 🔧 MCP集成:可选的模型上下文协议服务器集成
- 🔐 安全配置:所有敏感数据的基于环境的配置
🏗️ 技术栈
后端
- TypeScript -类型安全的JavaScript
- 快速 -Web框架
- Socket.io -实时WebSocket通信
- 阿西奥斯 -Azure DevOps和OpenRouter API的HTTP客户端
- Dotenv。 -环境变量管理
前端
- 溪流 -用于数据应用程序的Python web框架
- 请求: -后端API的HTTP客户端
集成
- Azure DevOps REST API -Sprint和工作项管理
- OpenRouter DeepSeek API -人工智能驱动的见解和分析
📁 项目结构
itc-prj-test/
├── backend/ # TypeScript Express backend
│ ├── src/
│ │ ├── config/ # Configuration loader
│ │ ├── modules/ # Core business logic modules
│ │ │ ├── sprintdataloader.ts # Azure DevOps sprint data
│ │ │ ├── workitemmanager.ts # Work item CRUD
│ │ │ ├── integration.ts # AI integration
│ │ │ └── mcpserver.ts # MCP integration
│ │ ├── routes/ # API route definitions
│ │ ├── types/ # TypeScript type definitions
│ │ └── main.server.ts # Server entry point
│ ├── package.json
│ ├── tsconfig.json
│ └── .env.example
│
├── frontend/ # Streamlit frontend
│ ├── utils/
│ │ └── api_client.py # Backend API client
│ ├── app.py # Main Streamlit application
│ ├── requirements.txt
│ └── .env.example
│
├── mcp.json # MCP server configuration
├── .gitignore
├── Readme.md
└── plan.md
🚀 设置和安装
先决条件
- Node.js v16+和npm
- python 3.9+和点
- Azure DevOps 使用个人访问令牌(PAT)的帐户
- OpenRouter API密钥
后端设置
-
导航到后端目录:
cd backend -
安装依赖项:
npm install -
配置环境变量:
cp .env.example .env编辑
.env并添加您的凭据:AZURE_ORG_URL=https://dev.azure.com/your-organization AZURE_PROJECT=YourProjectName AZURE_PAT=your-personal-access-token PORT=3000 NODE_ENV=development OPENROUTER_API_KEY=your-openrouter-api-key OPENROUTER_MODEL=deepseek/deepseek-chat OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 MCP_ENABLED=false -
构建TypeScript:
npm run build -
启动开发服务器:
npm run dev或用于生产:
npm start
后端将于启动 http://localhost:3000
前端设置
-
导航到前端目录:
cd frontend -
安装Python依赖项:
pip install -r requirements.txt -
配置环境变量:
cp .env.example .env编辑
.env:BACKEND_API_URL=http://localhost:3000 -
运行Streamlit应用程序:
streamlit run app.py
前端将在您的浏览器中打开 http://localhost:8501
📖 用法
仪表盘
- 查看当前冲刺指标(总项目、已完成、进行中)
- 轨道完成率和速度
- 监控剩余和已完成的工作时间
工作项管理
- 创建新的工作项(任务、错误、用户故事、功能)
- 查看当前冲刺中的所有工作项
- 更新工作项状态和详细信息
- 删除工作项
AI分析
- 获得AI驱动的冲刺影响评估
- 接收可操作的建议
- 查看风险等级分析(低/中/高)
- 检查释放准备状态
- 访问团队指南
MCP控制
- 检查MCP服务器状态
- 向MCP服务器发送命令
- 对MCP执行查询
🔌 API终点
短跑
GET /api/sprints-获得所有冲刺GET /api/sprints/:sprintId/workitems-获取冲刺的工作项GET /api/sprints/current/metrics-获取当前冲刺指标
工作项
POST /api/workitems-创建工作项GET /api/workitems/:id-按ID获取工作项PATCH /api/workitems/:id-更新工作项DELETE /api/workitems/:id-删除工作项
AI分析
POST /api/ai/analyze-sprint-用AI分析冲刺POST /api/ai/workitem-recommendations-获取工作项建议
主控程序
GET /api/mcp/status-获取MCP服务器状态POST /api/mcp/command-发送MCP命令POST /api/mcp/query-查询MCP服务器
健康
GET /health-后端健康检查
🔐 安全说明
- 永不承诺
.env文件到版本控制 - 确保Azure PAT和OpenRouter API密钥的安全
- 对所有敏感配置使用环境变量
- 在生产中,在以下位置适当配置CORS
main.server.ts
🛠️ 发展
后端开发
cd backend
npm run dev # Runs with hot-reload using ts-node-dev
为生产而建
cd backend
npm run build # Compiles TypeScript to JavaScript in dist/
npm start # Runs compiled code
代码检查
cd backend
npm run lint
📝 环境变量
后端(.env)
| 变量 | 描述 | 必填 |
|---|---|---|
AZURE_ORG_URL |
Azure DevOps组织URL | 是 |
AZURE_PROJECT |
Azure DevOps项目名称 | 是 |
AZURE_PAT |
个人访问令牌 | 是 |
PORT |
服务器端口(默认值:3000) | 否 |
NODE_ENV |
环境(开发/生产) | 否 |
OPENROUTER_API_KEY |
OpenRouter API密钥 | 是 |
OPENROUTER_MODEL |
AI模型名称 | 否 |
OPENROUTER_BASE_URL |
OpenRouter API基础URL | 否 |
MCP_ENABLED |
启用MCP集成(真/假) | 否 |
MCP_SERVER_URL |
MCP服务器URL | 否 |
前端(.env)
| 变量 | 描述 | 必填 |
|---|---|---|
BACKEND_API_URL |
后端API URL | 是 |
🤝 贡献
欢迎投稿!请看 plan.md 用于模块布局和路线图。
📄 许可证
麻省理工学院
🆘 故障排除
后端无法启动
- 验证是否在中设置了所有必需的环境变量
.env - 检查Azure PAT是否具有适当的权限
- 确保OpenRouter API密钥有效
前端无法连接到后端
- 验证后端是否在正确的端口上运行
- 检查
BACKEND_API_URL前端.env - 确保CORS配置正确
AI分析失败
- 验证OpenRouter API密钥是否有效
- 检查API配额和费率限制
- 查看后端日志以了解详细的错误消息
内置于❤️ 使用TypeScript、Express和Streamlit