Bluebricks CopilotKit后端
TypeScript Express后端服务,将CopilotKit与Bluebricks MCP Server集成在一起,用于AI驱动的基础设施管理。
概述
此后端服务提供:
- CopilotKit集成:由Anthropic的Claude提供支持的AI聊天界面
- MCP行动:通过Bluebricks MCP协议进行基础设施管理
- 认证:用于安全操作的基于令牌的身份验证
- 综合测试:单元、集成和错误处理测试
可用的MCP操作
list_deployments-列出并筛选Bluebricks部署list_blueprints-浏览可用的基础架构蓝图list_environments-管理部署环境install_blueprint-部署新的基础设施或更新现有基础设施deployment_approve-批准待定部署deployment_reject-拒绝/取消部署
快速开始
先决条件
- Node.js 18+
- npm或纱线
- 无烟煤API键
- 访问Bluebricks MCP服务器
安装
# Clone repository
git clone
cd be-ts-copilotkit
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration环境变量
# Required
ANTHROPIC_API_KEY=sk-your-anthropic-api-key
# Optional
PORT=3001
NODE_ENV=development
MCP_SERVER_URL=https://mcp.bricks-dev.com/mcp运行服务
# Development
npm run dev
# Production
npm start
# Testing
npm test
npm run test:unit
npm run test:integration
npm run test:error-handlingAPI终点
健康检查
GET /api/health返回服务运行状况和基本信息。
CopilotKit 聊天
POST /api/copilot
Authorization: Bearer
Content-Type: application/json
{
"message": "List my deployments",
"context": "optional context"
}建筑
核心组件
├── src/
│ ├── app.ts # Express app configuration
│ ├── index.ts # Server entry point
│ ├── utils.ts # MCP action handlers and utilities
│ ├── types.ts # TypeScript type definitions
│ └── api/
│ └── McpClient.ts # MCP client management测试结构
├── tests/
│ ├── unit/ # Unit tests for individual components
│ ├── integration/ # Integration tests for API endpoints
│ ├── error-handling/ # Comprehensive error scenarios
│ └── setup.ts # Test environment configuration认证
该服务使用承载令牌身份验证:
- 包含
Authorization: Bearer请求中的标头 - 令牌传递到MCP服务器进行后端身份验证
- 缺少或无效的令牌会导致错误响应
错误处理
全面的错误处理包括:
- 网络故障:连接超时、DNS问题
- 身份验证错误:令牌无效,会话过期
- MCP服务器错误:服务不可用,响应格式错误
- 输入验证:请求格式错误,参数无效
- 资源管理:连接泄漏、内存问题
- 并发:种族条件、背景隔离
测试
该项目包括广泛的测试范围:
测试套件
- 单元测试:单个功能和类测试
- 集成测试:全面API端点测试
- 错误处理测试:4个类别的118多个错误场景
运行测试
# All tests
npm test
# Specific test suites
npm run test:unit
npm run test:integration
npm run test:error-handling
# Watch mode
npm run test:watch测试覆盖率
测试包括:
- 身份验证流程
- MCP动作执行
- 错误场景和边缘情况
- 并发请求处理
- 资源管理
- 输入验证
生产错误已修复
在开发过程中,综合测试揭示并修复了:
- 资源泄漏:MCP客户端未在错误路径上关闭
- 空指针异常:MCP服务器响应为空时崩溃
发展
代码的风格
- TypeScript严格模式
- Express.js最佳实践
- 异步/等待模式
- 全面的错误处理
添加新的MCP操作
- 定义操作
utils.tsloadMCPActions() - 在中添加TypeScript类型
types.ts - 在中创建单元测试
tests/unit/ - 在中添加集成测试
tests/integration/
部署
构建
npm run build开始生产
npm start默认情况下,该服务在端口3001上运行(可通过以下方式配置 PORT 环境变量)。
监控
健康端点
GET /api/health-服务状态和版本信息- 服务正常时返回200 OK
日志
- 结构化日志记录到控制台
- 请求/响应日志记录
- 错误跟踪和报告
安全
当前安全措施:
- 为跨源请求启用CORS
- 10MB请求大小限制
- 承载令牌身份验证
- 输入净化
贡献
- 分叉存储库
- 创建要素分支
- 添加综合测试
- 确保所有测试通过
- 提交拉取请求
许可证
\[添加许可证信息\]
支持
\[添加支持联系信息\]
