resources/skills/wechat-ui-sender/SKILL.md
--- name: wechat-ui-sender description: Send desktop WeChat messages via screenshot-driven UI automation. Focus the WeChat window, search a contact or group, paste message from a markdown file, and optionally capture an audit screenshot. Supports automatic launch from tray and retry logic. Use when official APIs are unavailable. NOTE: Only supports markdown files - raw text messages are not supported. compatibility: Windows desktop with WeChat PC client, Python 3.9+, and pyautogui + pyperclip +
npx skillsauth add aidotnet/opencowork resources/skills/wechat-ui-senderInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automate the Windows WeChat client to push messages from an AI Agent to a specific contact or group using UI-level simulation.
Avoid this skill if an official API (WeCom bot/app) is available—API integrations are more stable and secure.
pip install pyautogui pyperclip pygetwindow pillow psutil
--force-launch to automatically start WeChat if not running.--max-retries and --retry-delay.--check-only to verify WeChat status without sending.| Script | Purpose | Dependencies |
| ------------------------ | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| scripts/send_wechat.py | Activate WeChat, locate contact via Ctrl+F, paste message, press Enter, optional screenshot | pyautogui, pyperclip, pygetwindow, pillow, psutil |
Install dependencies (first time only)
pip install pyautogui pyperclip pygetwindow pillow psutil
Basic usage - Write message to a markdown file first, then send
# Create a message file first
echo "Your message here" > message.md
# Send using the markdown file
python scripts/send_wechat.py "CONTACT_OR_GROUP_NAME" --file message.md
Auto-launch if closed
python scripts/send_wechat.py "Group Name" --file message.md --force-launch
Check WeChat status
python scripts/send_wechat.py "dummy" --file message.md --check-only
Full options
python scripts/send_wechat.py "CONTACT_OR_GROUP_NAME" \
--file "C:\\path\\to\\message.md" \
--window-title "微信" \
--search-delay 0.6 \
--typing-delay 0.2 \
--screenshot-dir C:\\temp\\wechat-captures \
--force-launch \
--max-retries 5 \
--retry-delay 3.0 \
--confirm
| Option | Default | Description |
| ------------------ | ------------ | ----------------------------------------------------------------------------- |
| contact | required | Display name or keyword for the contact/group search box |
| --file | required | Path to a markdown file (.md, .markdown, .txt) containing the message to send |
| --window-title | 微信 | Window title to match (case-sensitive partial match) |
| --search-delay | 1.0 | Seconds to wait after typing contact before pressing Enter |
| --typing-delay | 0.8 | Seconds to wait after pasting message before sending |
| --pause | 0.8 | General pause between actions in seconds |
| --screenshot-dir | None | Optional folder to store a screenshot after sending |
| --force-launch | False | Force attempt to launch WeChat if not running |
| --max-retries | 3 | Maximum retry attempts to find/activate WeChat window |
| --retry-delay | 3.0 | Seconds to wait between retry attempts |
| --confirm | False | Wait for manual contact selection after search |
| --confirm-delay | 2.0 | Seconds to wait when --confirm is used |
| --check-only | False | Only check if WeChat is running, do not send |
| --use-center | False | Use window center position for input box |
Important: This script ONLY supports sending markdown files. Use
--fileto specify the path to your message file. Plain text messages are no longer supported directly.
The script attempts to launch WeChat from these locations in order:
%ProgramFiles%\Tencent\WeChat\WeChat.exe%ProgramFiles(x86)%\Tencent\WeChat\WeChat.exe%LocalAppData%\Programs\WeChat\WeChat.exeC:\Program Files\Tencent\WeChat\WeChat.exeC:\Program Files (x86)\Tencent\WeChat\WeChat.exeD:\Program Files\Tencent\WeChat\WeChat.exe| Symptom | Fix |
| ---------------------------------------- | ------------------------------------------------------------------------- |
| Could not find a window matching title | Use --force-launch to auto-start, or manually open WeChat. |
| WeChat in tray | Script attempts recovery; try --max-retries 5 for more attempts. |
| Script hangs after Ctrl+F | Increase --search-delay or close pop-up dialogs. |
| Message not sent | Ensure chat input is focused; verify there are no rich-text restrictions. |
| Screenshot path missing | Provide --screenshot-dir and ensure the path is writable. |
| Auto-launch failed | Check WeChat is installed in one of the standard paths. |
| Code | Meaning |
| ---- | --------------------------------------------------- |
| 0 | Success (or --check-only with WeChat running) |
| 1 | Failure (or --check-only with WeChat not running) |
SKILL.md — this manifest & instructionsscripts/send_wechat.py — automation scripttools
Post tweets to X.com (Twitter) using the system browser's login state
development
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When GLM needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
development
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When GLM needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
testing
Search Xiaohongshu (Rednote) by keyword and extract note image URLs and titles with Playwright. Use when the user wants 小红书搜索结果抓取、图片链接提取或标题采集导出。Supports terminal JSON output and optional local text export.