闲鱼 (Goofish.com) 生产级 Agent-Native 终端适配器与数据自动化套件。
一键通过 OpenCLI 操作闲鱼十余年历史订单拉取、收藏夹分类与降价监控、全网多维度二手搜索、完整 IM 私信收发与历史回溯、个人在售列表、账号安全认证状态与 AI 消费推断报表。
- 👤 身份与主页画像:
whoami,personal,account(快速确认登录态、昵称、城市、粉丝、信用极好/优秀徽章与实人/支付宝认证) - 📦 十余年历史订单:
orders(支持十余年跨页滚动加载、全部/待付款/待发货/待收货/待评价/退款中状态筛选与关键词搜索) - ⭐ 收藏夹与降价监控:
favorites(支持分类Tab筛选、自动提取降价幅度如降¥179.00、在售与已失效状态) - 🛍️ 全网高级搜索:
search(支持综合/新降价/新发布/价格排序、--min-price/--max-price价格区间、8种商品标签筛选与分页跳转) - 💬 完整 IM 私信交互:
inbox: 驱动虚拟滚动列表向下持续加载历史联系人 (.rc-virtual-list-holder),提取交易状态与最新消息摘要。messages: 驱动逆序聊天容器向上自动滚动加载早期消息 (#msg-list-container),精准区分发送方、文本与链接。chat/reply: 向联系人发送或回复私信,内置--dry-run空跑模式确保安全。
- 📊 智能消费与看板:
reason(统计总流水、高频卖家、待发货预警与消费画像),stats(一站式资产与待办看板) - 📑 多格式数据导出:
export(一键将订单或收藏夹导出为交互式 HTML、Markdown 表格或 JSON 结构体)
# 1. 克隆本仓库到本地
git clone https://github.com/vecyang1/opencli-plugin-goofish.git
cd opencli-plugin-goofish
# 2. 安装适配器到 OpenCLI 本地覆盖目录 (同时注册 goofish 与 xianyu 两个站点名)
npm run install-adaptersinstall-adapters 会把 clis/goofish/*.js 以真实文件复制到 ~/.opencli/clis/goofish/,再生成一份 site: 行改为 'xianyu' 的副本到 ~/.opencli/clis/xianyu/,重启守护进程,并以 opencli list 同时列出两个站点的 whoami 作为回执。两点不能绕开:
- OpenCLI 不加载符号链接(v1.8.7
dist/src/cli.js的listJsFiles只认真实目录与真实.js文件),把~/.opencli/clis/goofish做成软链会让opencli goofish *整站消失且没有任何报错。 - 命令按适配器里的
site:字段注册,不按目录名。直接把site: 'goofish'的文件复制进xianyu/目录不会得到opencli xianyu *。
改完 clis/goofish/ 之后必须重新运行 npm run install-adapters,否则正在运行的命令仍是旧副本;npm test 里的漂移守卫会在两处不一致时变红。
opencli plugin install ./opencli-plugin-goofish为避免第三方扩展(如 1Password、网页爬虫、AI 助手侧边栏)向页面注入 iframe 导致 Chrome CDP 调试被跨域安全策略拦截(attach failed: Cannot access a chrome-extension:// URL),推荐使用专门的纯净 Profile:
- 主用 Profile: Chrome Profile 38 (
/Users/vecsatfoxmailcom/Library/Application Support/Google/Chrome/Profile 38,别名profile38,contextId:wg7phej7)。 - 启动与登录: 若该 Profile 未开启,执行:
open -na "Google Chrome" --args --profile-directory="Profile 38" https://www.goofish.com
- 首次使用扫码登录闲鱼;若命令返回
AUTH_REQUIRED,依提示扫码完成续期即可。
| 命令 | 类型 | 说明 | 核心参数与选项 |
|---|---|---|---|
opencli xianyu whoami |
[read] |
检查当前登录的闲鱼账号身份与信用等级 | -f table/json/yaml |
opencli xianyu personal |
[read] |
获取个人主页概览 (城市、粉丝、宝贝数、信用评级) | -f table/yaml |
opencli xianyu account |
[read] |
查看账号基本信息、实人认证、支付宝实名与身份信息 | -f table/yaml |
opencli xianyu orders |
[read] |
获取已买到的宝贝历史订单 (十余年翻页) | [query] [--limit 50] [--status 全部] [--all] |
opencli xianyu favorites |
[read] |
查看收藏夹宝贝与降价监控 | [query] [--tab 全部/降价宝贝/有效宝贝] [--limit 30] |
opencli xianyu published |
[read] |
获取个人发布在售与已卖出闲置列表 | [query] [--limit 30] [--all] |
opencli xianyu search |
[read] |
全网高级搜索二手商品 (地区/排序/价格/标签/降价/排除词) | <query> [--region 珠三角/广东] [--sort 综合/新发布/新降价/价格] [--min-price] [--max-price] [--exclude 关键词] [--tags] [--page-num 1] |
opencli xianyu suggest |
[read] |
获取闲鱼全网热搜词与搜索关键词联想补全 | [query] [--limit 20] |
opencli xianyu detail |
[read] |
获取指定商品详情与卖家信誉档案 | <item_id> |
opencli xianyu seller |
[read] |
深度分析卖家画像、在售SKU全貌、历史买家评价与砍价博弈策略 | <user_id/url/item_id> [--limit 20] |
opencli xianyu recommend |
[read] |
提取商品页面「为你推荐」相似竞品、隐藏好价替代品与生态SKU | <item_id/url> [--limit 20] [--filter all/same/gear/study] |
opencli xianyu inbox |
[read] |
获取私信联系人列表 (向下虚拟滚动加载) | [query] [--limit 30] [--scrolls 6] [--unread-only] |
opencli xianyu messages |
[read] |
读取指定联系人聊天消息历史 (向上逆向滚动) | <contact> [--limit 50] [--scrolls 5] |
opencli xianyu chat |
[write] |
向指定联系人发送或回复私信 | <contact> <message> [--dry-run] |
opencli xianyu reason |
[read] |
智能消费推断分析 (流水、高频卖家、待发货预警) | [query] [--limit 50] |
opencli xianyu stats |
[read] |
个人资产、订单待办与消息看板 | -f table/yaml |
opencli xianyu export |
[read] |
将订单或收藏导出为 Markdown、JSON 或 HTML 报表 | [type orders/favorites] [--output path] [--file-type md/html/json] |
opencli xianyu candidates |
[read] |
候选池管理与离线全文检索 (按品类/价格/卖家状态筛选) | [query] [--category <cat>] [--keyword <kw>] [--min-price N] [--max-price N] [--exclude-ghosted] [--limit 50] |
opencli xianyu reviews |
[read] |
卖家信誉与沟通记录评估 (活跃报价/已读不回/无货标注) | [seller] [--status responsive/ghosted/unfit] [--sync] [--limit 50] |
opencli xianyu pick |
[read/write] |
通用多品类候选聚合、正向必选过滤、风险卖家剔除与最优解推荐 | [target nexg2_nylon/ugreen_hub/sony_a7m4/all] [--require 词1,词2] [--exclude 词1,词2] [--min-price N] [--max-price N] [--limit 20] |
opencli xianyu watch |
[read/write] |
实时/定时监听新上架宝贝与降价动态 (8大硬件原型配件过滤、低价地板拦截与推送式实时真理库同步) | [query] [--category <cat>] [--require 词1,词2] [--price-floor N] [--min-price N] [--max-price N] [--interval 3600] [--iterations 1] |
xy-chat <cmd> |
[all] |
统一独立可执行命令行表面,与 OpenCLI 共享相同底层契约与 SSOT 数据库 | xy-chat <doctor/whoami/personal/orders/favorites/search/detail/seller/candidates/reviews/pick/watch/purge/sync/stats> |
opencli xianyu whoami -f table
opencli xianyu stats -f table# 检索最近 20 笔订单
opencli xianyu orders --limit 20 -f table
# 筛选包含「吉他」关键词的全部历史订单
opencli xianyu orders "吉他" --status 全部 -f table# 查看降价分类下的所有收藏
opencli xianyu favorites --tab 降价宝贝 -f table# 搜索「吉他」,按新发布排序,价格在 50~500 元之间,筛选「个人闲置」和「包邮」
opencli xianyu search "吉他" --sort new_publish --min-price 50 --max-price 500 --tags 个人闲置,包邮 --limit 10 -f table
# 区域精准筛选 (如: 筛选广东/珠三角地区的「nexg2」二手在售吉他)
opencli xianyu search "nexg2" --region 广东 --limit 10 -f table
# 获取平台实时热搜关键词或特定前缀联想词
opencli xianyu suggest -f table
opencli xianyu suggest "nexg" -f table
# 查看特定商品详情
opencli xianyu detail 1076198967894 -f yaml
# 深度分析卖家在售SKU全貌、历史买家评价与智能砍价博弈策略
opencli xianyu seller 4108054065 -f yaml
# 提取商品详情页「为你推荐」相似竞品与周边生态好价 SKU
opencli xianyu recommend 1076198967894 --filter same -f table# 列出最近 15 位联系人
opencli xianyu inbox --limit 15 -f table
# 向上加载回溯与「吉他小铺」的最近 20 条聊天记录
opencli xianyu messages "吉他小铺" --limit 20 -f table
# 空跑测试回复
opencli xianyu chat "吉他小铺" "你好,请问宝贝还在吗?" --dry-run -f table
# 正式发送私信
opencli xianyu chat "吉他小铺" "你好,请问宝贝还在吗?" -f table# 周期性监控「恩雅 NEXG 2N 尼龙款」,自动剔除钢弦版与配件,超预算不报警,推送 Webhook 与桌面横幅
xy-chat watch "nexg 2n 尼龙" \
--category nexg2_nylon \
--max-price 2500 \
--iterations 1 \
--diff-only \
--webhook http://127.0.0.1:9423/webhook/goofish \
--webhook-token "$WEBHOOK_BEARER_TOKEN" \
--notify
# 配合 Cadence 定时任务卡片 (CAD-20260913-goofish-nexg2n-watch)
python3 /Users/vecsatfoxmailcom/Documents/A-coding/vec-productivity-skills/scheduled-task-rescheduler/scripts/validate_cadence_card.py cadence-records.md# 导出历史订单为 Markdown 流水清单
opencli xianyu export orders --limit 50 --output ./my-orders.md
# 导出收藏夹为美观的 HTML 交互报表
opencli xianyu export favorites --file-type html --output ./my-favorites.html- 虚拟滚动技术适配 (Virtual List Downward Loading):
闲鱼联系人列表采用
.rc-virtual-list-holder进行动态 DOM 渲染。适配器自动在浏览器内执行分段步进滚动并派发scroll事件,动态捕获所有离屏联系人数据。 - 逆序消息流回溯 (Reverse Message Scroll Loading):
聊天窗口为
#msg-list-container逆向滚动容器。适配器通过对容器scrollTop = 0的精准触发,自动拉取历史聊天气泡并解析发送者角色、文字与富文本链接。 - SPA 状态自愈与认证校验 (Self-Healing Auth):
每个命令均包含轻量级会话嗅探机制,当检测到登录态失效时精准抛出
AuthRequiredError,引导用户在 Chrome 浏览器中无缝续期。 - 单一本源真理库与单向数据流 (SSOT & Unidirectional Data Flow):
本地持久化原生集成 Node.js 内置 SQLite (
node:sqlite)。无论通过opencli xianyu、opencli goofish还是xy-chat调用,所有操作统一按优先级解析至权威真理库(GOOFISH_DB>GOOFISH_DATA_DIR>~/data/goofish.db><cwd>/data/goofish.db),所有实时抓取动作自动单向写回真理库,杜绝数据分裂。 - 通用硬件原型与契约优先过滤 (Universal Archetypes & Contract-First):
数据入库遵循严格 Schema 契约校验与防降级更新守卫(
CASE WHEN);涵盖 8 大消费电子与数码硬件原型(吉他、扩展坞、相机、掌机、数位屏、耳机、PC硬件、手机平板)的专用配件过滤网;支持动态注册商品规则与正向必选词(--require);内置多图瑕疵提取与价格底线拦截守卫(51 个单元与对抗性测试用例 100% 覆盖通过)。
本项目采用 AGPL-3.0-or-later 协议开源。