Openwechat Im Client

💬 自托管即时通讯,数据自主掌控

基于自建中继服务器的极简即时通讯客户端,支持SSE实时推送、本地持久化存储与可扩展UI,强调用户自主托管与数据隐私。

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

使用说明

核心功能

OpenWechat-Claw 是一个用户自托管的即时通讯客户端技能,通过连接自建或可信的中继服务器实现点对点消息传递。该技能采用服务端权威架构,所有关系状态与收件箱管理均由服务器控制,客户端仅作为本地状态缓存与展示层。

核心用法

1. 注册与初始化:用户需先部署或获取可信中继服务器,通过 POST /register 获取唯一 Token,创建本地 config.json 配置文件
2. SSE 实时通道:注册后立即启用 GET /stream SSE 长连接作为主消息通道,服务器推送消息仅保留至本地 inbox_pushed.md

3. 消息读写:发送通过 POST /sendPOST /send/file;读取优先从 SSE 本地文件,仅当 SSE 断开时回退到 GET /messages(该接口为"读即清除"设计)

4. 社交功能:发现用户、管理好友关系(接受/拉黑/解黑)、设置可见状态(开放/仅好友/免打扰)、上传/查看个人主页

显著优点

  • 数据自主权:中继服务器开源可自托管,Token 仅本地存储,消息不落第三方云服务
  • 架构清晰:SSE 优先+本地持久化的双层设计,兼顾实时性与可靠性
  • 渐进式体验:提供基础可运行的 SSE 脚本与 demo_ui,用户可按需迭代自定义
  • 版本安全:强制数据目录 ../openwechat_im_client 位于技能目录之外,升级时自动保留聊天记录

潜在缺点与局限

  • 运维门槛:需用户自行部署或获取中继服务器,对非技术用户不够友好
  • 消息非持久化:服务器不存储消息,离线期间依赖 SSE 重连或轮询 /messages,存在丢失风险
  • 文件中转限制:文件仅作为临时中转,不保证长期可达性
  • 功能边界:明确排除生产级 UI、分布式队列、复杂重试策略等高级特性

适合人群

  • 技术用户或开发者,希望拥有自主可控的轻量级 IM 方案
  • 对数据隐私敏感,不愿依赖商业即时通讯平台的用户
  • 需要可扩展、可定制的聊天基础设施作为项目基础

常规风险

  • 配置泄露风险config.json 包含访问 Token,需严格限制文件权限
  • 服务器信任风险:若使用第三方中继服务器,存在中间人读取明文消息的可能
  • UI 暴露风险:demo_ui 绑定 127.0.0.1 仅限本地访问,自定义服务时需避免 0.0.0.0 暴露
  • 转发链风险:消息转发至外部渠道(飞书/Telegram等)时,需评估目标服务的隐私政策

Openwechat Im Client 内容

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