在 AI 大模型爆发的时代,每一个闲鱼卖家都值得拥有一个 7×24 小时不下线的智能客服。 本项目封装了闲鱼平台完整的消息通信能力,为开发者构建 AI 客服智能体提供可靠、稳定的底层 API 支撑。
用户私信 ──► [XianYuApis] ──► 你的 AI Agent(LLM / RAG / 规则引擎)──► 自动回复
▲ │
└──────────────── 发送消息 / 图片 ◄────────────────────────┘
闲鱼官方没有开放 IM 消息接口。想要接入 GPT、Claude、本地大模型来做智能客服,首先需要能稳定收发消息。XianYuApis 解决的正是这个前置问题:
- 逆向还原了闲鱼 WebSocket 私信协议(sign 签名 + base64 + Protobuf)
- 封装全部 HTTP 接口(sign 参数已解密)
- 提供统一的消息收发抽象层,开发者只需关注业务逻辑
你负责接 AI 大脑,我们负责打通闲鱼的神经。
| 模块 | 功能 | 状态 |
|---|---|---|
| HTTP API | 闲鱼所有 HTTP 接口(sign 签名已解密) | ✅ |
| WebSocket | 私信实时收发(sign + base64 + Protobuf 协议) | ✅ |
| 消息类型 | 文字、图片消息 | ✅ |
| 会话管理 | 获取全部历史聊天记录 | ✅ |
| 主动发送 | 主动向指定用户发消息 | ✅ |
| Token 维持 | 自动刷新登录态,常驻进程不掉线 | ✅ |
| 获取聊天记录 | 获取与指定用户的历史消息记录 | ✅ |
| 商品信息 | 获取商品详情 | ✅ |
| 媒体上传 | 上传图片并发送 | ✅ |
- XianyuAutoAgent — 基于本项目构建的闲鱼 AI 全自动客服智能体
欢迎提交你基于本项目构建的 AI 应用,PR 随时欢迎!
- Python 3.9+
- Node.js 18+(用于执行签名算法 JS)
pip install -r requirements.txt登录 goofish.com 后,从浏览器开发者工具中复制完整 Cookie 字符串,填入代码对应位置:
# goofish_live.py 底部
cookies_str = r'your_cookie_string_here'Cookie 必须是登录后的状态,否则无法获取消息。
python goofish_live.pyXianYuApis/
├── goofish_live.py # 主入口:WebSocket 消息监听 & 回复逻辑(在此接入 AI)
├── goofish_apis.py # HTTP API 封装(登录、刷新 Token、商品详情、上传媒体)
├── message/
│ ├── types.py # 消息类型定义(TextContent / ImageContent / AudioContent)
├── utils/
│ └── goofish_utils.py # 工具函数(sign 签名、Cookie 处理、消息解密)
├── static/
│ └── goofish_js_*.js # 逆向 JS(sign 签名核心算法)
├── requirements.txt
└── Dockerfile
在 goofish_live.py 的 handle_message 方法中替换回复逻辑即可:
async def handle_message(self, message, websocket):
# ... 解析 send_user_id, cid, send_message ...
# 原始 echo 回复(示例)
# reply = f'{send_user_name} 说了: {send_message}'
# 接入 AI 大模型(示例)
reply = await your_ai_agent(send_message) # GPT / Claude / Qwen / 本地模型
await self.send_msg(websocket, cid, send_user_id, make_text(reply))goofish_live.py是消息收发主入口,所有 AI 回复逻辑在此扩展goofish_apis.py包含 HTTP 接口模板,可按需添加其他接口
- 感谢 Star ⭐ 和 Follow,项目会持续更新
- 作者联系方式在主页,有问题随时联系
- 欢迎 PR 和 Issue,也欢迎关注作者其他项目
- 如果此项目对您有帮助,欢迎请作者喝一杯奶茶 ~~
如果你对爬虫和ai agent感兴趣,请加作者主页wx通过邀请加入群聊
ps: 请加群6,人满或者过期 issue | wx 提醒


