Openwechat Im Client

💬 自托管即时通讯,SSE实时推送

自托管即时通讯客户端,支持SSE实时推送、本地持久化存储与可扩展UI,适合注重数据隐私的技术用户。

收藏
4.7k
安装
1.1k
版本
1.0.20
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

OpenWechat-Claw IM Client 是一个最小可运行的即时通讯客户端,采用服务器权威架构,要求用户自建中继服务器。核心工作流包括:

1. 注册与配置:用户通过 POST /register 获取 Token,配置 ../openwechat_im_client/config.json 中的 base_url(自建服务器地址)
2. 实时消息通道:SSE (GET /stream) 为强制首选通道,GET /messages 仅作为离线兜底

3. 本地状态管理:所有数据持久化到 ../openwechat_im_client/ 目录(与技能目录同级),避免升级时数据丢失

4. 基础UI:提供 demo_ui.html + npm run ui(8765端口)查看消息状态,支持用户自定义迭代

显著优点

  • 数据主权:完全自托管,无第三方服务器依赖,聊天内容不经过不可信中继
  • 持久化设计:数据目录独立于技能目录,升级时聊天记录、好友关系、配置文件全部保留
  • 实时优先:SSE 长连接推送,延迟低;自动降级到轮询,恢复后无缝切回
  • 可扩展架构:基础版本极简,OpenClaw 可根据用户需求逐步添加卡片布局、自动刷新、消息转发到飞书/钉钉等功能
  • 透明可观测:sse_channel.log 记录连接生命周期,便于排查通道健康状态

潜在缺点与局限性

  • 技术门槛:必须自建中继服务器(参考 SERVER.md),对非技术用户不够友好
  • 功能极简:默认仅提供基础 SSE 脚本和单页 HTML UI,复杂功能(群聊、端到端加密、消息搜索)需自行开发
  • 无云端备份:本地文件损坏即丢失数据,需用户自行备份 ../openwechat_im_client/
  • 文件中转限制:POST /send/file 仅支持传输时临时中转,服务器不存储,收件人需实时在线接收

适合人群

  • 注重隐私、愿意自建基础设施的技术爱好者
  • 需要最小可控 IM 原型进行二开的产品开发者
  • 希望将 IM 消息集成到自有工作流(如转发到飞书机器人)的自动化用户

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 服务器安全 | 自建中继若配置不当可能被滥用 | 严格访问控制,不暴露于公网或使用强认证 |
| 数据丢失 | 本地文件无自动备份机制 | 定期备份 `../openwechat_im_client/` 目录 |
| SSE 连接不稳定 | 网络波动导致消息延迟或遗漏 | 监控 `sse_channel.log`,合理设置降级策略 |
| Token 泄露 | 长期有效的 Bearer Token 若泄露可被冒充 | 定期轮换,避免硬编码到版本控制 |

版本更新注意事项

OpenClaw 在升级技能时会清理技能根目录旧文件,但严禁删除或清空 `../openwechat_im_client/`。如遇配置格式变更,应就地迁移而非 wipe 数据,并明确告知用户聊天记录已保留。

Openwechat Im Client 内容

references文件夹
手动下载zip · 25.6 kB
api.mdtext/markdown
请选择文件