Skip to content

基于 LLM 的闲鱼平台智能客服 Agent,支持自动回复、知识库、价格议价、聊天记录等功能。

License

Notifications You must be signed in to change notification settings

wangxpych/GoofishAgent

Repository files navigation

GoofishAgent - 闲鱼智能客服 Agent

An AI agent for automated customer service on Goofish (XianYu) platform powered by LLM.

基于 LLM 的闲鱼平台智能客服 Agent,支持自动回复、知识库、价格议价、聊天记录等功能。

Demo


⚠️ 免责声明(重要)

🚫 仅供学习研究使用

  • 本项目仅供学习交流和技术研究,不得用于任何商业用途
  • 使用本项目需自行承担一切风险和后果
  • 作者不对使用本项目造成的任何损失或法律责任负责

⚖️ 平台规则合规

  • 使用脚本自动回复违反闲鱼平台规定,可能导致:

    • 账号被限制或封禁
    • 商品被下架
    • 交易受限
    • 其他平台处罚
  • 请遵守《闲鱼用户协议》和《闲鱼社区规范》

  • 建议仅在测试环境或个人学习环境中使用

📋 使用本项目即表示您:

  1. ✅ 已充分了解并接受上述风险
  2. ✅ 同意自行承担所有责任
  3. ✅ 不会将本项目用于商业用途
  4. ✅ 遵守相关法律法规和平台规定

快速开始

1. 安装依赖

pnpm install
#
npm install

2. 配置环境变量

复制 .env.example 并创建 .env 文件:

cp .env.example .env

然后编辑 .env 文件,填写必填配置项(详见 .env.example 中的说明)。

两种 LLM 配置方式

  1. 使用 Ollama(免费):安装 Ollama,拉取模型后使用本地 API
  2. 使用在线 API:如通义千问、OpenAI 等兼容 OpenAI API 的服务

💡 推荐 Ollama 模型:qwen2.5:7b, deepseek-r1:8b, llama3.1:8b

3. 初始化数据库

npx prisma migrate dev

4. 启动项目

npm run dev

核心功能

✅ 自动回复

  • 实时监听:实时监听闲鱼聊天消息
  • 智能生成:基于 LLM 智能生成回复
  • 上下文对话:支持多轮对话,记忆历史消息
  • 商品信息:自动读取商品标题、描述、价格等信息
  • 意图识别:自动识别用户意图(议价、咨询、售后等)
  • 知识库:实现了简单的知识库功能,目前需要自己添加

💡 技术说明:本项目使用的闲鱼 API 接口来源于网络公开资源,基于逆向工程获得。仅供学习研究使用。

💰 价格议价

  • 智能判断议价意图
  • 梯度让步策略
  • 价值强调引导
  • 促成交易转化

🔧 技术咨询

  • 参数解读转化
  • 场景化描述
  • 产品对比分析

📝 聊天记录

  • 自动保存所有对话记录到 .txt 文件
  • 按用户和商品分类存储
  • 包含商品信息、对话时间等元数据

📚 知识库系统

  • 支持自定义知识库文件
  • 自动加载 prompts/knowledge_*.txt 文件
  • 可添加物流、售后、产品等各类知识

🤖 AI 智能判断

  • AI 自动判断能力范围
  • 遇到无法回答的问题自动跳过
  • 记录跳过原因到日志

💡 使用建议

📝 完善商品信息(重要)

AI 回复的质量很大程度取决于商品信息的完整性。建议在发布商品时:

1. 商品标题

✅ 好的标题:Apple AirPods Pro 2代 主动降噪 无线蓝牙耳机 全新国行
❌ 差的标题:耳机

2. 商品描述

✅ 好的描述:
全新未拆封 Apple AirPods Pro 2代
• 主动降噪功能,沉浸式音质
• 续航时间:6小时(单次),30小时(充电盒)
• 支持无线充电、防水防汗
• 国行正品,支持官方保修1年
• 包邮,顺丰快递,24小时内发货

❌ 差的描述:
全新的,很好用

3. 补充知识库

如果商品描述不够详细,可以在 prompts/knowledge_*.txt 中补充:

# 创建产品知识库
cat > prompts/knowledge_product.txt << 'EOF'
【AirPods Pro 2代 产品知识】

▲核心功能
- 主动降噪:可降低环境噪音最高2倍
- 通透模式:可听到周围环境声音
- 空间音频:支持动态头部追踪

▲续航时间
- 单次使用:6小时(开启降噪)
- 充电盒总续航:30小时
- 快充:充电5分钟可用1小时

▲适用场景
- 通勤路上:降噪效果好,隔绝地铁噪音
- 运动健身:防水防汗,不易掉落
- 办公学习:降噪专注,音质清晰
EOF

这样 AI 就能结合商品信息和知识库,给出准确、详细的回复。

自定义配置

修改提示词

编辑 prompts/system_prompt.txtprompts/base_rules.txt 文件:

你是一位资深的电商卖家...

【角色定位】
- 销售专家:...
- 技术顾问:...

【回复原则】
1. 简短直接:...

修改联系方式: 在 prompts/base_rules.txt 中找到【联系方式】部分,项目默认配置为合规内容

▲联系方式(测试过程中留下了电话号码被警告了)
- 如果用户询问联系方式、电话、微信等,请回复:「请在闲鱼站内沟通」

⚠️ 重要提醒:闲鱼平台严禁留下站外联系方式(微信、QQ、电话等),违规可能导致账号封禁。如果你仅用于个人学习测试,可以根据需求自行修改,但需自行承担风险

AI 回复判断规则(重要): 系统已在 prompts/base_rules.txt 中配置了 AI 回复判断规则:

  • 如果客户的问题超出 AI 能力范围,AI 会自动跳过回复
  • 如果客户发送的内容无法理解,AI 会自动跳过回复
  • 系统会记录"AI不知道如何回答,停止回答"到聊天日志和数据库
  • 你可以根据需求修改这些判断规则

添加知识库

prompts/ 目录创建 knowledge_*.txt 文件:

# 示例:添加售后知识库
cat > prompts/knowledge_aftersale.txt << 'EOF'
【售后政策】

▲退换货规则
- 7天无理由退货
- 非人为损坏支持换货
- 运费:买家承担来回运费

▲保修政策  
- 官方保修1年
- 人为损坏不保修
- 保修期内免费维修
EOF

知识库自动加载

  • 文件名以 knowledge_ 开头(推荐)
  • 重启项目后自动生效
  • 无需修改代码

知识库示例

  • knowledge_shipping.txt - 物流信息
  • knowledge_aftersale.txt - 售后政策
  • knowledge_product.txt - 产品知识

重要说明

⚠️ 人工干预提醒

本系统暂不支持检测人工是否干预聊天

  • 即使你在浏览器中打开了聊天窗口,AI 仍会继续自动回复
  • 如需人工接管某个会话,请暂停或关闭本系统
  • 建议在需要人工处理复杂问题时,手动停止程序

AI 智能判断机制

  • 系统已配置 AI 自动判断能力范围
  • 遇到无法回答的问题时,AI 会自动跳过回复
  • 跳过的情况会记录到聊天日志中
  • 你可以通过修改 prompts/base_rules.txt 调整判断规则

日志与记录

运行日志

所有运行日志直接输出到控制台,包括:

  • WebSocket 连接状态
  • 消息收发记录
  • Token 刷新状态
  • AI 跳过回复提示
  • 错误信息等

聊天记录

聊天记录自动保存在 chats/ 目录:

chats/
├── 用户A-商品名称.txt
├── 用户B-商品名称.txt
└── ...

聊天记录示例

数据库

聊天上下文和商品信息存储在 SQLite 数据库:

  • 位置: prisma/goofish.db
  • 表结构:
    • messages - 聊天消息
    • items - 商品信息缓存
    • bargain_counts - 议价次数

查看数据

使用 Prisma Studio 可视化查看:

npx prisma studio

或使用 SQLite 命令行:

sqlite3 prisma/goofish.db

# 查询最近10条消息
SELECT * FROM messages ORDER BY timestamp DESC LIMIT 10;

# 退出
.quit

常见问题

Cookie 过期怎么办?

系统会自动尝试刷新 Cookie,如果失败:

  1. 重新获取 Cookie(见快速开始)
  2. 更新 .env 文件中的 COOKIE
  3. 重启项目

如何调整回复风格?

编辑 prompts/system_prompt.txt

如何添加自动回复关键词?

在知识库中添加:

【自动回复关键词】

Q: 在吗
A: 在的,有什么需要咨询的吗?

Q: 包邮吗
A: 包邮的,全国大部分地区

Q: 什么时候发货
A: 当日下单当天发货

🤝 贡献

欢迎提交 Issue 和 Pull Request!

如果这个项目对你有帮助,欢迎 Star ⭐️

📧 联系方式

💡 有问题建议先查看 常见问题 或提交 Issue

📄 许可证

MIT License


⚠️ 再次提醒

本项目仅供学习研究,使用脚本自动回复违反闲鱼平台规定

使用本项目造成的任何后果(包括但不限于账号封禁、法律责任等),使用者需自行承担,作者不承担任何责任。

请遵守法律法规和平台规定,做一个守规矩的好公民! 🙏

About

基于 LLM 的闲鱼平台智能客服 Agent,支持自动回复、知识库、价格议价、聊天记录等功能。

Resources

License

Stars

Watchers

Forks