微信机器人 Skills
Go to file
2026-09-17 21:24:48 +08:00
.vscode feat: openai image 2.5 2026-09-14 18:24:41 +08:00
skills fix: 优化发送消息技能 2026-09-17 21:24:48 +08:00
tests fix: 优化发送消息技能 2026-09-17 21:24:48 +08:00
.gitignore fix: js -> ts 2026-06-02 23:55:34 +08:00
eslint.config.cjs fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00
package.json fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00
pyrightconfig.json fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00
README.md fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00
requirements-dev.txt fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00
ruff.toml fix: 消除代码静态类型警告 2026-09-13 12:56:56 +08:00

wechat-robot-skills

微信机器人 Skills

开发检查

使用 Python 3.12 和 Node.js 24+,在仓库根目录运行:

python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-dev.txt
npm install
npm run check

检查覆盖所有 Python、JavaScript、TypeScript 脚本及测试,包含 Ruff、Pyright、TypeScript 和 ESLint;类型错误、未使用代码及检查警告会导致命令失败。VS Code / Pylance 请选择 .venv/bin/python 作为解释器,以使用相同的依赖和类型信息。

系统自动注入的环境变量

  • ROBOT_WECHAT_CLIENT_PORT: 机器人客户端服务端口,可用于在 SKILL 脚本直接调用客户端接口 http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/xxxxx

  • ROBOT_ID: 机器人实例 ID

  • ROBOT_CODE: 机器人实例编码

  • MYSQL_HOST: mysql 地址

  • MYSQL_PORT: mysql 端口

  • MYSQL_USER: mysql 账号

  • MYSQL_PASSWORD: mysql 密码

  • ROBOT_REDIS_DB: 机器人的 Redis DB

  • ROBOT_WX_ID: 机器人的微信 ID

  • ROBOT_FROM_WX_ID: 微信消息来源(群聊 ID 或者好友微信 ID)

  • ROBOT_SENDER_WX_ID: 微信消息发送人的微信 ID

  • ROBOT_MESSAGE_ID: 微信消息 ID

  • ROBOT_REF_MESSAGE_ID: 如果是引用消息,则是引用的消息的 ID

发送图片的时候可以调用 Agent 接口

  1. 发送远程图片地址
[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1//robot/message/send/image/url

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "image_urls": ["{{imageurl}}"]
}

  1. 发送本地图片路径
[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1//robot/message/send/image/local

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "file_path": "{{file_path}}"
}

发送视频的时候可以调用 Agent 接口

[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/video/url

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "video_urls": ["{{videourl}}"]
}

发送语音的时候可以调用 Agent 接口

[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/voice

说明:
该接口用于上传语音文件并发送给指定微信用户或群聊。
请求方式为 multipart/form-data,支持 .amr、.mp3、.wav 格式,单个文件大小不能超过 50MB。

表单参数:
- to_wxid: 接收方微信 ID,必填
- voice: 语音文件,必填

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "voice": "@/path/to/voice.amr"
}

Agent 发送文本消息接口(可以 艾特/@/提及 某个人/某些人)

[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/text

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "content": "", // 你需要发送的文本内容
  "at": [], // 字符串数组,你要艾特的人的微信 id
}

Agent 发送表情消息接口

[POST] http://127.0.0.1:{ROBOT_WECHAT_CLIENT_PORT}/api/v1/robot/message/send/emoji

请求体 Body:

{
  "to_wxid": "{{ROBOT_FROM_WX_ID}}",
  "Md5": "xxxxxxxo", // 表情 md5
  "TotalLen": 263, // 表情长度
}