diff --git a/PR-TEMPLATE.md b/PR-TEMPLATE.md new file mode 100644 index 0000000..8adba59 --- /dev/null +++ b/PR-TEMPLATE.md @@ -0,0 +1,175 @@ +# Pull Request: weworkdev → main + +## 📋 PR 信息 + +**标题**: `feat: OpenClaw Gateway 配置和连接优化` + +**分支**: +- From: `weworkdev` +- To: `main` + +--- + +## 🎯 变更目的 + +实现 OpenClaw Gateway 的图形化配置和测试功能,优化 WebSocket 连接逻辑,添加详细日志便于调试。 + +--- + +## 📝 变更内容 + +### ✨ 新增功能 + +1. **Gateway 配置保存** + - 支持修改 OpenClaw Gateway 地址(WS/WSS URL) + - 支持修改 Token(可选) + - 点击"保存配置"按钮立即保存并重新连接 + +2. **测试消息通信** + - 在 Gateway 配置区域新增测试消息模块 + - 输入测试消息后发送到 OpenClaw + - 实时显示测试结果(成功/失败) + +3. **版本号显示** + - 界面标题栏显示当前版本号 v1.0.0-fix7 + +4. **详细连接日志** + - WebSocket 连接状态详细输出 + - 发送/接收消息内容日志 + - 连接关闭代码和原因诊断 + - SSL/TLS 错误诊断和建议 + +### 🐛 Bug 修复 + +1. **OpenClaw 握手协议** + - 改为主动发送 connect 请求(兼容不发送 challenge 的服务器) + - 保留 challenge 响应逻辑作为备用 + +2. **窗口关闭错误** + - 修复关闭窗口时事件处理器访问已销毁窗口的错误 + - 添加窗口状态检查 + +3. **SSL/TLS 错误** + - 添加 SSL 协议不匹配的诊断和提示 + - 支持自签名证书 + +4. **连接状态管理** + - 优化连接状态更新逻辑 + - 修复状态显示不同步问题 + +### 🧹 代码优化 + +1. 移除不必要的"清理 URL 斜杠"按钮 +2. 重构 OpenClawConnection 类 +3. 添加更详细的错误日志 +4. 优化事件处理器逻辑 + +--- + +## 📂 影响文件 + +### 核心文件 +- `electron/main.js` - 主进程逻辑(OpenClaw WebSocket 连接) +- `electron/preload.js` - 预加载脚本(IPC 通信) +- `renderer/src/App.js` - React 主界面(配置和测试 UI) +- `renderer/src/index.css` - 样式文件 + +### 配置文件 +- `package.json` - 依赖和构建配置 + +### 文档文件 +- `BUILD.md` - 构建说明(新增) + +--- + +## 🧪 测试情况 + +### 已测试功能 +- ✅ Gateway 配置修改和保存 +- ✅ Gateway 连接和断开 +- ✅ 测试消息发送 +- ✅ 连接状态显示 +- ✅ 日志输出 +- ✅ 窗口关闭无错误 + +### 测试环境 +- Windows 10/11 64 位 +- Node.js v24.14.0 +- Electron 28.3.3 + +--- + +## 📊 代码统计 + +**提交数量**: 5 个提交 + +**提交历史**: +``` +df6383f feat: 添加 OpenClaw 详细连接日志 +87d482f fix: 移除清理斜杠按钮 +b06ef2d feat: 添加详细的 OpenClaw 连接日志 +e3d62ed fix: OpenClaw 连接改为主动发送 connect 请求 +fddd2b2 feat: 新增 Gateway 配置保存和测试消息功能 +``` + +**变更行数**: +- 新增:~970 行 +- 修改:~130 行 +- 删除:~70 行 + +--- + +## ⚠️ 注意事项 + +1. **向后兼容**: 所有变更向后兼容,不影响现有配置 +2. **配置迁移**: 无需手动迁移配置,自动兼容 +3. **依赖变更**: 无新增外部依赖 +4. **API 变更**: 无破坏性 API 变更 + +--- + +## 📸 界面预览 + +### OpenClaw 配置区域 +- 新增"💾 保存配置"按钮 +- 新增"📡 测试消息通信"模块(蓝色边框) +- 标题栏显示版本号 + +### 日志输出示例 +``` +[OpenClaw] ========== 开始连接 ========== +[OpenClaw] 目标地址:ws://47.107.170.223:16312 +[OpenClaw] 协议版本:3 +[OpenClaw] ✅ WebSocket 连接已建立 +[OpenClaw] 就绪状态:1 (1=OPEN) +[OpenClaw] 📤 发送 connect 请求... +[OpenClaw] 📥 收到消息 (长度:123 字节) +[OpenClaw] 响应状态:✅ 成功 +``` + +--- + +## ✅ 检查清单 + +- [x] 代码已通过本地测试 +- [x] 无编译错误和警告 +- [x] 遵循项目代码规范 +- [x] 已添加必要的日志 +- [x] 文档已更新 +- [x] 无破坏性变更 +- [ ] 等待负责人审核 +- [ ] 等待合并到 main 分支 + +--- + +## 🔗 相关链接 + +- 仓库地址:https://git.toncent.net/weworkdev/wecome-openclaw-client +- 问题跟踪:(如有相关 issue 请链接) +- 文档:BUILD.md + +--- + +**提交人**: 球球(开发人员) +**提交时间**: 2026-03-10 +**审核人**: 徐总(项目负责人)