|
|
a32bc1d346
|
fix: 修复 ESLint 警告,使用 window.confirm
|
2026-03-10 04:10:07 +08:00 |
|
|
|
0880813355
|
feat: 添加消息历史持久化和可视化查看功能
- 新增 messageStore.js 消息存储模块,支持自动保存所有收发消息
- 修改 main.js,在消息转发时自动记录到本地存储
- 修改 preload.js,暴露消息管理 IPC API
- 修改 App.js,添加消息历史查看界面
- 统计信息面板(总数/接收/发送/会话数)
- 会话列表和消息详情
- 搜索、过滤、分页功能
- 导出 JSON 和清空历史
- 新增完整文档(MESSAGE_HISTORY.md 等)
- 新增测试脚本 test-message-history.js
版本:v1.0.1
|
2026-03-10 04:09:26 +08:00 |
|
|
|
7c826af5d1
|
fix: 修改 sessionKey 格式为 botId:chatId
之前格式:wecom:chatType:chatId
现在格式:botId:chatId
例如:
- aib55ZBHxW398XZkgYgwFPp1cXwtxUWQQf7:group:123456789
- aib55ZBHxW398XZkgYgwFPp1cXwtxUWQQf7:direct:zhangsan
这样每个 Bot 的会话独立管理,符合 OpenClaw 会话管理规范。
|
2026-03-10 03:57:00 +08:00 |
|
|
|
0324938b81
|
feat: 使用正确的 Gateway API - chat.send
关键修复:
- 之前错误:直接发送 message.inbound 事件
- 现在正确:使用 Gateway 的 chat.send 方法
Gateway API 调用:
{
"type": "req",
"method": "chat.send",
"params": {
"sessionKey": "wecom:group:chatId",
"message": "文本内容",
"attachments": [{"type": "image", "path": "..."}],
"deliver": true,
"idempotencyKey": "messageId"
}
}
会话管理:
- sessionKey 格式:wecom:chatType:chatId
- 例如:wecom:group:123456789 或 wecom:direct:zhangsan
- OpenClaw 会自动创建或复用会话
媒体文件处理:
- 下载企业微信图片/文件
- 保存到本地媒体目录
- 通过 attachments 参数传递给 chat.send
这样才符合 OpenClaw Gateway 协议规范!
|
2026-03-10 03:39:28 +08:00 |
|
|
|
15439de6d2
|
feat: 完整修复 - OpenClaw 连接 + 图片/文件下载
修复 OpenClaw Gateway 连接:
- 严格按照协议文档编写 connect 请求
- client.id: 'cli' (客户端标识)
- client.mode: 'operator' (角色)
- role: 'operator'
- 生成随机的 publicKey 和 signature (通过 schema 验证)
- 添加详细的连接日志
新增图片/文件下载功能:
- downloadFile() - 下载企业微信媒体文件
- saveMediaFile() - 保存到本地媒体目录
- forwardMessageToOpenClaw() - 下载并转发图片/文件
- 支持 image 消息类型
- 支持 file 消息类型
- 支持 voice 消息(语音转文字)
- 支持 mixed 图文混排消息
媒体文件保存位置:
- Windows: %APPDATA%\wecome-openclaw-client\media\inbound
转发到 OpenClaw 的格式:
{
"channel": "wecom",
"message": {
"text": "文本内容",
"media": [
{ "type": "image", "path": "/path/to/image.jpg" },
{ "type": "file", "path": "/path/to/file.pdf" }
]
}
}
现在 OpenClaw 可以看到图片和文件的实际内容了!
|
2026-03-10 03:28:19 +08:00 |
|
|
|
2722b9731d
|
fix: 修正 OpenClaw Gateway 协议参数
错误:
- client.id 写成了 'operator'(这是 mode 的值)
- 应该是 'cli'(客户端标识)
根据协议文档:
https://docs.openclaw.ai/zh-CN/gateway/protocol
正确的 connect 请求:
{
"client": {
"id": "cli", // 客户端标识
"mode": "operator" // 角色:operator 或 node
}
}
客户端标识可以是:
- cli (CLI 工具)
- cli-ui (CLI UI)
- macos-app (macOS 应用)
- ios-node (iOS 节点)
- 等等...
我们使用 'cli' 作为标识。
|
2026-03-10 03:20:40 +08:00 |
|
|
|
afdc9bb4e0
|
fix: 修复 OpenClaw Gateway 连接参数错误
问题:
- Gateway 返回 INVALID_REQUEST 错误
- schema 验证失败:client.id, publicKey, signature 不符合要求
修复:
1. client.id: 'wecome-client' → 'operator' (必须是常量值)
2. publicKey: 空字符串 → 临时生成的 hex 字符串 (不能为空)
3. signature: 空字符串 → 临时生成的 hex 字符串 (不能为空)
错误日志:
{
"code": "INVALID_REQUEST",
"message": "invalid connect params:
at /client/id: must be equal to constant
at /device/publicKey: must NOT have fewer than 1 characters
at /device/signature: must NOT have fewer than 1 characters"
}
现在应该能成功连接到 OpenClaw Gateway 了!
|
2026-03-10 03:17:05 +08:00 |
|
|
|
cb264d5cd0
|
feat: 完善企业微信机器人配置持久化保存
新增功能:
- 企业微信机器人配置支持持久化保存
- 添加/删除机器人时自动保存配置
- 新增手动保存按钮(💾 保存配置)
- 保存成功后显示提示信息
改进:
- 添加机器人:自动保存并提示 ✅ 机器人已保存
- 删除机器人:自动保存并提示 ✅ 配置已保存
- 手动保存:点击按钮保存所有配置变更
配置文件位置:
- Windows: %APPDATA%\wecome-openclaw-client\config.json
- 包含:机器人配置、Gateway 配置、启用状态
所有配置重启后自动加载,无需重新配置。
|
2026-03-10 03:09:47 +08:00 |
|
|
|
9520bdada5
|
fix: 彻底修复测试消息重复显示
- 删除重复的测试消息通信模块(第 353-401 行)
- 修复 JSX 结构(添加缺失的</div>)
- 现在只有一个测试消息模块
- 详细日志功能已添加
|
2026-03-10 02:30:56 +08:00 |
|
|
|
2552c82b97
|
fix: 修复测试消息重复显示和详细日志输出
- 删除重复的测试消息通信模块
- 添加 openclaw-log 事件将详细日志发送到界面
- 界面监听并显示 OpenClaw 详细日志
- 日志包含:连接状态、发送请求、接收消息、响应状态、错误诊断
现在连接 OpenClaw 时会看到详细日志:
[OpenClaw] ========== 开始连接 ==========
[OpenClaw] ✅ WebSocket 连接已建立 | 就绪状态:1
[OpenClaw] 📤 发送 connect 请求...
[OpenClaw] 📥 收到消息 (长度:123 字节)
[OpenClaw] 响应:✅ 成功 / ❌ 失败
|
2026-03-10 02:16:26 +08:00 |
|
|
|
f2da800bfa
|
docs: 添加 Pull Request 模板
|
2026-03-10 01:13:04 +08:00 |
|
|
|
df6383f8dc
|
feat: 添加 OpenClaw 详细连接日志
- 连接建立时显示就绪状态
- 主动发送 connect 请求(不等待 challenge)
- 发送消息前显示日志
- 为后续更详细日志做准备
|
2026-03-10 00:58:09 +08:00 |
|
|
|
87d482f693
|
fix: 移除清理斜杠按钮
|
2026-03-10 00:57:04 +08:00 |
|
|
|
b06ef2d8ca
|
feat: 添加详细的 OpenClaw 连接日志
日志增强:
- 连接开始:显示目标地址、协议版本、Token 状态
- WebSocket 打开:显示就绪状态
- 发送消息:显示完整请求内容
- 接收消息:显示原始数据(前 500 字节)、消息类型、事件名称
- 响应处理:显示响应状态、成功/失败、错误信息
- 连接关闭:显示关闭代码、原因、是否干净关闭
- 错误处理:显示错误类型、堆栈跟踪、针对性建议
- 关闭代码诊断:1006/1002/1003/1008/1011 等代码的含义
- SSL 错误诊断:WRONG_VERSION_NUMBER/ECONNREFUSED/ETIMEDOUT 等
方便快速定位 OpenClaw Gateway 连接问题
|
2026-03-10 00:38:15 +08:00 |
|
|
|
e3d62ede04
|
fix: OpenClaw 连接改为主动发送 connect 请求
- 连接 WebSocket 后立即主动发送 connect 请求
- 兼容不发送 challenge 的服务器配置
- 保留 challenge 响应逻辑作为备用
- 添加更详细的连接日志
|
2026-03-10 00:35:26 +08:00 |
|
|
|
fddd2b2e6b
|
feat: 新增 Gateway 配置保存和测试消息功能
新增功能:
- OpenClaw Gateway 配置支持修改保存(地址和 Token)
- 新增测试消息通信功能,可发送测试消息验证 Gateway 连接
- 添加 URL 清理按钮(移除末尾斜杠)
- 界面显示版本号 v1.0.0-fix7
修复:
- OpenClaw WebSocket 握手协议(等待 challenge 响应)
- 关闭窗口时事件处理器访问已销毁窗口的错误
- SSL/TLS 错误诊断和提示
- 连接状态管理优化
技术改进:
- 使用 challenge-response 握手机制连接 OpenClaw Gateway
- 添加窗口销毁检查避免事件发送失败
- 改进错误日志和诊断信息
- 优化连接状态更新逻辑
|
2026-03-10 00:20:18 +08:00 |
|
|
|
9cce1e76fc
|
feat: 初始版本 - 企业微信 OpenClaw 图形配置客户端
- 基于 Electron + React 的跨平台桌面应用
- 支持多 Bot ID 和 Secret 配置
- 双 WebSocket 长连接(企业微信 + OpenClaw Gateway)
- 图形化配置界面,实时连接状态显示
- 自动重连机制
- 支持 Windows/macOS/Linux 打包
技术栈:
- Electron 28
- React 18
- @wecom/aibot-node-sdk
- electron-store 配置持久化
|
2026-03-09 20:30:56 +08:00 |
|