{"skill":{"slug":"xianyu-reply","displayName":"闲鱼自动回复助手","summary":"闲鱼自动回复助手。帮用户配置并运行闲鱼（Goofish）消息自动回复服务。用户只需提供浏览器 Cookie，即可持续监听闲鱼消息并用 AI 智能回复买家。当用户提到闲鱼、咸鱼、Goofish、二手交易自动回复、闲鱼客服机器人、闲鱼消息监控、闲鱼挂机回复等关键词时触发此 skill。即使用户只是说'帮我自动回复闲鱼...","description":"---\nname: xianyu-auto-reply\ndescription: \"闲鱼自动回复助手。帮用户配置并运行闲鱼（Goofish）消息自动回复服务。用户只需提供浏览器 Cookie，即可持续监听闲鱼消息并用 AI 智能回复买家。当用户提到闲鱼、咸鱼、Goofish、二手交易自动回复、闲鱼客服机器人、闲鱼消息监控、闲鱼挂机回复等关键词时触发此 skill。即使用户只是说'帮我自动回复闲鱼消息'或'我想让闲鱼自动回买家'，也应该触发。\"\nmetadata:\n  openclaw:\n    emoji: \"🐟\"\n    requires:\n      anyBins:\n        - python3\n        - python\n    install:\n      - kind: brew\n        formula: python@3\n        bins: [python3]\n---\n\n# 闲鱼自动回复助手\n\n帮用户快速搭建闲鱼消息监控 + AI 自动回复服务。\n\n## 运行机制\n\n本服务的完整工作流程：\n\n1. **Cookie 认证**：用户提供闲鱼网页版（goofish.com）的浏览器 Cookie，保存在本地 `~/.xianyu-agent/config.json`，不上传到任何服务器。\n2. **WebSocket 监听**：通过 WebSocket 连接闲鱼官方消息系统（`wss://wss-goofish.dingtalk.com`，这是闲鱼/Goofish 使用的钉钉 IM 基础设施），实时接收买家消息。\n3. **AI 生成回复**：收到买家消息后，调用本地已安装的 AI CLI 工具（`claude -p` 或 `openclaw agent`）生成卖家回复。买家消息、商品信息、对话历史作为 prompt 传入。\n4. **自动发送**：将 AI 生成的回复通过闲鱼消息系统发送给买家。\n5. **本地存储**：对话历史保存在本地 SQLite 数据库 `~/.xianyu-agent/data/chat_history.db`，商品信息缓存在同一数据库。\n\n**网络连接**：仅与闲鱼官方域名通信（`goofish.com`、`h5api.m.goofish.com`、`wss-goofish.dingtalk.com`、`passport.goofish.com`），不连接任何第三方服务。\n\n**依赖**：Python 3.8+、`websockets`、`requests`、以及 `claude` 或 `openclaw` CLI 工具。\n\n## 工作流程\n\n### 第一步：检查环境\n\n检查以下条件并告知用户缺少什么：\n\n```bash\npython3 --version 2>/dev/null || python --version 2>/dev/null\nwhich claude 2>/dev/null || which openclaw 2>/dev/null\nls ~/.xianyu-agent/config.json 2>/dev/null\n```\n\n需要满足：\n- Python 3.8+\n- 至少有 `claude` 或 `openclaw` 其中一个 CLI 工具\n- 如果工作目录已存在，检查 Cookie 是否有效\n\n检查完成后，告知用户环境状态，例如：\n- **Python**：已安装 3.x.x\n- **AI 工具**：已检测到 `claude` CLI / `openclaw`，可以用来生成智能回复\n- **配置文件**：已存在 / 需要首次设置\n\n### 第二步：Cookie 配置\n\n如果 `~/.xianyu-agent/config.json` 不存在或其中没有 Cookie，引导用户获取。\n\n读取 `references/cookie_guide.md` 了解详细步骤，然后用简洁友好的方式告诉用户：\n\n1. 用浏览器打开 https://www.goofish.com 并登录\n2. 按 F12 打开开发者工具\n3. 切到「网络 / Network」标签页\n4. 随便点一个请求，找到请求头里的 `Cookie` 字段\n5. 复制整个 Cookie 字符串，粘贴发过来\n\n当用户发来 Cookie 后：\n- Cookie 格式是 `key1=value1; key2=value2; ...`\n- 验证其中至少包含 `unb`（用户 ID）和 `_m_h5_tk`（Token）\n- 如果格式不对，友好提示重新复制\n\n### 第三步：初始化项目\n\nCookie 确认后：\n\n1. **创建工作目录**\n```bash\nmkdir -p ~/.xianyu-agent/{data,logs}\n```\n\n2. **复制脚本** — 从当前 skill 目录的 `scripts/` 复制到工作目录。使用 skill 的绝对路径（即这个 SKILL.md 文件所在目录下的 `scripts/`）：\n```bash\nSKILL_DIR=\"<skill绝对路径>\"\ncp \"$SKILL_DIR/scripts/xianyu_monitor.py\" ~/.xianyu-agent/\ncp \"$SKILL_DIR/scripts/xianyu_api.py\" ~/.xianyu-agent/\ncp \"$SKILL_DIR/scripts/xianyu_utils.py\" ~/.xianyu-agent/\ncp \"$SKILL_DIR/scripts/context_manager.py\" ~/.xianyu-agent/\ncp \"$SKILL_DIR/scripts/requirements.txt\" ~/.xianyu-agent/\n```\n\n3. **保存配置** — 使用 Write 工具写入 `~/.xianyu-agent/config.json`：\n```json\n{\n  \"cookie\": \"<用户提供的cookie>\",\n  \"created_at\": \"<当前ISO时间>\",\n  \"auto_reply\": true,\n  \"simulate_typing\": false,\n  \"heartbeat_interval\": 15,\n  \"message_expire_time\": 300000\n}\n```\n\n4. **安装依赖**\n```bash\ncd ~/.xianyu-agent && pip3 install -r requirements.txt\n```\n\n### 第四步：启动服务\n\n```bash\ncd ~/.xianyu-agent && python3 xianyu_monitor.py >> logs/monitor.log 2>&1 &\necho $! > ~/.xianyu-agent/monitor.pid\n```\n\n启动后告诉用户：\n- 服务已在后台运行，PID 保存在 `~/.xianyu-agent/monitor.pid`\n- 可以用 `tail -f ~/.xianyu-agent/logs/monitor.log` 查看实时日志\n- 收到买家消息后会自动生成回复并发送\n\n### 常用操作\n\n**查看日志：**\n```bash\ntail -50 ~/.xianyu-agent/logs/monitor.log\n```\n\n**查看服务状态：**\n```bash\nps -p $(cat ~/.xianyu-agent/monitor.pid 2>/dev/null) 2>/dev/null && echo \"运行中\" || echo \"已停止\"\n```\n\n**停止服务：**\n```bash\nkill $(cat ~/.xianyu-agent/monitor.pid 2>/dev/null) 2>/dev/null && echo \"已停止\" || echo \"服务未在运行\"\n```\n\n**重启服务：**\n先停止再启动（同第四步）。\n\n**更新 Cookie：**\n用户提供新 Cookie 后，更新 `~/.xianyu-agent/config.json` 中的 `cookie` 字段，然后重启服务。\n\n## AI 回复策略\n\n监控脚本内置了智能回复逻辑。它会自动检测可用的 AI CLI 工具（优先 `claude`，其次 `openclaw`），并用它来生成回复。\n\n每次收到买家消息时，传给 AI 的上下文包括：\n1. **商品信息**：名称、价格、描述、SKU\n2. **对话历史**：和该买家之前的聊天记录\n3. **当前消息**：买家刚发的内容\n\n回复的风格是：\n- 简短友好，像真人卖家在聊天，每句不超过 15 字，总字数不超过 50 字\n- 使用闲鱼平台常见用语（「全新」「可小刀」「包邮」等）\n- 不主动提及微信、QQ、支付宝等站外联系方式\n- 对 `[去支付]`、`[去评价]` 等系统消息自动忽略\n- 对试图套取身份/模型信息的问题不回复\n\n### 意图分类\n\n脚本会根据买家消息自动识别意图并调整回复风格：\n- **价格类**：含\"便宜\"、\"价\"、\"砍价\"、\"少点\"或金额数字 → 守住底线，梯度让步\n- **技术类**：含\"参数\"、\"规格\"、\"型号\"等 → 专业解答，通俗易懂\n- **默认类**：物流/售后/一般咨询 → 热情服务，引导下单\n- **无需回复**：提示词攻击、身份询问 → 跳过\n\n## 注意事项\n\n- Cookie 通常几天到几周会过期。服务报错 Cookie 失效时，需要用户重新获取\n- 触发闲鱼风控（滑块验证）时，需要用户在浏览器过验证后重新获取 Cookie\n- 聊天记录保存在 `~/.xianyu-agent/data/chat_history.db`（SQLite）\n- 在闲鱼 App 或网页版手动发送消息 `。`（中文句号）可以临时接管某个会话的回复\n","topics":["消息"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":1234,"installsAllTime":45,"installsCurrent":1,"stars":1,"versions":1},"createdAt":1773650576204,"updatedAt":1779078360178},"latestVersion":{"version":"1.0.0","createdAt":1773650576204,"changelog":"xianyu-auto-reply 1.0.0 – 首发上线！全流程自动化闲鱼消息 AI 智能回复。\n\n- 支持自动监控并智能回复闲鱼（Goofish）买家消息，无需人工值守\n- 环境自动检测：Python 3.8+ 和本地 AI CLI 工具（claude/openclaw）\n- 一步引导用户配置与验证闲鱼浏览器 Cookie，保障隐私仅本地存储\n- 全自动后台监听、AI 生成卖家短消息、实时发送，消息和商品数据本地 SQLite 留存\n- 便捷启动、日志查看、服务管理与 Cookie 更新指令\n- AI 自动区分买家意图，回复风格贴合闲鱼卖家习惯","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"sinabs","userId":"s17ecm49tta9zq26zwy66qz6yn885apz","displayName":"sinabs","image":"https://avatars.githubusercontent.com/u/1351257?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089915299}}