Skip to main content
Glama
CHANGELOG.md29.4 kB
# 📋 更新日志 ## v0.15.2 - 修复Docker配置读取bug并精简git相关功能 (2024-12-25) ### 🐛 重要Bug修复 #### SimpleConnectionManager Docker配置读取修复 - **修复** SimpleConnectionManager的`_load_servers`方法无法正确读取`docker_config`字段的问题 - **支持** 多种Docker配置格式:`specs.docker` > `docker` > `docker_config` - **解决** tj11等使用`docker_config`字段的服务器配置无法自动进入Docker容器的问题 - **确保** Docker环境配置和zsh shell切换功能正常工作 #### 连接工具功能完善 - **修复** 连接类型显示错误(relay连接显示为SSH)的问题 - **完善** relay连接流程:relay-cli认证 → SSH到目标主机 → 进入Docker容器 → 配置zsh环境 - **优化** 连接验证和错误处理机制 ### 🧹 功能精简和优化 #### 移除git相关功能 - **删除** `git_sync`工具和相关测试 - **精简** 同步配置,移除`include_patterns`功能 - **保留** `exclude_patterns`功能,简化同步逻辑 - **优化** 同步配置的用户体验 #### 同步配置简化 - **移除** 复杂的包含模式配置 - **保留** 排除模式,防止同步不必要的文件 - **简化** 配置流程,减少用户困惑 ### 🧪 测试改进 #### 新增Docker配置读取测试 - **创建** `tests/tool_connect_server/test_simple_connection_manager_docker_config.py` - **包含** 7个测试用例,全面覆盖Docker配置读取的各种场景: - 测试读取`docker_config`字段(修复的核心bug) - 测试读取`specs.docker`字段 - 测试读取`docker`字段 - 测试配置优先级 - 测试无Docker配置的情况 - 测试空Docker配置 - 测试类似tj11的实际场景配置 #### 测试修复和精简 - **删除** `tests/tool_sync_manager/test_git_sync.py` - **精简** `tests/tool_sync_manager/test_sync_manager.py`中的git相关测试 - **修复** `tests/tool_sync_config/test_sync_config_ui_enhancement.py`中的测试期望值 - **确保** 所有测试符合新的同步配置逻辑 ### 📊 测试结果 #### 全量回归测试 ```bash =========== 134 passed, 12 skipped, 10 warnings in 72.99s =========== ``` #### 质量保证 - **测试覆盖率** 134个测试通过,0个失败 - **功能验证** 所有核心功能正常工作 - **向后兼容** 不影响现有用户配置 - **代码质量** 通过所有质量门禁检查 ### 🔧 技术实现 #### Docker配置读取修复 ```python # 修复前 docker_config = server_data.get('specs', {}).get('docker', {}) or server_data.get('docker', {}) # 修复后 docker_config = ( server_data.get('specs', {}).get('docker', {}) or server_data.get('docker', {}) or server_data.get('docker_config', {}) # 新增支持 ) ``` #### 连接流程优化 ```python # 完整的连接流程 1. relay-cli认证 2. SSH到目标服务器 3. 进入Docker容器(如果配置了) 4. 配置zsh环境(如果配置了) 5. 切换到zsh shell ``` ### 🎯 用户体验改进 #### 更可靠的连接体验 - **自动Docker** 配置了Docker容器的服务器会自动进入容器 - **自动zsh** 配置了zsh的服务器会自动切换到zsh环境 - **连接类型** 正确显示连接类型(relay/SSH) - **错误处理** 更好的错误提示和恢复机制 #### 简化的同步配置 - **减少困惑** 移除复杂的包含模式配置 - **保持功能** 保留必要的排除模式功能 - **更直观** 配置更加简单明了 ### 📋 向后兼容性 - **现有配置** 完全兼容,无需修改 - **功能保持** 所有核心功能保持不变 - **性能优化** 连接和配置读取性能有所提升 - **错误减少** 修复了多个影响用户体验的bug --- ## v0.15.0 - 修复交互式配置向导回归问题 (2024-12-25) ### 🐛 重大回归修复 #### 交互式配置向导恢复 - **修复** MCP环境下交互式配置向导无法正常工作的回归问题 - **还原** 在MCP模式下被错误禁用的配置向导功能 - **新增** MCP智能配置向导 (`mcp_guided_setup`) 支持参数化配置 - **保持** 终端模式下的交互式体验不变 #### MCP工具增强 - **扩展** `interactive_config_wizard` 工具schema,支持全面参数配置 - **新增** 智能默认值和自动生成功能(服务器名称、时间戳等) - **支持** SSH、Relay、Docker三种连接类型的参数化配置 - **实现** 无需交互输入的智能配置模式 ### 🧪 全面回归测试 #### 新测试套件 - **创建** `test_interactive_config_regression.py` - 10个全面测试用例 - **测试** MCP模式检测和基本配置功能 - **测试** Docker和Relay连接的参数化配置 - **测试** 自动生成和错误处理机制 - **测试** 配置合并和MCP工具schema验证 - **验证** 向后兼容性和参数传递正确性 #### 测试结果 ```bash 🚀 运行交互式配置向导回归测试 ============================================================ ✅ 成功测试: 10/10 ❌ 失败测试: 0 💥 错误测试: 0 ``` ### 🎯 技术实现 #### MCP智能配置向导特性 - **参数化配置** 无需用户交互,基于传入参数智能配置 - **智能自动生成** 服务器名称、端口号、时间戳等自动生成 - **全面错误处理** 优雅处理配置错误和保存失败 - **配置合并支持** 支持在现有配置基础上添加新服务器 - **向后兼容** 保持与现有终端交互模式的完全兼容 #### 支持的配置参数 ```python # MCP工具支持的参数 { "server_name": "string", # 服务器名称 "host": "string", # 主机地址 "username": "string", # 用户名 "port": "integer", # 端口号 "connection_type": "ssh|relay|docker", # 连接类型 "docker_image": "string", # Docker镜像 "docker_container": "string", # 容器名称 "relay_target_host": "string", # Relay目标主机 "description": "string" # 描述信息 } ``` ### 🔧 根本问题解决 #### 原因分析 ```python # 问题代码 (已修复) def guided_setup(self): if self.is_mcp_mode(): return False # 错误地禁用了MCP模式下的配置向导 ``` #### 解决方案 ```python # 修复后的逻辑 def guided_setup(self): if self.is_mcp_mode(): # 使用智能参数化配置而非交互式配置 return self.mcp_guided_setup(self.mcp_params) else: # 终端模式使用传统交互式配置 return self.interactive_guided_setup() ``` ### 📊 影响和收益 #### 功能恢复 - **MCP环境** 现在可以正常使用配置向导功能 - **Cursor集成** 完全支持通过MCP工具进行服务器配置 - **开发效率** 消除了需要切换到终端进行配置的麻烦 - **用户体验** 提供了更加统一和流畅的配置体验 #### 质量保证 - **全面测试** 10个专门的回归测试确保功能稳定 - **向后兼容** 不影响任何现有功能和工作流 - **错误处理** 健壮的错误处理机制防止配置失败 - **文档完善** 详细的实现文档和使用说明 --- ## v0.14.0 - 增强回归测试套件和配置保护机制 (2024-12-25) ### 🧪 重大测试增强 #### 全面的回归测试套件 - **新增** 7个关键测试场景,覆盖配置保护的各种边界情况 - **增强** `test_empty_directory_initialization` - 空目录初始化测试 - **增强** `test_partial_directory_recovery` - 部分目录恢复测试 - **增强** `test_template_files_creation` - 模板文件创建测试 - **增强** `test_corrupted_config_recovery` - 损坏配置文件恢复测试 - **增强** `test_npm_installation_scenario` - npm安装场景保护测试 - **增强** `test_permission_error_handling` - 权限错误处理测试 - **增强** `test_mcp_vs_cli_mode_behavior` - MCP vs CLI模式行为一致性测试 #### 智能测试期望调整 - **优化** 测试逻辑,根据系统状态智能调整期望结果 - **考虑** 持久备份文件的存在,体现"用户数据安全第一"原则 - **验证** 多重保护机制在各种场景下的有效性 ### 🛡️ 配置保护机制改进 #### 损坏文件智能处理 - **改进** `ensure_config_exists` 方法,能够检测和处理损坏的YAML文件 - **自动备份** 损坏文件到带时间戳的备份文件 - **智能恢复** 在适当条件下重新创建有效配置 - **YAML验证** 增加配置文件格式验证和错误处理 #### 多重保护策略验证 - **第一道防线** 文件存在性和有效性检查 - **第二道防线** 智能用户配置检测 - **第三道防线** npm场景和备份文件检查 - **第四道防线** 并发访问保护 #### 备份文件系统完善 - **本地备份** `config.yaml.backup` - **持久备份** `~/.remote-terminal-config-backup.yaml` - **损坏备份** `config.yaml.corrupted.{timestamp}` - **空文件备份** `config.yaml.empty.{timestamp}` ### 🔧 核心逻辑优化 #### 配置文件处理增强 - **智能检测** 配置文件的有效性和完整性 - **自动恢复** 从各种异常状态中恢复 - **并发保护** 使用文件锁机制防止并发冲突 - **错误处理** 优雅处理权限错误和I/O异常 #### 边界情况全覆盖 - **空目录场景** 正确创建默认配置 - **部分目录场景** 补全缺失的配置文件 - **损坏文件场景** 备份并重建有效配置 - **权限问题场景** 优雅处理访问限制 - **npm更新场景** 保护现有用户配置 ### 📊 测试覆盖率提升 #### 回归测试成果 - **总测试数** 17个回归测试,100%通过率 - **完整测试套件** 39个测试,全部通过 - **覆盖场景** 从基础功能到复杂边界情况的全面覆盖 #### 质量保证 - **数据安全** 多重机制确保用户配置不会意外丢失 - **智能恢复** 自动处理各种异常情况 - **向后兼容** 保护现有用户的配置和工作流 - **系统稳定** 处理并发访问和权限问题 ### 🎯 用户体验改进 #### 更安全的配置管理 - **零数据丢失** 在任何情况下都优先保护用户数据 - **智能初始化** 仅在真正需要时创建默认配置 - **自动恢复** 从配置损坏中自动恢复 - **透明处理** 后台处理各种异常,用户无感知 #### 更可靠的系统行为 - **一致性保证** MCP和CLI模式行为完全一致 - **错误容忍** 优雅处理各种系统环境问题 - **自动备份** 重要操作前自动创建备份 - **详细日志** 完整记录所有保护操作 ### 🔍 技术细节 #### 测试架构优化 ```python # 智能测试期望示例 if persistent_backup.exists(): # 如果存在持久备份,系统应该保护而不是创建新配置 self.assertFalse(result, "存在持久备份时应该保护,不创建新配置") else: # 如果没有持久备份,应该创建新配置 self.assertTrue(result, "空目录且无备份时应该创建新配置") ``` #### 保护机制实现 ```python # 损坏文件处理逻辑 if content and ('servers:' in content or 'global_settings:' in content): try: yaml.safe_load(content) # 验证YAML格式 return False # 有效配置,保护不覆盖 except yaml.YAMLError: # 备份损坏文件并重新创建 backup_corrupted_file() recreate_config() ``` ### 📋 测试验证 #### 回归测试执行结果 ```bash $ python3 -m pytest tests/regression/test_config_persistence_fix.py -v ============================================ 17 passed in 1.85s ============================================ ``` #### 完整测试套件结果 ```bash $ python3 tests/run_tests.py 总测试数: 39 通过: 39 失败: 0 错误: 0 🎉 所有测试通过! ``` --- ## v0.8.3 - Relay连接配置修复和回归测试 (2024-12-18) ### 🔧 重大修复 #### Relay连接配置逻辑修复 - **修复** 单级跳板配置时要求配置两个服务器的问题 - **修正** 二级跳板连接顺序:`本地 → relay-cli → 第一级跳板机 → 最终目标服务器` - **优化** 配置界面显示,清晰区分单级和二级跳板 - **改进** 编辑配置时的智能架构选择 #### 配置编辑功能增强 - **新增** 智能检测现有配置类型(单级/二级跳板) - **优化** 编辑流程,自动识别并提供相应配置选项 - **改进** 配置保存逻辑,确保specs结构正确生成 - **增强** 向后兼容性,支持旧配置格式 ### 🧪 质量保证 #### 回归测试套件 - **新增** `tests/regression/test_relay_config_fix.py` - 完整的回归测试 - **测试覆盖** 单级跳板配置生成和验证 - **测试覆盖** 二级跳板配置生成和验证 - **测试覆盖** 连接流程顺序正确性 - **测试覆盖** 配置向后兼容性 - **测试覆盖** Docker配置保持完整性 #### 测试用例详情 ```python # 单级跳板测试 test_single_level_relay_config() # 二级跳板测试 test_two_level_relay_config() # 连接顺序测试 test_connection_flow_order() # 向后兼容测试 test_config_backward_compatibility() # Docker配置保护测试 test_docker_config_preservation() ``` ### 🎯 用户体验改进 #### 配置流程优化 - **简化** 单级跳板配置,只需一步配置目标服务器 - **明确** 二级跳板配置,分步配置第一级跳板机和最终目标 - **清晰** 连接流程说明和可视化指引 - **智能** 默认值设置,基于现有配置智能推荐 #### 错误预防 - **防止** 配置错误的连接顺序 - **避免** 不必要的重复配置步骤 - **确保** 配置结构的一致性和正确性 - **保护** 现有Docker和其他配置不被影响 ### 🔍 技术细节 #### 配置结构修正 ```yaml # 单级跳板 (修复后) specs: connection: tool: relay-cli target: {host: "target-server.com"} # 二级跳板 (修复后) specs: connection: tool: relay-cli target: {host: "first-jump.com"} # relay-cli连接的第一级 jump_host: {host: "final-target.com"} # 最终目标服务器 ``` #### 编辑逻辑改进 - **智能识别** 基于`jump_host`字段存在性判断配置类型 - **动态调整** 根据选择的架构类型生成对应配置 - **保持兼容** 支持从旧格式平滑迁移到新格式 ### 📋 测试验证 #### 测试执行结果 ```bash $ python3 -m pytest tests/regression/test_relay_config_fix.py -v ============================================ 6 passed in 0.90s ============================================ ``` #### 覆盖场景 - ✅ 单级跳板配置正确性 - ✅ 二级跳板配置正确性 - ✅ 连接顺序验证 - ✅ 向后兼容性 - ✅ Docker配置保护 - ✅ 编辑配置类型检测 --- ## v0.8.2 - 配置文件保护和NPM发布优化 (2024-12-20) ### 🛡️ 用户配置保护 #### 智能配置管理 - **修复** NPM包更新时可能覆盖用户配置文件的问题 - **新增** 智能配置初始化,仅在用户无配置文件时创建默认配置 - **移除** config/目录从NPM包files列表,避免意外覆盖 - **优化** postinstall脚本,增加配置文件安全检查 #### 用户体验改进 - **保护** 现有用户的config.yaml文件不被覆盖 - **创建** 默认配置文件到用户目录 `~/.remote-terminal-mcp/config.yaml` - **静默处理** 配置初始化失败,不影响包安装 - **提供** 配置文件创建指引和文档链接 ### 📦 NPM发布优化 #### 包内容精简 - **移除** 不必要的配置文件,减少包大小 - **保留** 核心功能文件和文档 - **优化** 文件包含列表,提高安装速度 --- ## v0.8.1 - 自动化二级跳转和密码认证优化 (2024-12-20) ### 🔧 核心修复 #### 自动化二级跳转逻辑修复 - **修复** relay连接中的自动二级跳转功能 - **优化** SSH命令构建,确保用户名正确传递到目标服务器 - **增强** 连接流程,实现真正的自动化多级跳转 - **改进** 配置传递逻辑,支持复杂的网络拓扑结构 #### 密码认证支持增强 - **新增** `password` 字段支持到 `ServerConfig` 数据类 - **实现** 自动密码认证流程,减少手动输入 - **优化** 密码验证逻辑,支持多种登录成功检测方式 - **增强** 配置加载,自动读取密码配置信息 #### 连接验证逻辑优化 - **简化** relay就绪检测,仅依据bash提示符快速判断 - **移除** 不必要的验证命令执行,提高连接效率 - **优化** 目标服务器连接验证,支持多种环境检测 - **改进** 错误处理,提供更准确的连接状态反馈 ### 💡 技术改进 #### 配置管理优化 - **增强** `_connect_via_relay` 方法,支持自动化二级SSH连接 - **新增** `_verify_target_server_connection_with_password` 方法 - **优化** 配置传递,确保target配置包含用户名信息 - **改进** 错误信息,去除敏感提示信息 #### 连接流程改进 - **实现** 完整的script-based连接流程 - **支持** 自动化密码输入和验证 - **优化** 多级连接的状态检测 - **增强** 连接超时和重试逻辑 ### 🎯 使用体验提升 #### 自动化程度提高 - **无需手动** 执行二级SSH连接命令 - **自动处理** 密码认证流程 - **智能检测** 连接状态和环境切换 - **简化操作** 一键完成复杂网络环境连接 #### 连接效率优化 - **减少延迟** 移除不必要的验证步骤 - **快速判断** 基于提示符的状态检测 - **优化流程** 连接步骤更加精简高效 ### 🔍 问题修复 #### 核心问题解决 - **修复** 二级跳转停留在第一级跳板机的问题 - **解决** SSH命令缺少用户名导致连接失败 - **修复** 配置传递不完整导致的自动化失效 - **解决** 连接验证逻辑过于复杂的效率问题 ### 📚 代码质量提升 #### 敏感信息清理 - **移除** 特定厂商相关的提示信息 - **通用化** 错误检测逻辑,提高代码可移植性 - **标准化** 用户名检测,支持动态配置 - **优化** 日志输出,去除敏感服务器信息 --- ## v0.8.0 - BOS集成和智能Shell配置 (2024-12-19) ### 🎆 重大新功能 #### ☁️ BOS(百度云存储)集成 - **新增** 完整的BOS配置管理系统 - **自动配置** BOS凭据和访问权限 - **一键下载** 云端配置文件到Docker容器 - **智能集成** 仅在选择zsh时显示BOS配置选项 - **错误处理** 完善的BOS连接和下载错误处理 #### 🐚 智能Shell配置系统 - **Shell选择** 支持bash/zsh选择,默认bash - **环境预检测** 智能检测是否已在目标环境中 - **自动回退** 支持首选shell和备用shell的自动切换 - **配置同步** zsh环境自动下载和应用配置文件 #### 🐳 Docker环境增强 - **完整的Docker配置管理器** (`docker_config_manager.py`) - **模板化配置** 支持开发、ML、Web等多种模板 - **GPU支持** 完整的CUDA环境配置 - **资源管理** 内存、共享内存、端口映射等 - **自动化初始化** 容器创建后自动执行初始化命令 ### 🔧 技术改进 #### 配置管理优化 - **修复** 配置文件覆盖问题,现在正确合并配置 - **增强** 连接类型显示,正确区分SSH直连和Relay中继 - **改进** SSH错误检测,提供准确的错误信息和解决方案 #### 连接稳定性提升 - **智能重连** 避免不必要的重复连接 - **状态检测** 实时检测连接和环境状态 - **错误恢复** 自动处理常见连接问题 ### 📚 文档和发布 #### 新增文档 - **BOS功能进展报告** (`BOS_PROGRESS.md`) - 详细记录BOS集成功能 - **更新README** 添加最新功能介绍和使用指南 #### NPM包发布优化 - **自动化发布脚本** (`scripts/publish.js`) - 完整的发布流程管理 - **版本管理** 支持patch/minor/major版本更新 - **质量检查** 发布前自动检查文件和运行测试 - **Git集成** 自动创建标签和推送到远程仓库 ### 🎆 使用体验提升 #### 简化配置流程 ```bash # 新的Docker配置流程 python3 docker_config_manager.py # 选择模板 -> 输入基本信息 -> 自动生成配置 ``` #### 智能化连接 - **环境检测** 自动检测是否已在目标环境,避免重复连接 - **Shell适配** 根据配置自动选择合适的shell - **配置同步** zsh环境自动下载和应用BOS配置文件 ### 🔄 迁移指南 #### 现有用户 - ✅ **无需操作** - 现有配置自动兼容 - 🚀 **可选升级** - 使用新的Docker配置管理器 - ☁️ **BOS集成** - 为zsh环境添加BOS配置 #### 新用户 - 🎯 **推荐路径** - 使用 `python3 docker_config_manager.py` 创建Docker环境 - 📚 **学习资源** - 阅读BOS功能进展报告 - 💡 **最佳实践** - 遵循文档中的建议 --- ## v2.0.0 - 智能化用户体验升级 (2024-12-19) ### 🚀 重大新功能 #### 交互式配置系统 - **新增** `config-helper.py` - 智能配置助手工具 - **新增** `interactive_config.py` - 完整的配置管理系统 - **支持** 多种服务器类型的快速配置向导 - **支持** 可视化配置管理界面(增删改查) - **支持** 配置导入导出功能 #### 智能用户引导系统 - **新增** `enhanced_ssh_manager.py` - 增强版SSH管理器 - **新增** `InteractiveGuide` 类 - 智能交互引导 - **自动检测** 连接过程中的用户输入需求 - **智能等待** 用户输入完成并自动继续流程 - **支持** 密码、指纹确认、2FA等多种输入类型 ### 🛠️ 功能增强 #### 配置管理 - **改进** 配置文件结构和位置管理 - **新增** 实时配置验证和格式检查 - **新增** 配置预览功能 - **新增** 一键连接测试 #### 调试和故障排除 - **新增** 智能故障诊断系统 - **改进** 错误信息和解决方案提示 - **新增** 配置助手调试命令 - **新增** 紧急恢复流程 #### 文档体系 - **新增** [交互式配置使用指南](./INTERACTIVE_CONFIG_GUIDE.md) - **全面更新** README.md 使用文档 - **新增** 完整的使用流程和示例 - **改进** 故障排除指南 ### 🎯 用户体验改进 #### 零学习成本 - **消除** 手动编写YAML配置的需求 - **提供** 智能配置向导 - **支持** 多种常见服务器类型模板 #### 智能化操作 - **自动化** 连接过程中的用户交互 - **智能化** 状态检测和流程控制 - **可视化** 配置管理和操作反馈 #### 可靠性提升 - **增强** 连接稳定性和错误处理 - **改进** 会话管理和状态监控 - **新增** 自动恢复机制 ### 📦 技术改进 #### 代码结构 - **重构** SSH连接管理逻辑 - **新增** 模块化的配置管理系统 - **改进** 错误处理和日志记录 #### 兼容性 - **保持** 向后兼容现有配置 - **支持** 平滑升级路径 - **无需** 额外依赖安装 ### 🔧 使用方法更新 #### 新的推荐工作流程 ```bash # 1. 交互式配置(首次使用) python3 config-helper.py --quick # 2. 在Cursor中使用 "连接到cpu-221" # 3. 智能引导处理用户输入(自动) ``` #### 新的调试命令 ```bash # 配置管理 python3 config-helper.py --list python3 config-helper.py --test server-name # 故障排除 python3 config-helper.py ``` ### 📚 文档更新 - **全面重写** README.md 使用文档 - **新增** 交互式配置详细指南 - **更新** 故障排除和调试方法 - **添加** 最佳实践建议 ### 🔄 迁移指南 #### 现有用户 - ✅ **无需操作** - 现有配置自动兼容 - 🚀 **可选升级** - 使用新的交互式配置管理现有服务器 - 📖 **建议阅读** - 查看新功能使用指南 #### 新用户 - 🎯 **推荐路径** - 直接使用 `python3 config-helper.py --quick` - 📖 **学习资源** - 阅读交互式配置使用指南 - 💡 **最佳实践** - 遵循文档中的建议 --- ## v1.x - 基础功能版本 ### 核心功能 - MCP协议集成 - 基础SSH连接管理 - tmux会话管理 - Docker容器支持 - 手动YAML配置 --- ## 🔮 未来计划 ### v2.1 计划功能 - **Web界面** - 浏览器端配置管理 - **批量操作** - 多服务器并行管理 - **监控面板** - 服务器状态实时监控 - **插件系统** - 支持自定义扩展 ### v2.2 计划功能 - **AI助手集成** - 智能运维建议 - **自动化脚本** - 常用任务自动化 - **性能优化** - 连接速度和稳定性提升 - **移动端支持** - 移动设备管理功能 --- ## 🤝 贡献 欢迎提交Issue和Pull Request来帮助改进项目! ### 贡献方向 - 🐛 Bug修复和问题报告 - ✨ 新功能建议和实现 - 📖 文档改进和翻译 - 🧪 测试用例和质量保证 ## [0.7.0] - 2024-12-19 ### 🚀 重大功能更新:MCP集成配置系统 #### ✨ 新增功能 - **对话式配置管理** - 用户现在可以通过Cursor对话直接配置服务器,无需手动编辑YAML文件 - **MCP集成工具** - 新增5个MCP工具支持完整的配置管理流程: - `interactive_config_wizard` - 交互式配置向导 - `manage_server_config` - 服务器配置管理(增删改查) - `create_server_config` - 创建服务器配置 - `diagnose_connection` - 连接诊断 - **智能配置模板** - 为SSH、Relay、Docker等不同类型服务器提供配置模板 - **实时连接测试** - 配置完成后立即验证连接可用性 - **配置导入导出** - 支持配置文件的备份和迁移 #### 🔧 技术改进 - 新增 `MCPConfigManager` 类,专门为MCP集成设计 - 完善的错误处理和用户友好的反馈信息 - 支持多种配置验证和诊断功能 - 兼容现有的SSH Manager和配置文件格式 #### 📚 文档更新 - 新增对话式配置示例和使用指南 - 更新README,突出MCP集成的优势 - 添加详细的功能演示和最佳实践 #### 🎯 用户体验提升 - **零学习成本** - 用户无需了解YAML语法或配置文件结构 - **智能引导** - 系统自动提供配置建议和模板 - **即时反馈** - 配置过程中实时验证和错误提示 - **可视化管理** - 通过对话界面管理所有服务器配置 ### 📦 发布信息 - npm包自动包含所有新功能 - 向后兼容现有配置文件 - 支持从命令行工具平滑迁移到MCP集成模式 --- ## [0.6.4] - 2024-12-18 ### 🛡️ 重要修复 - 配置文件持久性问题 - **修复配置文件时而存在时而消失的问题** - 这是一个严重的数据丢失问题 - **根本原因**: 多个MCP服务器进程并发访问配置文件 + 初始化逻辑缺陷 - **解决方案**: - 修复`has_user_config()`方法,正确检测用户配置(之前总是返回False) - 修复`ensure_config_exists()`方法,添加多重保护防线 - 修复`__init__`方法,避免初始化时无条件创建目录和模板 - 修复`ensure_directories()`方法,只在真正需要时创建模板 ### 🔧 技术改进 - **超级保护机制**: - 第一道防线:文件存在直接返回,绝不覆盖 - 第二道防线:智能检测用户配置 - 第三道防线:检查备份文件 - 第四道防线:创建前再次确认文件不存在 - **智能配置检测**: 检测非example-server服务器、修改过的配置、自定义全局设置 - **并发访问保护**: 文件锁机制防止多进程冲突 - **配置备份机制**: 自动检测和保护备份配置 ### 🧪 测试保障 - **新增回归测试套件**: `tests/regression/test_config_persistence_fix.py` - **10个测试用例**覆盖: - 现有文件保护 - 用户配置检测 - 备份文件检测 - 并发访问保护 - YAML错误处理 - 文件修改时间保护 - 多重保护层级 - 空服务器处理 - 创建默认配置保护 - **所有测试通过**,确保修复稳定可靠 ### 📋 用户影响 - **数据安全**: 用户配置不会再被意外覆盖或丢失 - **向后兼容**: 完全兼容现有配置文件格式 - **透明修复**: 用户无需手动操作,自动生效 ### 🐛 已知问题解决 - ✅ 配置文件时而存在时而消失 - ✅ 用户配置被默认模板覆盖 - ✅ 多进程并发访问导致的配置丢失 - ✅ 初始化时无条件创建模板文件 --- ## [0.13.12] - 2025-06-18 ### 🔧 Relay连接配置修复 - **单级跳板配置修复**: 现在只需配置一个目标服务器,不再错误要求配置两个服务器 - **二级跳板连接顺序修正**: 修复连接顺序理解错误 - 正确顺序:本地 → relay-cli → szzj-isa-ai-peking-poc06.szzj → 10.129.130.222 - 之前错误理解为:本地 → relay-cli → 10.129.130.222 → szzj-isa-ai-peking-poc06.szzj ### ✨ 配置编辑增强 - **智能架构检测**: 自动识别单级/二级跳板配置 - **配置验证改进**: 更准确的relay配置验证逻辑 - **用户体验优化**: 减少不必要的配置步骤 ### 🧪 回归测试套件 - **新增测试文件**: `tests/regression/test_relay_config_fix.py` - **6个测试用例**覆盖: - 单级跳板配置(只需一个服务器) - 二级跳板配置(正确连接顺序) - 向后兼容性(现有配置不受影响) - Docker配置保护(编辑时保持Docker设置) - 配置验证逻辑 - 错误处理机制 ### 📦 发布信息 - **GitHub**: 成功发布到GitHub仓库 - **npm**: 发布到npm注册表 `@xuyehua/remote-terminal-mcp@0.13.12` - **测试状态**: 39个测试全部通过 --- ## [0.13.11] - 2025-06-17

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maricoxu/remote-terminal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server