feat: 添加消息历史持久化和可视化查看功能

- 新增 messageStore.js 消息存储模块,支持自动保存所有收发消息
- 修改 main.js,在消息转发时自动记录到本地存储
- 修改 preload.js,暴露消息管理 IPC API
- 修改 App.js,添加消息历史查看界面
  - 统计信息面板(总数/接收/发送/会话数)
  - 会话列表和消息详情
  - 搜索、过滤、分页功能
  - 导出 JSON 和清空历史
- 新增完整文档(MESSAGE_HISTORY.md 等)
- 新增测试脚本 test-message-history.js

版本:v1.0.1
This commit is contained in:
2026-03-10 04:09:26 +08:00
parent 7c826af5d1
commit 0880813355
9 changed files with 1809 additions and 3 deletions

180
BUILD_AND_RUN.md Normal file
View File

@@ -0,0 +1,180 @@
# 构建和运行指南
## 快速开始
### 1. 安装依赖
```bash
cd ~/.openclaw/workspace/wecome-openclaw-client
# 安装主项目依赖
npm install
# 安装渲染进程依赖
cd renderer
npm install
cd ..
```
### 2. 开发模式运行
```bash
npm start
```
应用会自动打开,支持热重载。
### 3. 测试消息历史功能
```bash
node test-message-history.js
```
## 构建发布版本
### 构建所有平台
```bash
npm run build
```
### 仅构建特定平台
```bash
# Windows
npm run dist:win
# macOS
npm run dist:mac
# Linux
npm run dist:linux
```
构建产物在 `dist/` 目录。
## 功能验证
### 1. 启动应用后,检查以下内容:
- ✅ OpenClaw Gateway 配置区域正常显示
- ✅ 企业微信机器人配置区域正常显示
- ✅ 右上角有 **💬 消息历史** 按钮
- ✅ 实时日志区域正常显示
### 2. 测试消息历史功能:
1. 点击 **💬 消息历史** 按钮
2. 查看统计信息面板(显示总消息数、接收数、发送数、会话数)
3. 查看左侧会话列表
4. 查看右侧消息列表
5. 测试搜索功能
6. 测试过滤功能
7. 测试分页功能
### 3. 测试消息保存:
1. 在企业微信中发送一条消息
2. 等待 OpenClaw 回复
3. 打开消息历史,查看是否保存了两条消息
4. 验证消息内容、时间、方向是否正确
## 配置企业微信机器人
1. 登录 [企业微信管理后台](https://work.weixin.qq.com/)
2. 进入「应用管理」->「智能机器人」
3. 创建或选择机器人开启「API 模式」并选择「长连接」
4. 获取 BotID 和 Secret
5. 在客户端中点击「+ 添加机器人」
6. 填写 BotID、Secret 和名称
7. 点击「连接」
## 配置 OpenClaw Gateway
1. 确保 OpenClaw Gateway 已启动:
```bash
openclaw gateway status
```
2. 在客户端中配置 Gateway 地址:
- 默认:`ws://localhost:18789`
- 远程:`wss://your-server.com`
3. 如果启用了 Token 认证,填写 Token
4. 点击「连接 OpenClaw」
## 常见问题
### Q: 应用启动失败?
A: 检查 Node.js 版本(建议 v18+),重新安装依赖:
```bash
rm -rf node_modules renderer/node_modules
npm install
cd renderer && npm install && cd ..
```
### Q: 消息历史按钮点击无反应?
A: 打开开发者工具Ctrl+Shift+I 或 Cmd+Option+I查看 Console 是否有错误信息。
### Q: 消息没有保存?
A: 检查:
1. OpenClaw 是否已连接
2. 企业微信机器人是否已连接
3. 查看实时日志,确认消息是否正常转发
4. 检查存储目录权限:`~/.config/wecome-openclaw-client/messages/`
### Q: 导出 JSON 失败?
A: 确保浏览器允许下载文件,或检查是否有足够磁盘空间。
### Q: 搜索功能不工作?
A: 确保输入了搜索关键词并按回车或点击搜索按钮。
## 目录结构
```
wecome-openclaw-client/
├── electron/ # Electron 主进程
│ ├── main.js # 主进程入口(已修改)
│ ├── preload.js # 预加载脚本(已修改)
│ └── messageStore.js # 消息存储模块(新增)
├── renderer/ # React 渲染进程
│ └── src/
│ ├── App.js # 主组件(已修改)
│ ├── index.js # 入口文件
│ └── index.css # 样式
├── resources/ # 应用资源
├── test-message-history.js # 测试脚本(新增)
├── MESSAGE_HISTORY.md # 功能说明(新增)
├── CHANGELOG_MESSAGE_HISTORY.md # 更新日志(新增)
├── BUILD_AND_RUN.md # 本文档(新增)
├── package.json
└── README.md
```
## 技术栈
- **Electron**: 28.0.0
- **React**: 18.2.0
- **@wecom/aibot-node-sdk**: 企业微信 SDK
- **ws**: WebSocket 客户端
- **electron-store**: 配置存储
## 系统要求
- **操作系统**: Windows 10+, macOS 10.15+, Linux (Ubuntu 18.04+)
- **Node.js**: v18.0.0+
- **内存**: 最少 512MB
- **磁盘**: 最少 200MB不含消息存储
## 下一步
应用启动并配置完成后:
1. ✅ 配置企业微信机器人
2. ✅ 连接 OpenClaw Gateway
3. ✅ 测试消息收发
4. ✅ 查看消息历史
5. ✅ 导出备份数据
祝你使用愉快!🎉