
Wechat Automation
This handles the platform-specific agents for WeReply's WeChat automation layer, covering both Windows (wxauto v4) and macOS (Accessibility API). You get message monitoring via polling, input box control, and a JSON protocol over stdin/stdout to communicate with a Rust orchestrator. The patterns are solid: message deduplication with generated IDs, threaded command listeners, proper error handling back to the parent process. It's built for building agents that watch WeChat conversations and inject suggestions into the input field. The Windows side is more mature with working code samples, while macOS gets the architecture but you'll need to fill in the Accessibility API details yourself.
- skills.sh installs
- 445
- GitHub stars
- 9
- last updated
- Aug 21, 2026
Install
$ npx -y skills add cacr92/wereply --skill wechat-automation --agent claude-codeInstalls into .claude/skills of the current project.
Files
WeChat Automation Skill
Expert guidance for WeChat monitoring and automation using wxauto (Windows) and Accessibility API (macOS).
Overview
WeReply uses Platform-specific Agents to monitor WeChat conversations and control the input box:
- Windows Agent: Python 3.12 + wxauto v4
- macOS Agent: Swift + Accessibility API
- Communication: JSON protocol via stdin/stdout with Rust Orchestrator
Architecture Pattern
微信窗口
↓ (UI Automation)
Platform Agent
├→ 监听消息(定时轮询)
├→ 提取消息内容
├→ 发送到 Orchestrator (JSON via stdout)
└→ 接收命令 (JSON via stdin)
↓
控制输入框(写入建议)
Windows Agent - wxauto v4
Installation and Setup
# 安装依赖
pip install wxauto==4.0.0
# 确保微信已登录且窗口可见
Message Monitoring Pattern
import json
import time
import sys
from wxauto import WeChat
class WeChatMonitor:
def __init__(self, interval_ms: int = 500):
"""
初始化微信监听器
Args:
interval_ms: 监听间隔(毫秒),默认 500ms
"""
self.wechat = WeChat()
self.interval_ms = interval_ms
self.last_message_id = None
Sponsors
Details
- Repository
- github.com/cacr92/wereply
- Categories
- Backend & APIs, DevOps & CI/CD, AI & Agent Building, Automation & Workflows, Design & UI/UX
- First seen
- Jun 3, 2026