UI_CONTROL_FEATURES.md•6.01 kB
# MCP服务器界面控制功能文档
## 功能概述
MCP服务器模块现在提供了完整的界面控制功能,用户可以通过直观的界面轻松管理MCP服务器的启动、停止、重启和状态监控。
## 主要功能
### 1. 服务器控制面板
**位置**: MCP服务器 > 控制面板
控制面板提供卡片式的服务器管理界面:
- **直观显示**: 每个服务器显示为独立卡片
- **状态指示**: 彩色徽章显示服务器状态(运行中/已停止/草稿)
- **快速操作**: 每个卡片上的启动/停止按钮
- **详细信息**: 显示端口、URL、资源数量、最后连接时间
### 2. 表单视图控制
**位置**: MCP服务器 > 服务器管理 > 打开任意服务器
表单视图头部提供完整的服务器控制按钮:
#### 主要按钮
1. **启动服务器** (绿色高亮)
- 图标: ▶️ 播放图标
- 显示条件: 服务器未运行时
- 功能: 启动MCP服务器实例
2. **停止服务器** (红色危险)
- 图标: ⏹️ 停止图标
- 显示条件: 服务器运行中时
- 功能: 停止MCP服务器实例
3. **重启服务器** (橙色警告)
- 图标: 🔄 刷新图标
- 显示条件: 服务器运行中时
- 功能: 重启MCP服务器实例
4. **检查状态** (蓝色信息)
- 图标: ℹ️ 信息图标
- 显示条件: 始终显示
- 功能: 获取详细的服务器状态信息
5. **测试连接** (灰色次要)
- 图标: 🔌 插头图标
- 显示条件: 始终显示
- 功能: 测试与服务器的连接
### 3. 列表视图快速操作
**位置**: MCP服务器 > 服务器管理
列表视图中每行都有快速操作按钮:
- **启动**: 绿色播放按钮,快速启动服务器
- **停止**: 红色停止按钮,快速停止服务器
- **重启**: 橙色刷新按钮,快速重启服务器
- **状态**: 蓝色信息按钮,查看服务器状态
### 4. 批量操作
**位置**: MCP服务器 > 服务器管理 > 选择多个服务器 > 操作菜单
支持批量操作多个服务器:
1. **批量启动服务器**
- 同时启动多个选中的服务器
- 显示成功和失败的统计信息
2. **批量停止服务器**
- 同时停止多个选中的服务器
- 显示操作结果统计
## 用户反馈系统
### 通知类型
1. **成功通知** (绿色)
- 服务器启动/停止/重启成功
- 显示服务器名称和端口信息
2. **信息通知** (蓝色)
- 服务器已经在运行/已经停止
- 服务器状态详细信息
3. **警告通知** (橙色)
- 部分批量操作失败
- 服务器操作有问题但不严重
4. **错误通知** (红色)
- 服务器启动/停止失败
- 系统错误和异常信息
### 通知内容
每个通知都包含:
- **标题**: 操作类型和结果
- **消息**: 详细的操作信息
- **服务器信息**: 服务器名称和端口
- **持久性**: 错误通知会保持显示,成功通知自动消失
## 状态监控
### 服务器状态检查
点击"检查状态"按钮会显示:
```
服务器运行中
端口: 10888
线程状态: 活动
端口 10888: 占用
数据库状态: active
最后连接: 2025-07-22 10:30:15
```
### 状态指示器
1. **状态栏**: 显示草稿/活动/不活动状态
2. **颜色编码**:
- 绿色: 活动服务器
- 红色: 不活动服务器
- 蓝色: 草稿服务器
- 灰色: 已归档服务器
## 使用指南
### 启动单个服务器
1. 导航到 **MCP服务器 > 控制面板**
2. 找到要启动的服务器卡片
3. 点击 **启动** 按钮
4. 等待成功通知
### 批量管理服务器
1. 导航到 **MCP服务器 > 服务器管理**
2. 选择多个服务器(勾选复选框)
3. 点击 **操作** 菜单
4. 选择 **批量启动服务器** 或 **批量停止服务器**
5. 查看操作结果通知
### 监控服务器状态
1. 在任意视图中点击 **检查状态** 按钮
2. 查看详细的状态信息弹窗
3. 确认服务器运行状态和端口占用情况
### 故障排除
1. 如果启动失败,点击 **检查状态** 查看详细信息
2. 检查端口是否被其他程序占用
3. 查看Odoo日志获取详细错误信息
4. 尝试使用 **重启服务器** 功能
## 界面截图说明
### 控制面板视图
- 卡片式布局,每个服务器一张卡片
- 状态徽章清晰显示运行状态
- 快速操作按钮便于管理
### 表单视图
- 头部按钮栏提供完整控制功能
- 按钮根据服务器状态动态显示/隐藏
- 状态栏显示当前服务器状态
### 列表视图
- 表格式显示所有服务器信息
- 每行末尾的快速操作按钮
- 颜色编码区分不同状态的服务器
## 技术实现
### 按钮可见性控制
```xml
<!-- 启动按钮 - 只在非活动状态显示 -->
<button name="action_activate" string="启动服务器"
invisible="state == 'active'"/>
<!-- 停止按钮 - 只在活动状态显示 -->
<button name="action_deactivate" string="停止服务器"
invisible="state != 'active'"/>
```
### 用户反馈实现
```python
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': _('启动成功'),
'message': _('MCP服务器已成功启动'),
'type': 'success',
'sticky': False,
}
}
```
### 批量操作实现
```python
def action_batch_start(self):
success_count = 0
failed_servers = []
for record in self:
# 批量处理逻辑
pass
# 返回统计结果
```
## 最佳实践
1. **启动前检查**: 使用"检查状态"确认端口可用
2. **批量操作**: 对多个服务器使用批量操作提高效率
3. **状态监控**: 定期检查服务器状态确保正常运行
4. **错误处理**: 遇到错误时查看详细通知信息
5. **资源管理**: 不需要的服务器及时停止以节省资源
## 版本信息
- **功能版本**: 1.0
- **更新日期**: 2025-07-22
- **兼容性**: Odoo 17.0+