{"id":"1a81c1aa-354b-4ed7-a148-ce864548fe5f","entityType":"agent","slug":"clawhub-jinhuadeng-wechat-desktop-sender","name":"WeChat Desktop Sender","canonicalUrl":"https://www.xpersona.co/agent/clawhub-jinhuadeng-wechat-desktop-sender","canonicalPath":"/agent/clawhub-jinhuadeng-wechat-desktop-sender","generatedAt":"2026-10-11T20:59:01.640Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":null},"description":"Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s... Skill: WeChat Desktop Sender Owner: jinhuadeng Summary: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s... Tags: latest:0.4.0 Version history: v0.4.0 | 2026-04-19T13:50:37.970Z | user Add template-variable campaign workflow for CSV/JSON recipient lists plus rendered-message tracking and sample template datase","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s170kx8tdmb287fj3gzs4dhq3h83krvj:wechat-desktop-sender","sourceUrl":"https://clawhub.ai/jinhuadeng/wechat-desktop-sender","homepage":"https://clawhub.ai/jinhuadeng/skills/wechat-desktop-sender","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/jinhuadeng/wechat-desktop-sender","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/jinhuadeng/skills/wechat-desktop-sender","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":null},"stars":null,"forks":null,"downloads":1011,"packageName":null,"latestVersion":"0.4.0","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T18:16:33.917Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T18:16:33.999Z","lastCrawledAt":"2026-10-11T18:16:33.917Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T18:16:33.917Z","lastVerifiedAt":null,"highlights":[{"version":"0.4.0","createdAt":"2026-04-19T13:50:37.970Z","changelog":"Add template-variable campaign workflow for CSV/JSON recipient lists plus rendered-message tracking and sample template dataset.","fileCount":14,"zipByteSize":17660},{"version":"0.3.0","createdAt":"2026-04-19T13:39:19.617Z","changelog":"Version 2 tracked delivery summaries: add per-recipient status, retry recommendation, sent_at, and top-level summary stats for batch and personalized sends.","fileCount":10,"zipByteSize":12587},{"version":"0.2.0","createdAt":"2026-04-19T13:31:23.459Z","changelog":"Add personalized serial send workflow, sample campaign file, and OpenClaw conversational routing guidance.","fileCount":10,"zipByteSize":11669},{"version":"0.1.0","createdAt":"2026-04-19T13:27:32.612Z","changelog":"Initial release: single send, serial batch send, text verification, optional OCR verification for Windows WeChat desktop automation.","fileCount":7,"zipByteSize":8389}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170kx8tdmb287fj3gzs4dhq3h83krvj:wechat-desktop-sender","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:59:01.638Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-jinhuadeng-wechat-desktop-sender/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":null},"readme":"Skill: WeChat Desktop Sender\n\nOwner: jinhuadeng\n\nSummary: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s...\n\nTags: latest:0.4.0\n\nVersion history:\n\nv0.4.0 | 2026-04-19T13:50:37.970Z | user\n\nAdd template-variable campaign workflow for CSV/JSON recipient lists plus rendered-message tracking and sample template dataset.\n\nv0.3.0 | 2026-04-19T13:39:19.617Z | user\n\nVersion 2 tracked delivery summaries: add per-recipient status, retry recommendation, sent_at, and top-level summary stats for batch and personalized sends.\n\nv0.2.0 | 2026-04-19T13:31:23.459Z | user\n\nAdd personalized serial send workflow, sample campaign file, and OpenClaw conversational routing guidance.\n\nv0.1.0 | 2026-04-19T13:27:32.612Z | user\n\nInitial release: single send, serial batch send, text verification, optional OCR verification for Windows WeChat desktop automation.\n\nArchive index:\n\nArchive v0.4.0: 14 files, 17660 bytes\n\nFiles: references/batch-send.md (1009b), references/personalized-send.md (1089b), references/sample-campaign.csv (88b), references/sample-template-campaign.csv (84b), references/single-send.md (877b), references/template-send.md (1009b), scripts/wechat_send_batch.py (5255b), scripts/wechat_send_campaign.py (5958b), scripts/wechat_send_hello.py (10319b), scripts/wechat_send_template_campaign.py (6819b), scripts/wechat_send.py (75b), skill-card.md (2464b), SKILL.md (4623b), _meta.json (140b)\n\nFile v0.4.0:SKILL.md\n\n---\nname: wechat-desktop-sender\ndescription: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, send the same message to multiple contacts/groups in serial batch mode, or send personalized messages where each recipient gets different content. Best for direct desktop WeChat messaging workflows like 文件传输助手 testing, one-to-one outreach, 串行群发, and名单驱动个性化发送. Not for browser WeChat,朋友圈 scraping, or reliable historical-message forwarding.\n---\n\n# wechat-desktop-sender\n\nUse this skill for **Windows 微信桌面端发消息** workflows.\n\n## What this skill provides\n\nBundled scripts:\n\n- `scripts/wechat_send.py` — formal single-send command entry\n- `scripts/wechat_send_hello.py` — core implementation (open WeChat, search chat, send, verify)\n- `scripts/wechat_send_batch.py` — serial batch sender for multiple contacts/groups\n- `scripts/wechat_send_campaign.py` — personalized serial sender (different message per contact)\n- `scripts/wechat_send_template_campaign.py` — template-variable sender (same template, different row values)\n\n## Quick start\n\nInstall dependencies:\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\n> `pytesseract` is optional. Install it only if OCR verification is needed.\n\n## Single send\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\nUseful flags:\n\n```bash\npython scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\n## Serial batch send\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\nOr from file:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Personalized send\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Template-variable send\n\n```bash\npython scripts/wechat_send_template_campaign.py --csv template_contacts.csv --template \"{name}你好，我是Koi，关于{company}这边和你打个招呼。\" --verify-title\n```\n\n## Recommended workflow\n\n1. Ensure WeChat desktop is logged in\n2. Test on `文件传输助手` first\n3. Use single-send for one contact/group\n4. Use batch-send for serial outreach\n5. Check `wechat_automation_logs/` for logs and summaries\n\n## Verification model\n\nCurrent verification layers:\n\n1. UI element location succeeded\n2. Message was sent through the input box\n3. Window text verification checks whether the message text appears in current WeChat window\n4. Optional OCR verification if `--ocr-verify` is enabled and OCR deps are installed\n\nTreat this as **practical desktop automation**, not a cryptographic delivery guarantee.\n\n## Boundaries\n\nDo not claim support for these unless separately extended:\n\n- Moments / 朋友圈 scraping\n- Reliable historical message forwarding\n- Multi-window true parallel sending\n- Full desktop social graph extraction\n\n## Files and outputs\n\nBy default, scripts create logs under:\n\n```text\nwechat_automation_logs/\n```\n\nOutputs may include:\n\n- run logs\n- failure screenshots\n- control-tree dumps\n- batch summary JSON files\n\n## OpenClaw workflow usage\n\nOnce this skill is installed, the user can express intent conversationally and the agent should route to the correct script:\n\n- “给张三发一句话：今晚 8 点开会” → use single-send\n- “给这 20 个人发同一条消息” → use batch-send\n- “按这份名单分别发不同文案” → use personalized-send\n- “按这份名单套一个模板变量群发” → use template-variable send\n\nPreferred operational pattern:\n\n1. Normalize the recipient list and message payload\n2. If one recipient and one message → `scripts/wechat_send.py`\n3. If many recipients and same message → `scripts/wechat_send_batch.py`\n4. If many recipients and different messages → `scripts/wechat_send_campaign.py`\n5. If many recipients share one template with per-row fields → `scripts/wechat_send_template_campaign.py`\n6. Report success count, verification count, retry recommendations, and log/summary paths back to the user\n\n## When to read more\n\nFor detailed CLI usage and arguments, read:\n\n- `references/single-send.md`\n- `references/batch-send.md`\n- `references/personalized-send.md`\n- `references/template-send.md`\n\nFile v0.4.0:_meta.json\n\n{\n  \"ownerId\": \"kn7426qzrqeqycqpd47m5285v1834c44\",\n  \"slug\": \"wechat-desktop-sender\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1776606637970\n}\n\nFile v0.4.0:references/batch-send.md\n\n# Batch Send\n\n## Direct contacts list\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\n## Contacts from file\n\nCreate `contacts.txt` with one contact/group per line.\n\n```text\n张三\n李四\n文件传输助手\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Main flags\n\n- `--message` required\n- `--delay` per-chat UI step delay\n- `--between` pause between contacts\n- `--verify-title` verify current title\n- `--stop-on-error` stop immediately on failure\n- `--log-dir` custom log directory\n\n## Output\n\nThe script writes logs plus a summary JSON under `wechat_automation_logs/`.\n\nVersion 2 summary structure includes:\n\n- `summary.total`\n- `summary.success`\n- `summary.failed`\n- `summary.verified`\n- `summary.retry_recommended`\n- per-recipient fields like:\n  - `status` (`sent_verified` / `sent_unverified` / `failed`)\n  - `retry_recommended`\n  - `sent_at`\n  - `error`\n\nFile v0.4.0:references/personalized-send.md\n\n# Personalized Send\n\nUse `scripts/wechat_send_campaign.py` when each contact needs a different message.\n\n## CSV format\n\nCreate a UTF-8 CSV file with at least `contact,message` columns.\n\n```csv\ncontact,message\n张三,你好张三，今晚 8 点开会。\n李四,你好李四，资料我已经发你了。\n文件传输助手,这是给自己做测试的消息。\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\n```\n\n## JSON format\n\n```json\n[\n  {\"contact\": \"张三\", \"message\": \"你好张三，今晚 8 点开会。\"},\n  {\"contact\": \"李四\", \"message\": \"你好李四，资料我已经发你了。\"}\n]\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Notes\n\n- Uses the same desktop WeChat send path as single-send and batch-send\n- Runs in serial order\n- Writes a summary JSON to `wechat_automation_logs/`\n- Supports `--stop-on-error` if the run should abort on first failure\n- Version 2 summary JSON adds `status`, `retry_recommended`, `sent_at`, and top-level aggregate summary\n\nFile v0.4.0:references/single-send.md\n\n# Single Send\n\n## Install\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\nIf OCR verification is needed, also install local Tesseract OCR and ensure `tesseract.exe` is in PATH.\n\n## Command\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\n## Main flags\n\n- `--to` target chat name\n- `--message` message body\n- `--delay` wait after each UI step\n- `--log-dir` custom log directory\n- `--dump-tree` dump WeChat control tree for debugging\n- `--verify-title` check current window title\n- `--ocr-verify` run OCR verification after send\n- `--no-screenshot` disable failure screenshot\n\n## Debug examples\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"调试测试\" --dump-tree --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\nFile v0.4.0:references/template-send.md\n\n# Template Variable Send\n\nUse `scripts/wechat_send_template_campaign.py` when all recipients share one template but each row provides different variable values.\n\n## CSV example\n\n```csv\ncontact,name,company\n文件传输助手,Koi,小文AI\n李义,义哥,Core突击龙虾\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_template_campaign.py --csv template_contacts.csv --template \"{name}你好，我是Koi，关于{company}这边和你打个招呼。\" --verify-title\n```\n\n## JSON example\n\n```json\n[\n  {\"contact\": \"文件传输助手\", \"name\": \"Koi\", \"company\": \"小文AI\"},\n  {\"contact\": \"李义\", \"name\": \"义哥\", \"company\": \"Core突击龙虾\"}\n]\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_template_campaign.py --json template_contacts.json --template \"{name}你好，我是Koi，关于{company}这边和你打个招呼。\" --verify-title\n```\n\n## Output\n\nVersion 2 output includes:\n- per-recipient rendered message\n- `missing_fields`\n- `status`\n- `retry_recommended`\n- `sent_at`\n- top-level aggregate summary\n\nFile v0.4.0:skill-card.md\n\n## Description:\n\nWindows WeChat desktop automation for opening chats and sending messages.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[jinhuadeng](https://clawhub.ai/user/jinhuadeng)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to drive Windows WeChat Desktop for single-recipient sends, serial batch sends, personalized recipient-list sends, and template-variable campaign sends. It is intended for accounts, chats, and recipient lists the user controls.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can send real outbound WeChat messages to many recipients.\n\nMitigation: Use only accounts and recipient lists you control, verify recipients before sending, test on File Transfer Assistant first, and treat batch modes as live messaging workflows.\n\nRisk: Message bodies, contact lists, screenshots, logs, and summary files may contain sensitive data.\n\nMitigation: Avoid confidential message bodies, keep contact files and logs private, and disable screenshots unless they are needed for troubleshooting.\n\nRisk: Desktop automation and text or OCR verification do not prove final message delivery.\n\nMitigation: Review success, verification, failure, and retry fields after each run and manually confirm important sends in WeChat.\n\n## Reference(s):\n\n- [Single Send](references/single-send.md)\n- [Batch Send](references/batch-send.md)\n- [Personalized Send](references/personalized-send.md)\n- [Template Variable Send](references/template-send.md)\n- [ClawHub Skill Page](https://clawhub.ai/jinhuadeng/skills/wechat-desktop-sender)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands, plus runtime logs and JSON summary files from the bundled scripts]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Batch and campaign modes may write per-recipient status, verification counts, retry recommendations, logs, screenshots, and control-tree dumps under wechat_automation_logs/.]\n\n## Skill Version(s):\n\n0.4.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.3.0: 10 files, 12587 bytes\n\nFiles: references/batch-send.md (1009b), references/personalized-send.md (1089b), references/sample-campaign.csv (88b), references/single-send.md (877b), scripts/wechat_send_batch.py (5255b), scripts/wechat_send_campaign.py (5958b), scripts/wechat_send_hello.py (10319b), scripts/wechat_send.py (75b), SKILL.md (4052b), _meta.json (140b)\n\nFile v0.3.0:SKILL.md\n\n---\nname: wechat-desktop-sender\ndescription: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, send the same message to multiple contacts/groups in serial batch mode, or send personalized messages where each recipient gets different content. Best for direct desktop WeChat messaging workflows like 文件传输助手 testing, one-to-one outreach, 串行群发, and名单驱动个性化发送. Not for browser WeChat,朋友圈 scraping, or reliable historical-message forwarding.\n---\n\n# wechat-desktop-sender\n\nUse this skill for **Windows 微信桌面端发消息** workflows.\n\n## What this skill provides\n\nBundled scripts:\n\n- `scripts/wechat_send.py` — formal single-send command entry\n- `scripts/wechat_send_hello.py` — core implementation (open WeChat, search chat, send, verify)\n- `scripts/wechat_send_batch.py` — serial batch sender for multiple contacts/groups\n- `scripts/wechat_send_campaign.py` — personalized serial sender (different message per contact)\n\n## Quick start\n\nInstall dependencies:\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\n> `pytesseract` is optional. Install it only if OCR verification is needed.\n\n## Single send\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\nUseful flags:\n\n```bash\npython scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\n## Serial batch send\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\nOr from file:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Personalized send\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Recommended workflow\n\n1. Ensure WeChat desktop is logged in\n2. Test on `文件传输助手` first\n3. Use single-send for one contact/group\n4. Use batch-send for serial outreach\n5. Check `wechat_automation_logs/` for logs and summaries\n\n## Verification model\n\nCurrent verification layers:\n\n1. UI element location succeeded\n2. Message was sent through the input box\n3. Window text verification checks whether the message text appears in current WeChat window\n4. Optional OCR verification if `--ocr-verify` is enabled and OCR deps are installed\n\nTreat this as **practical desktop automation**, not a cryptographic delivery guarantee.\n\n## Boundaries\n\nDo not claim support for these unless separately extended:\n\n- Moments / 朋友圈 scraping\n- Reliable historical message forwarding\n- Multi-window true parallel sending\n- Full desktop social graph extraction\n\n## Files and outputs\n\nBy default, scripts create logs under:\n\n```text\nwechat_automation_logs/\n```\n\nOutputs may include:\n\n- run logs\n- failure screenshots\n- control-tree dumps\n- batch summary JSON files\n\n## OpenClaw workflow usage\n\nOnce this skill is installed, the user can express intent conversationally and the agent should route to the correct script:\n\n- “给张三发一句话：今晚 8 点开会” → use single-send\n- “给这 20 个人发同一条消息” → use batch-send\n- “按这份名单分别发不同文案” → use personalized-send\n\nPreferred operational pattern:\n\n1. Normalize the recipient list and message payload\n2. If one recipient and one message → `scripts/wechat_send.py`\n3. If many recipients and same message → `scripts/wechat_send_batch.py`\n4. If many recipients and different messages → `scripts/wechat_send_campaign.py`\n5. Report success count, verification count, and log/summary paths back to the user\n\n## When to read more\n\nFor detailed CLI usage and arguments, read:\n\n- `references/single-send.md`\n- `references/batch-send.md`\n- `references/personalized-send.md`\n\nFile v0.3.0:_meta.json\n\n{\n  \"ownerId\": \"kn7426qzrqeqycqpd47m5285v1834c44\",\n  \"slug\": \"wechat-desktop-sender\",\n  \"version\": \"0.3.0\",\n  \"publishedAt\": 1776605959617\n}\n\nFile v0.3.0:references/batch-send.md\n\n# Batch Send\n\n## Direct contacts list\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\n## Contacts from file\n\nCreate `contacts.txt` with one contact/group per line.\n\n```text\n张三\n李四\n文件传输助手\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Main flags\n\n- `--message` required\n- `--delay` per-chat UI step delay\n- `--between` pause between contacts\n- `--verify-title` verify current title\n- `--stop-on-error` stop immediately on failure\n- `--log-dir` custom log directory\n\n## Output\n\nThe script writes logs plus a summary JSON under `wechat_automation_logs/`.\n\nVersion 2 summary structure includes:\n\n- `summary.total`\n- `summary.success`\n- `summary.failed`\n- `summary.verified`\n- `summary.retry_recommended`\n- per-recipient fields like:\n  - `status` (`sent_verified` / `sent_unverified` / `failed`)\n  - `retry_recommended`\n  - `sent_at`\n  - `error`\n\nFile v0.3.0:references/personalized-send.md\n\n# Personalized Send\n\nUse `scripts/wechat_send_campaign.py` when each contact needs a different message.\n\n## CSV format\n\nCreate a UTF-8 CSV file with at least `contact,message` columns.\n\n```csv\ncontact,message\n张三,你好张三，今晚 8 点开会。\n李四,你好李四，资料我已经发你了。\n文件传输助手,这是给自己做测试的消息。\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\n```\n\n## JSON format\n\n```json\n[\n  {\"contact\": \"张三\", \"message\": \"你好张三，今晚 8 点开会。\"},\n  {\"contact\": \"李四\", \"message\": \"你好李四，资料我已经发你了。\"}\n]\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Notes\n\n- Uses the same desktop WeChat send path as single-send and batch-send\n- Runs in serial order\n- Writes a summary JSON to `wechat_automation_logs/`\n- Supports `--stop-on-error` if the run should abort on first failure\n- Version 2 summary JSON adds `status`, `retry_recommended`, `sent_at`, and top-level aggregate summary\n\nFile v0.3.0:references/single-send.md\n\n# Single Send\n\n## Install\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\nIf OCR verification is needed, also install local Tesseract OCR and ensure `tesseract.exe` is in PATH.\n\n## Command\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\n## Main flags\n\n- `--to` target chat name\n- `--message` message body\n- `--delay` wait after each UI step\n- `--log-dir` custom log directory\n- `--dump-tree` dump WeChat control tree for debugging\n- `--verify-title` check current window title\n- `--ocr-verify` run OCR verification after send\n- `--no-screenshot` disable failure screenshot\n\n## Debug examples\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"调试测试\" --dump-tree --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\nArchive v0.2.0: 10 files, 11669 bytes\n\nFiles: references/batch-send.md (720b), references/personalized-send.md (985b), references/sample-campaign.csv (88b), references/single-send.md (877b), scripts/wechat_send_batch.py (3971b), scripts/wechat_send_campaign.py (4666b), scripts/wechat_send_hello.py (10319b), scripts/wechat_send.py (75b), SKILL.md (4052b), _meta.json (140b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: wechat-desktop-sender\ndescription: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, send the same message to multiple contacts/groups in serial batch mode, or send personalized messages where each recipient gets different content. Best for direct desktop WeChat messaging workflows like 文件传输助手 testing, one-to-one outreach, 串行群发, and名单驱动个性化发送. Not for browser WeChat,朋友圈 scraping, or reliable historical-message forwarding.\n---\n\n# wechat-desktop-sender\n\nUse this skill for **Windows 微信桌面端发消息** workflows.\n\n## What this skill provides\n\nBundled scripts:\n\n- `scripts/wechat_send.py` — formal single-send command entry\n- `scripts/wechat_send_hello.py` — core implementation (open WeChat, search chat, send, verify)\n- `scripts/wechat_send_batch.py` — serial batch sender for multiple contacts/groups\n- `scripts/wechat_send_campaign.py` — personalized serial sender (different message per contact)\n\n## Quick start\n\nInstall dependencies:\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\n> `pytesseract` is optional. Install it only if OCR verification is needed.\n\n## Single send\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\nUseful flags:\n\n```bash\npython scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\n## Serial batch send\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\nOr from file:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Personalized send\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Recommended workflow\n\n1. Ensure WeChat desktop is logged in\n2. Test on `文件传输助手` first\n3. Use single-send for one contact/group\n4. Use batch-send for serial outreach\n5. Check `wechat_automation_logs/` for logs and summaries\n\n## Verification model\n\nCurrent verification layers:\n\n1. UI element location succeeded\n2. Message was sent through the input box\n3. Window text verification checks whether the message text appears in current WeChat window\n4. Optional OCR verification if `--ocr-verify` is enabled and OCR deps are installed\n\nTreat this as **practical desktop automation**, not a cryptographic delivery guarantee.\n\n## Boundaries\n\nDo not claim support for these unless separately extended:\n\n- Moments / 朋友圈 scraping\n- Reliable historical message forwarding\n- Multi-window true parallel sending\n- Full desktop social graph extraction\n\n## Files and outputs\n\nBy default, scripts create logs under:\n\n```text\nwechat_automation_logs/\n```\n\nOutputs may include:\n\n- run logs\n- failure screenshots\n- control-tree dumps\n- batch summary JSON files\n\n## OpenClaw workflow usage\n\nOnce this skill is installed, the user can express intent conversationally and the agent should route to the correct script:\n\n- “给张三发一句话：今晚 8 点开会” → use single-send\n- “给这 20 个人发同一条消息” → use batch-send\n- “按这份名单分别发不同文案” → use personalized-send\n\nPreferred operational pattern:\n\n1. Normalize the recipient list and message payload\n2. If one recipient and one message → `scripts/wechat_send.py`\n3. If many recipients and same message → `scripts/wechat_send_batch.py`\n4. If many recipients and different messages → `scripts/wechat_send_campaign.py`\n5. Report success count, verification count, and log/summary paths back to the user\n\n## When to read more\n\nFor detailed CLI usage and arguments, read:\n\n- `references/single-send.md`\n- `references/batch-send.md`\n- `references/personalized-send.md`\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn7426qzrqeqycqpd47m5285v1834c44\",\n  \"slug\": \"wechat-desktop-sender\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1776605483459\n}\n\nFile v0.2.0:references/batch-send.md\n\n# Batch Send\n\n## Direct contacts list\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\n## Contacts from file\n\nCreate `contacts.txt` with one contact/group per line.\n\n```text\n张三\n李四\n文件传输助手\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Main flags\n\n- `--message` required\n- `--delay` per-chat UI step delay\n- `--between` pause between contacts\n- `--verify-title` verify current title\n- `--stop-on-error` stop immediately on failure\n- `--log-dir` custom log directory\n\n## Output\n\nThe script writes logs plus a summary JSON under `wechat_automation_logs/`.\n\nFile v0.2.0:references/personalized-send.md\n\n# Personalized Send\n\nUse `scripts/wechat_send_campaign.py` when each contact needs a different message.\n\n## CSV format\n\nCreate a UTF-8 CSV file with at least `contact,message` columns.\n\n```csv\ncontact,message\n张三,你好张三，今晚 8 点开会。\n李四,你好李四，资料我已经发你了。\n文件传输助手,这是给自己做测试的消息。\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\n```\n\n## JSON format\n\n```json\n[\n  {\"contact\": \"张三\", \"message\": \"你好张三，今晚 8 点开会。\"},\n  {\"contact\": \"李四\", \"message\": \"你好李四，资料我已经发你了。\"}\n]\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Notes\n\n- Uses the same desktop WeChat send path as single-send and batch-send\n- Runs in serial order\n- Writes a summary JSON to `wechat_automation_logs/`\n- Supports `--stop-on-error` if the run should abort on first failure\n\nFile v0.2.0:references/single-send.md\n\n# Single Send\n\n## Install\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\nIf OCR verification is needed, also install local Tesseract OCR and ensure `tesseract.exe` is in PATH.\n\n## Command\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\n## Main flags\n\n- `--to` target chat name\n- `--message` message body\n- `--delay` wait after each UI step\n- `--log-dir` custom log directory\n- `--dump-tree` dump WeChat control tree for debugging\n- `--verify-title` check current window title\n- `--ocr-verify` run OCR verification after send\n- `--no-screenshot` disable failure screenshot\n\n## Debug examples\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"调试测试\" --dump-tree --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\nArchive v0.1.0: 7 files, 8389 bytes\n\nFiles: references/batch-send.md (720b), references/single-send.md (877b), scripts/wechat_send_batch.py (3971b), scripts/wechat_send_hello.py (10319b), scripts/wechat_send.py (75b), SKILL.md (2865b), _meta.json (140b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: wechat-desktop-sender\ndescription: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, or send the same message to multiple contacts/groups in serial batch mode. Best for direct desktop WeChat messaging workflows like 文件传输助手 testing, one-to-one outreach, and串行群发. Not for browser WeChat,朋友圈 scraping, or reliable historical-message forwarding.\n---\n\n# wechat-desktop-sender\n\nUse this skill for **Windows 微信桌面端发消息** workflows.\n\n## What this skill provides\n\nBundled scripts:\n\n- `scripts/wechat_send.py` — formal single-send command entry\n- `scripts/wechat_send_hello.py` — core implementation (open WeChat, search chat, send, verify)\n- `scripts/wechat_send_batch.py` — serial batch sender for multiple contacts/groups\n\n## Quick start\n\nInstall dependencies:\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\n> `pytesseract` is optional. Install it only if OCR verification is needed.\n\n## Single send\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\nUseful flags:\n\n```bash\npython scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\n## Serial batch send\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\nOr from file:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Recommended workflow\n\n1. Ensure WeChat desktop is logged in\n2. Test on `文件传输助手` first\n3. Use single-send for one contact/group\n4. Use batch-send for serial outreach\n5. Check `wechat_automation_logs/` for logs and summaries\n\n## Verification model\n\nCurrent verification layers:\n\n1. UI element location succeeded\n2. Message was sent through the input box\n3. Window text verification checks whether the message text appears in current WeChat window\n4. Optional OCR verification if `--ocr-verify` is enabled and OCR deps are installed\n\nTreat this as **practical desktop automation**, not a cryptographic delivery guarantee.\n\n## Boundaries\n\nDo not claim support for these unless separately extended:\n\n- Moments / 朋友圈 scraping\n- Reliable historical message forwarding\n- Multi-window true parallel sending\n- Full desktop social graph extraction\n\n## Files and outputs\n\nBy default, scripts create logs under:\n\n```text\nwechat_automation_logs/\n```\n\nOutputs may include:\n\n- run logs\n- failure screenshots\n- control-tree dumps\n- batch summary JSON files\n\n## When to read more\n\nFor detailed CLI usage and arguments, read:\n\n- `references/single-send.md`\n- `references/batch-send.md`\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn7426qzrqeqycqpd47m5285v1834c44\",\n  \"slug\": \"wechat-desktop-sender\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1776605252612\n}\n\nFile v0.1.0:references/batch-send.md\n\n# Batch Send\n\n## Direct contacts list\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\n## Contacts from file\n\nCreate `contacts.txt` with one contact/group per line.\n\n```text\n张三\n李四\n文件传输助手\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Main flags\n\n- `--message` required\n- `--delay` per-chat UI step delay\n- `--between` pause between contacts\n- `--verify-title` verify current title\n- `--stop-on-error` stop immediately on failure\n- `--log-dir` custom log directory\n\n## Output\n\nThe script writes logs plus a summary JSON under `wechat_automation_logs/`.\n\nFile v0.1.0:references/single-send.md\n\n# Single Send\n\n## Install\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\nIf OCR verification is needed, also install local Tesseract OCR and ensure `tesseract.exe` is in PATH.\n\n## Command\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\n## Main flags\n\n- `--to` target chat name\n- `--message` message body\n- `--delay` wait after each UI step\n- `--log-dir` custom log directory\n- `--dump-tree` dump WeChat control tree for debugging\n- `--verify-title` check current window title\n- `--ocr-verify` run OCR verification after send\n- `--no-screenshot` disable failure screenshot\n\n## Debug examples\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"调试测试\" --dump-tree --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```","readmeExcerpt":"Skill: WeChat Desktop Sender Owner: jinhuadeng Summary: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s... Tags: latest:0.4.0 Version history: v0.4.0 | 2026-04-19T13:50:37.970Z | user Add template-variable campaign workflow for CSV/JSON recipient lists plus rendered-message tracking and sample template datase","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"pip install pywinauto pyperclip psutil pywin32 pillow pytesseract"},{"language":"bash","snippet":"python scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\""},{"language":"bash","snippet":"python scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify"},{"language":"bash","snippet":"python scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\""},{"language":"bash","snippet":"python scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\""},{"language":"bash","snippet":"python scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: wechat-desktop-sender\ndescription: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, send the same message to multiple contacts/groups in serial batch mode, or send personalized messages where each recipient gets different content. Best for direct desktop WeChat messaging workflows like 文件传输助手 testing, one-to-one outreach, 串行群发, and名单驱动个性化发送. Not for browser WeChat,朋友圈 scraping, or reliable historical-message forwarding.\n---\n\n# wechat-desktop-sender\n\nUse this skill for **Windows 微信桌面端发消息** workflows.\n\n## What this skill provides\n\nBundled scripts:\n\n- `scripts/wechat_send.py` — formal single-send command entry\n- `scripts/wechat_send_hello.py` — core implementation (open WeChat, search chat, send, verify)\n- `scripts/wechat_send_batch.py` — serial batch sender for multiple contacts/groups\n- `scripts/wechat_send_campaign.py` — personalized serial sender (different message per contact)\n- `scripts/wechat_send_template_campaign.py` — template-variable sender (same template, different row values)\n\n## Quick start\n\nInstall dependencies:\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\n> `pytesseract` is optional. Install it only if OCR verification is needed.\n\n## Single send\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\nUseful flags:\n\n```bash\npython scripts/wechat_send.py --to \"李义\" --message \"我是龙虾Koi，打个招呼。\" --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```\n\n## Serial batch send\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\nOr from file:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Personalized send\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Template-variable send\n\n```bash\npython scripts/wechat_send_template_campaign.py --csv template_contacts.csv --template \"{name}你好，我是Koi，关于{company}这边和你打个招呼。\" --verify-title\n```\n\n## Recommended workflow\n\n1. Ensure WeChat desktop is logged in\n2. Test on `文件传输助手` first\n3. Use single-send for one contact/group\n4. Use batch-send for serial outreach\n5. Check `wechat_automation_logs/` for logs and summaries\n\n## Verification model\n\nCurrent verification layers:\n\n1. UI element location succeeded\n2. Message was sent through the input box\n3. Window text verification checks whether the message text appears in current WeChat window\n4. Optional OCR verification if `--ocr-verify` is enabled and OCR deps are installed\n\nTreat this as **practical desktop automation**, not a cryptographic delivery guarantee.\n\n## Boundaries\n\nDo not claim support for these unless separately extended:\n\n- Moments / 朋友圈 scraping\n- Reliable historical message forwarding\n- Multi-window true parallel sending\n- Ful"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7426qzrqeqycqpd47m5285v1834c44\",\n  \"slug\": \"wechat-desktop-sender\",\n  \"version\": \"0.4.0\",\n  \"publishedAt\": 1776606637970\n}"},{"path":"references/batch-send.md","content":"# Batch Send\n\n## Direct contacts list\n\n```bash\npython scripts/wechat_send_batch.py --to \"张三,李四,文件传输助手\" --message \"晚上 8 点开会\"\n```\n\n## Contacts from file\n\nCreate `contacts.txt` with one contact/group per line.\n\n```text\n张三\n李四\n文件传输助手\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_batch.py --contacts-file contacts.txt --message \"晚上 8 点开会\"\n```\n\n## Main flags\n\n- `--message` required\n- `--delay` per-chat UI step delay\n- `--between` pause between contacts\n- `--verify-title` verify current title\n- `--stop-on-error` stop immediately on failure\n- `--log-dir` custom log directory\n\n## Output\n\nThe script writes logs plus a summary JSON under `wechat_automation_logs/`.\n\nVersion 2 summary structure includes:\n\n- `summary.total`\n- `summary.success`\n- `summary.failed`\n- `summary.verified`\n- `summary.retry_recommended`\n- per-recipient fields like:\n  - `status` (`sent_verified` / `sent_unverified` / `failed`)\n  - `retry_recommended`\n  - `sent_at`\n  - `error`"},{"path":"references/personalized-send.md","content":"# Personalized Send\n\nUse `scripts/wechat_send_campaign.py` when each contact needs a different message.\n\n## CSV format\n\nCreate a UTF-8 CSV file with at least `contact,message` columns.\n\n```csv\ncontact,message\n张三,你好张三，今晚 8 点开会。\n李四,你好李四，资料我已经发你了。\n文件传输助手,这是给自己做测试的消息。\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --csv contacts_messages.csv --verify-title\n```\n\n## JSON format\n\n```json\n[\n  {\"contact\": \"张三\", \"message\": \"你好张三，今晚 8 点开会。\"},\n  {\"contact\": \"李四\", \"message\": \"你好李四，资料我已经发你了。\"}\n]\n```\n\nRun:\n\n```bash\npython scripts/wechat_send_campaign.py --json contacts_messages.json --verify-title\n```\n\n## Notes\n\n- Uses the same desktop WeChat send path as single-send and batch-send\n- Runs in serial order\n- Writes a summary JSON to `wechat_automation_logs/`\n- Supports `--stop-on-error` if the run should abort on first failure\n- Version 2 summary JSON adds `status`, `retry_recommended`, `sent_at`, and top-level aggregate summary"},{"path":"references/single-send.md","content":"# Single Send\n\n## Install\n\n```bash\npip install pywinauto pyperclip psutil pywin32 pillow pytesseract\n```\n\nIf OCR verification is needed, also install local Tesseract OCR and ensure `tesseract.exe` is in PATH.\n\n## Command\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"你好\"\n```\n\n## Main flags\n\n- `--to` target chat name\n- `--message` message body\n- `--delay` wait after each UI step\n- `--log-dir` custom log directory\n- `--dump-tree` dump WeChat control tree for debugging\n- `--verify-title` check current window title\n- `--ocr-verify` run OCR verification after send\n- `--no-screenshot` disable failure screenshot\n\n## Debug examples\n\n```bash\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"调试测试\" --dump-tree --verify-title\npython scripts/wechat_send.py --to \"文件传输助手\" --message \"OCR测试\" --ocr-verify\n```"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s... Skill: WeChat Desktop Sender Owner: jinhuadeng Summary: Windows WeChat desktop automation for opening chats and sending messages. Use when the user wants to open 微信桌面端, search a contact or group, send a message, s... Tags: latest:0.4.0 Version history: v0.4.0 | 2026-04-19T13:50:37.970Z | user Add template-variable campaign workflow for CSV/JSON recipient lists plus rendered-message tracking and sample template datase","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1003,"uniquenessScore":47,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T18:16:33.999Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:59:01.640Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}