Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (weiclaw) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
weiclaw
快速开始 · 全模态 · 多媒体协议 · 多 Agent · 主动发送 · 自定义 Agent
中文 | English
⭐ 如果这个项目对你有帮助,请给个 Star!
全网首个支持微信与任何 AI Agent 全模态双向通信的开源项目 —— 文本、图片、语音、视频、文件,发送和接收全覆盖。
特性
- 🔌 零依赖接入 —
npx一条命令,无需 clone、无需配置 - 🧠 Agent 无关 — 支持任何 OpenAI 兼容 API(Codex / Gemini / Claude / OpenCode / 自建)
- 📡 全模态 — 文本、图片、语音、视频、文件,双向全覆盖
- 🤖 多 Agent — 同时接入多个 Agent,
@路由切换 - ⌨️ 打字指示器 — Agent 思考时显示"对方正在输入"
- 📤 主动发送 API — Agent 可推送多条消息,模拟真人打字节奏
全模态支持矩阵
| 模态 | 微信 → Agent | Agent → 微信 |
|---|---|---|
| 📝 文本 | ✅ | ✅ |
| 📷 图片 | ✅ 自动识别 | ✅ HD 原图 |
| 🎤 语音 | ✅ 语音转文字 | ✅ 语音气泡 |
| 🎬 视频 | ✅ 自动接收 | ✅ 带缩略图 |
| 📄 文件 | ✅ 提取内容 | ✅ 可下载 |
| 💬 引用消息 | ✅ 自动提取引用媒体 | — |
已支持的 Agent / 工具
| Agent | 接入方式 | 安装 |
|---|---|---|
| ⌬ OpenCode | examples/opencode/ 模板 |
npm i -g opencode-ai |
| 🤖 OpenAI Codex | --codex |
npm i -g @openai/codex |
| 💎 Google Gemini | --gemini |
npm i -g @google/gemini-cli |
| 🧬 Claude Code | --claude |
npm i -g @anthropic-ai/claude-code |
| 🐾 OpenClaw | --openclaw |
npm i -g openclaw |
| 🔗 任何 OpenAI 兼容 API | 直接传 URL | — |
| 📡 ACP 协议 Agent | --agent name=acp://... |
— |
快速开始
# 选你喜欢的 Agent:
npx weiclaw --codex # OpenAI Codex
npx weiclaw --gemini # Google Gemini
npx weiclaw --claude # Claude Code
npx weiclaw --openclaw # OpenClaw
# 或用 examples 模板接入更多 Agent:
cd examples/opencode && node server.mjs # OpenCode(含免费模型)
# 或直接传 URL:
npx weiclaw http://your-agent:8000/v1首次使用:终端弹出二维码 → 微信扫码 → 完成。之后自动复用登录。
环境依赖
# 1. Node.js >= 22
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
nvm install 22
# 2. Python 3 + pip
brew install python3 # macOS
apt install python3 python3-pip # Linux
# 3. ffmpeg
brew install ffmpeg # macOS
apt install ffmpeg # Linux
# 4. pilk
pip install pilk原理
微信用户 ←→ 腾讯 ilinkai API ←→ weiclaw ←→ 你的 Agent (HTTP)直接调用腾讯 ilinkai 接口收发微信消息,无中间层、无逆向、无网页版。Agent 只需暴露一个 OpenAI 兼容的 HTTP 接口。
接入自己的 Agent
任何语言,暴露 POST /v1/chat/completions 即可:
@app.post("/v1/chat/completions")
def chat(request):
message = request.json["messages"][-1]["content"]
reply = your_agent(message)
return {"choices": [{"message": {"role": "assistant", "content": reply}}]}然后:npx weiclaw http://your-agent:8000/v1
多媒体协议
Agent 回复中包含特定格式即可自动发送多媒体:
| 类型 | Agent 回复格式 | 说明 |
|---|---|---|
| 图片 |  |
支持 URL、本地路径、data URI |
| 语音 | [audio:路径或URL] |
MP3/WAV/OGG,需 ffmpeg + pilk |
| 视频 | [video:路径或URL] |
需 ffmpeg |
| 文件 | [file:路径或URL] |
任意文件类型 |
图片接收(微信 → Agent)遵循 OpenAI Vision API:
{
"messages": [{
"role": "user",
"content": [
{ "type": "text", "text": "这是什么?" },
{ "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,..." } }
]
}]
}示例:image-test.mjs · voice-test.mjs · video-test-local.mjs · file-test.mjs
Agent 模板:claude-code · opencode · openai
多 Agent 模式
同时接入多个 Agent,@ 前缀路由。支持 OpenAI 格式和 ACP 协议:
npx weiclaw \
--agent codex=http://localhost:3001/v1 \
--agent gemini=http://localhost:3002/v1 \
--agent bee=acp://localhost:8000/chat \
--default codex| 微信消息 | 效果 |
|---|---|
你好 |
发给默认 Agent |
@codex 写个排序 |
路由到 Codex |
@gemini 审查代码 |
路由到 Gemini |
@list |
查看所有 Agent |
@切换 gemini |
切换默认 |
主动发送 API
Bridge 启动时会在 localhost:9099 暴露 HTTP API,Agent 可主动推送多条消息(模拟真人打字节奏):
curl -X POST http://localhost:9099/api/send \
-H "Content-Type: application/json" \
-d '{"to": "user_id", "content": "嗯……"}'to— 微信用户 ID(bridge 调 agent 时通过user字段传入)content— 支持和 Agent 回复相同的格式(纯文本、、[audio:path]等)- 用
--port PORT自定义端口
用途:Agent 对一条消息可分多段回复,控制发送间隔:
import requests, time
def send(to, text):
requests.post("http://localhost:9099/api/send", json={"to": to, "content": text})
send(user_id, "嗯……")
time.sleep(1.5)
send(user_id, "让我想想")
time.sleep(2)
# 最后一段作为正常 response 返回凭证
登录凭证保存在 ~/.weiclaw/credentials.json,删除即可重新登录。
Star History
如果这个项目帮到了你,请给个 ⭐ Star,这是对我们最大的支持!