Automation

wechat-cli: boring automation is the point

wechat-cli sends a WeChat message to a chat by name through WebDriverAgent on a tethered iPhone. It is intentionally a single-file Python tool with no LLM in the loop.

That shape matters. Some automation work does not need a service, a scheduler, an agent, or a model. It needs a small command that performs the same mechanical task every time.

Keep the dependency surface small

For personal tools, the most valuable design choice is often what not to add. A smaller dependency surface is easier to audit, easier to run on a clean machine, and less likely to surprise you months later.

wechat-cli follows that principle: connect to the device automation layer, find the target chat, type the message, and send it.

Make the boring path reliable

The point is not to make chat automation glamorous. The point is to turn a repeated manual action into a predictable command while keeping enough visibility to debug device or UI changes.

Automation is most useful when it remains understandable after the novelty wears off.