深夜提醒

现在是深夜,建议您注意休息,不要熬夜哦~

🏮 🏮 🏮

新年快乐

祝君万事如意心想事成!

2024 桐庐半程马拉松
00:00:00
时间
0.00
距离(公里)
--:--
配速
--
步频
--
心率 (bpm)
--
配速
步频
|
share-image
ESC

OpenClaw 自动化发朋友圈:解锁 Linux 微信新玩法

让 AI 助手帮你发朋友圈,解放双手的同时保持社交活跃。

引言

作为一名长期使用 Ubuntu 的开发者,微信在 Linux 上的体验始终是个痛点。虽然腾讯官方推出了 Linux 版微信,但相比 Windows/Mac 版本,功能仍然相对简陋,更别提 API 接口的开放了。

但作为一名 OpenClaw 的重度用户,我一直在思考:能否让 OpenClaw 帮我发朋友圈? 答案是肯定的。通过 GUI 自动化技术,我们可以让 OpenClaw 模拟人工操作,实现自动发朋友圈的功能。


技术方案选型

为什么不能直接调用 API?

微信 Linux 客户端并未提供官方 API,网页版微信也早已停止维护。因此我们无法像飞书那样直接调用接口发送消息。

GUI 自动化:xdotool

xdotool 是一个强大的 X11 自动化工具,可以:

  • 模拟鼠标点击和移动
  • 模拟键盘输入
  • 窗口管理(查找、激活、移动等)
  • 获取窗口几何信息

配合 xclip 处理中文输入,我们可以完美模拟人工操作流程。


实现方案

整体架构

用户指令 (自然语言)

OpenClaw Skill 解析

send-wechat-moments 脚本

xdotool 自动化操作

微信客户端发朋友圈

核心脚本设计

我创建了两个核心工具:

工具 功能
wechat-moments-config 校准屏幕坐标,保存配置文件
send-wechat-moments 执行发朋友圈的自动化流程

详细实现步骤

第一步:安装依赖

sudo apt-get update
sudo apt-get install -y xdotool xclip
  • xdotool: X11 自动化核心工具
  • xclip: 命令行剪切板工具,用于输入中文

第二步:校准坐标

由于每个人的屏幕分辨率和微信窗口位置不同,我们需要先校准关键位置的坐标:

~/.openclaw/tools/wechat-moments-config

这个交互式脚本会引导你完成以下步骤:

  1. 朋友圈图标位置 - 微信左侧栏的发现/朋友圈入口
  2. 相机按钮位置 - 朋友圈页面右上角的发表按钮
  3. 文本输入区域 - 文字输入框的位置
  4. 发布按钮位置 - 右上角的发表确认按钮

配置完成后,坐标会保存到 ~/.openclaw/tools/wechat-moments.conf

第三步:发朋友圈脚本

核心脚本 send-wechat-moments 的工作流程:

#!/bin/bash
# 1. 检查微信是否运行
# 2. 激活微信窗口
# 3. 点击朋友圈图标
# 4. 点击相机按钮
# 5. 输入文字内容(通过剪切板支持中文)
# 6. 添加图片(可选)
# 7. 点击发布按钮

关键代码片段 - 窗口激活:

# 多种方式查找微信窗口
WINDOW_ID=$(xdotool search --name "微信" 2>/dev/null | head -1)
if [ -z "$WINDOW_ID" ]; then
WINDOW_ID=$(xdotool search --name "WeChat" 2>/dev/null | head -1)
fi
if [ -z "$WINDOW_ID" ]; then
WINDOW_ID=$(xdotool search --class "WeChat" 2>/dev/null | head -1)
fi

# 激活并前置窗口
xdotool windowactivate "$WINDOW_ID"
xdotool windowraise "$WINDOW_ID"

关键代码片段 - 中文输入:

# 使用剪切板方式输入中文
echo -n "$TEXT" | xclip -selection clipboard
xdotool key ctrl+v

直接输入中文在 X11 自动化中是个难题,通过剪切板中转是最可靠的方式。


使用方式

命令行直接使用

# 发纯文字朋友圈
~/.openclaw/tools/send-wechat-moments -t "今天学习 OpenClaw,真有趣!"

# 发图文朋友圈
~/.openclaw/tools/send-wechat-moments -t "周末郊游" -i ~/Pictures/photo.jpg

集成到 OpenClaw

创建 Skill 配置文件 ~/.openclaw/skills/wechat-moments/SKILL.md

## 使用场景

当用户想要发朋友圈、发布文字到朋友圈、分享图片到朋友圈时。

## 示例

**User**: 帮我发条朋友圈,内容是"今天学习了新知识!"

**Command**:
```bash
~/.openclaw/tools/send-wechat-moments -t "今天学习了新知识!"

这样,你只需要对 OpenClaw 说:

> "帮我发条朋友圈,内容是今天跑步 10 公里,感觉棒极了!"

OpenClaw 就会自动调用脚本帮你发布。

---

## 实际演示

让我们看一个完整的交互流程:

用户: Kimi,帮我发一条朋友圈,配文”终于搞定了 OpenClaw 发朋友圈的功能!”

OpenClaw:
📱 正在激活微信窗口…
✓ 微信窗口已激活
📷 正在打开发布界面…
✓ 发布界面已打开
⌨️ 正在输入文字…
✓ 文字已输入
🚀 正在发布…
✓ 发布完成

✅ 朋友圈发布成功!
内容: 终于搞定了 OpenClaw 发朋友圈的功能!


![操作演示](https://file.awen.me/wechat-moments-demo.png)

---

## 注意事项与限制

### ⚠️ 使用时请注意

1. **发布过程中不要操作鼠标键盘**,否则自动化会中断
2. **微信窗口需要保持可见**,不能被其他窗口遮挡或最小化
3. **坐标是相对于屏幕的**,移动窗口或改变分辨率后需要重新配置
4. **中文依赖 xclip**,确保已正确安装

### 🔒 安全考虑

- 此方案仅在本地执行,不涉及微信账号密码上传到云端
- 所有操作都在用户已登录的微信客户端上进行
- 不会突破微信的安全限制,只是模拟人工点击

### 🐛 已知限制

- 需要保持微信客户端运行
- 如果微信界面有大的改版,可能需要更新坐标
- 无法获取发布结果的状态(是否成功、点赞数等)

---

## 进阶玩法

### 结合定时任务

你可以配合 cron 实现定时发朋友圈:

```bash
# 每天早上 8 点发一条早安朋友圈
0 8 * * * /home/wenjun/.openclaw/tools/send-wechat-moments -t "早安!$(date +%Y-%m-%d)" >> /tmp/moments.log 2>&1

结合 AI 生成内容

让 OpenClaw 先调用 AI 生成朋友圈文案,再自动发布:

用户: 帮我生成一条关于今天下雨的朋友圈,并发布

OpenClaw:
1. 调用 Gemini 生成文案 → "雨天的城市,别有一番韵味..."
2. 调用 send-wechat-moments 发布

多账号支持

如果你有多个微信账号,可以创建多个配置文件:

~/.openclaw/tools/send-wechat-moments -c ~/.openclaw/tools/wechat-moments-work.conf -t "工作号测试"
~/.openclaw/tools/send-wechat-moments -c ~/.openclaw/tools/wechat-moments-personal.conf -t "个人号测试"

完整代码

完整的脚本已上传到 GitHub Gist,你可以直接复制使用:

# 创建目录
mkdir -p ~/.openclaw/tools ~/.openclaw/skills/wechat-moments

# 下载配置工具
curl -o ~/.openclaw/tools/wechat-moments-config \
https://gist.githubusercontent.com/yourname/wechat-moments-config
chmod +x ~/.openclaw/tools/wechat-moments-config

# 下载主工具
curl -o ~/.openclaw/tools/send-wechat-moments \
https://gist.githubusercontent.com/yourname/send-wechat-moments
chmod +x ~/.openclaw/tools/send-wechat-moments

总结

通过 xdotool 和 OpenClaw 的结合,我们成功实现了在 Linux 环境下自动发朋友圈的功能。虽然这只是一个 GUI 自动化的 workaround,但在微信不提供官方 API 的情况下,这是一个实用且可靠的解决方案。

这个方案的核心价值在于:

  1. 自动化重复操作 - 解放双手
  2. AI 驱动 - 结合 OpenClaw 的自然语言理解能力
  3. 可扩展 - 可以进一步集成定时任务、AI 内容生成等

希望这篇分享对同样在 Linux 下使用微信的朋友有所帮助!


相关资源:

Happy hacking! 🚀

文章作者:阿文
文章链接: https://www.awen.me/post/openclaw-wechat-moments.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客

评论

0 条评论
😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️
您的评论由 AI 智能审核,一般1分钟内会展示,若不展示请确认你的评论是否符合社区和法律规范
加载中...

选择联系方式

留言反馈

😀😃😄 😁😅😂 🤣😊😇 🙂🙃😉 😌😍🥰 😘😗😙 😚😋😛 😝😜🤪 🤨🧐🤓 😎🥸🤩 🥳😏😒 😞😔😟 😕🙁☹️ 😣😖😫 😩🥺😢 😭😤😠 😡🤬🤯 😳🥵🥶 😱😨😰 😥😓🤗 🤔🤭🤫 🤥😶😐 😑😬🙄 😯😦😧 😮😲🥱 😴🤤😪 😵🤐🥴 🤢🤮🤧 😷🤒🤕 🤑🤠😈 👿👹👺 🤡💩👻 💀☠️👽 👾🤖🎃 😺😸😹 😻😼😽 🙀😿😾 👍👎👏 🙌👐🤲 🤝🤜🤛 ✌️🤞🤟 🤘👌🤏 👈👉👆 👇☝️ 🤚🖐️🖖 👋🤙💪 🦾🖕✍️ 🙏💅🤳 💯💢💥 💫💦💨 🕳️💣💬 👁️‍🗨️🗨️🗯️ 💭💤❤️ 🧡💛💚 💙💜🖤 🤍🤎💔 ❣️💕💞 💓💗💖 💘💝💟 ☮️✝️☪️ 🕉️☸️✡️ 🔯🕎☯️ ☦️🛐 🆔⚛️🉑 ☢️☣️📴 📳🈶🈚 🈸🈺🈷️ ✴️🆚💮 🉐㊙️㊗️ 🈴🈵🈹 🈲🅰️🅱️ 🆎🆑🅾️ 🆘 🛑📛 🚫💯💢 ♨️🚷🚯 🚳🚱🔞 📵🚭 ‼️⁉️🔅 🔆〽️⚠️ 🚸🔱⚜️ 🔰♻️ 🈯💹❇️ ✳️🌐 💠Ⓜ️🌀 💤🏧🚾 🅿️🈳 🈂🛂🛃 🛄🛅🛗 🚀🛸🚁 🚉🚆🚅 ✈️🛫🛬 🛩️💺🛰️