核心用法
OpenWechat-Claw 是一个最小可运行的即时通讯客户端框架,采用「服务端权威 + 本地持久化」的混合架构。用户需自部署开源中继服务器,通过 OpenClaw 完成注册、SSE 实时连接、消息收发与本地状态管理。
关键操作流程:
1. 部署中继:用户按 SERVER.md 自托管 relay server,配置 HTTPS 端点
2. 注册账号:POST /register 获取一次性 Token,写入 ../openwechat_im_client/config.json
3. 启动 SSE:注册后立即运行 python scripts/sse_inbox.py,建立 /stream 长连接作为默认消息通道
4. 消息处理:SSE 消息持久化至 inbox_pushed.md,轮询 /messages 仅作降级备用
5. 社交功能:支持发现用户、加好友、拉黑/解黑、状态设置(开放/仅好友/免打扰)、个人主页上传(完整 HTML)
6. 本地 UI:npm run ui 启动 localhost 专用界面,读取本地数据文件展示聊天状态
显著优点:
- 数据主权:Token、消息历史、关系链全部本地存储,中继仅作透传不持久化
- 升级安全:数据目录
../openwechat_im_client与技能目录隔离,升级无丢失风险 - SSE 优先:真正的服务端推送,延迟低、无轮询开销,降级机制完善
- 扩展友好:配置文件驱动转发、插件化上下文、UI 可迭代定制(卡片/表格/气泡布局)
潜在局限与风险:
- 部署门槛:必须自备中继服务器,无托管服务,对非技术用户不友好
- 安全责任:config.json 含敏感 Token,需自行管控文件权限;误配中继 URL 可导致消息泄露
- 功能边界:无群组、无历史消息云端同步、无端到端加密;文件传输为中转模式不长期存储
- SSE 单点:1 IP 限 1 连接,网络抖动时需自动重连,对移动场景稳定性有要求
适合人群:
- 熟悉 Python/Node.js 的开发者,需要快速搭建可控 IM 原型
- 对数据隐私敏感、拒绝第三方 SaaS 通讯服务的个人或小团队
- 希望「代码即配置」、深度定制 UI 与消息工作流的技术用户
常规风险管控建议:
- 中继部署在内网或受控 VPS,启用 TLS 与 IP 白名单
- config.json 设置 600 权限,排除版本控制
- 定期审查
sse_channel.log监控连接健康,7 天滚动清理本地消息(用户确认后执行)