DealBuddy 购物搭子

本地购物研究工具。整理淘宝、天猫、京东商品详情页的可见信息,生成选品报告。

v0.3.0MITPython >=3.12 + uv仅商品详情页

约 19 MB,从 GitHub Releases 分发。

简介

DealBuddy 购物搭子由 Chrome 采集扩展、本地 Web 工作台和 Agent Skill(MCP)组成。扩展在淘宝、天猫、京东的商品详情页上工作,把页面可见的商品信息整理成结构化数据:标题、页面价格、SKU、店铺、规格参数、详情图文字。详情图文字通过浏览器本地 OCR 提取,图片不上传。数据发到本机工作台后,工作台生成 Markdown 选品报告,可以继续追问。

LLM 是可选的。在工作台设置里配置 Provider 后才启用,默认用本地规则分析。

以下事项不在产品功能范围内:

  • 接入购物平台 API
  • 导出用户 Cookie
  • 绕过验证码
  • 进入购物车、结算、订单或支付页面

扩展只处理用户当前打开的页面。可以开启自动整理,但仍只作用于当前页,随时可关。

组成

数据从商品页流向扩展,扩展发到工作台,工作台生成报告。MCP 是给 Agent 用的接口。

商品页扩展工作台报告 / MCP

Chrome 采集扩展

输入
用户当前打开的淘宝、天猫或京东商品详情页。

扩展分两个阶段投递。第一阶段把页面可见字段(标题、价格、SKU、店铺、规格文字)发到工作台,几秒内可在商品列表看到。第二阶段在浏览器本地隐藏 iframe 中对详情长图执行 OCR,识别完成后覆盖更新同一条商品。

输出
结构化商品 JSON,发送到 http://127.0.0.1:8765/api/current/offers

扩展弹窗有三个按钮:整理当前商品信息复制 JSON重新整理。进度提示依次为「正在整理页面字段...」和「商品已送达工作台(共 N 个),正在本地识别详情图...」。

边界
只处理用户当前打开的页面。OCR 在浏览器本地执行,图片不上传到 DealBuddy 服务之外。

本地 Web 工作台

输入
扩展投递的商品数据。

工作台是一个只监听 127.0.0.1 的本地服务。包含会话管理、商品列表、选品报告和追问区。默认分析使用本地规则。工作台提示语为「默认仅本地分析。开启后只有追问会调用外部 Provider。」。

会话列表空状态:「还没有会话」。商品列表空状态:「等待商品投递」。

DealBuddy 本地工作台界面。左侧会话列表,中间选品报告与追问区,右侧商品列表。
本地 Web 工作台。左:会话;中:报告与追问;右:商品列表。
输出
Markdown 选品报告,含价格字段、匹配评分和采集时间。
边界
无账号体系。会话数据存 ~/.dealbuddy/sessions,配置存 ~/.dealbuddy/config.json

Agent Skill(MCP)

工作台同时提供本地 MCP endpoint:

POST http://127.0.0.1:8765/mcp

共 8 个工具:create_sessionlist_sessionsshow_sessionset_current_sessionadd_offerrefine_requirementsget_reportask_session

请求校验 Origin,只接受 localhost 来源。skills/dealbuddy 是 Agent Skill 集成材料。

报告

报告基于已采集商品生成,分为以下章节:最符合需求、最低预算、综合性价比、值得加预算、不推荐项。追问后报告末尾追加「追问记录」章节。

- 页面展示价:¥1274.15

① 详情页当前展示的价格

- 估算应付:¥1274.15

② 据页面可见优惠估算,非结算价

- 复核时间:2026-06-17T15:49:29+00:00

③ 采集该商品信息的时间

- 数据可信度:high

④ 值为 high、medium 或 low
  • ① 页面展示价:详情页当前展示的价格
  • ② 估算应付:据页面可见优惠估算,非结算价
  • ③ 复核时间:采集该商品信息的时间
  • ④ 数据可信度:值为 high、medium 或 low
选品报告「最符合需求」章节。数据采集于 2026-06-17,来源为天猫商品详情页。

价格口径

字段名含义
标价划线价或标签价格
页面展示价商品详情页当前展示的价格
可见优惠页面上明确显示的优惠信息
估算应付根据页面可直接解析的优惠估算的金额
优惠条件适用前提,如会员、地区、满减、国补或活动期限
复核时间扩展采集该商品信息的时间
数据可信度提取数据完整性评估,值为 high、medium 或 low
价格来自页面可见信息。估算应付只计算页面明确展示且可直接解析的优惠,不代表结算价格。

安装

需要 Python >=3.12、uv 和本机 Chrome。

  1. 下载扩展并解压

    下载 dealbuddy-capture-0.3.0.zip(约 19 MB),解压到任意目录。

  2. 加载到 Chrome

    打开 chrome://extensions,开启「开发者模式」,点击「加载已解压的扩展程序」,选择解压后的目录。

  3. 启动工作台

    git clone https://github.com/cyberchen1995/DealBuddy.git
    cd DealBuddy
    uv sync
    uv run dealbuddy web --port 8765

    浏览器打开 http://127.0.0.1:8765

数据边界

  • 工作台只监听 127.0.0.1,不接受外部网络连接
  • 无账号体系,无登录
  • 会话数据存 ~/.dealbuddy/sessions,配置存 ~/.dealbuddy/config.json
  • OCR 在浏览器本地隐藏 iframe 中执行,商品图片不上传到 DealBuddy 服务之外
  • LLM 默认关闭。配置 Provider 后,只有追问区的请求会发往外部模型
  • API Key 不出现在 API 响应、日志或仓库文件中,界面只显示脱敏状态
  • 扩展不读取购物平台 Cookie
  • MCP endpoint 只接受 localhost 来源

查看隐私政策

常见问题

支持哪些页面?

淘宝、天猫、京东的商品详情页。搜索结果页、活动页、购物车页不在处理范围内。

估算应付是结算价吗?

不是。估算应付只计算页面明确展示且可直接解析的优惠。实际结算可能受会员等级、地区、库存等因素影响。

必须配置 LLM 吗?

不需要。默认使用本地规则生成报告和回复追问。配置 Provider 后,追问区才会调用外部模型。

自动整理会批量采集吗?

不会。自动整理只作用于用户当前打开的页面,不会自动翻页或打开新标签。随时可在扩展弹窗中关闭。

MCP 可以远程访问吗?

不可以。MCP endpoint 校验请求 Origin,只接受 localhost 来源。