dsh-meituan:让 DSH 翻附近店、点到结算页的外卖点餐助手

前言

在 DSH 里做日常助手时,「吃什么、点哪家、怎么下单」往往还要自己切 App 或网页。若希望模型能根据口味筛店、读菜单、把购物车推到结算页,又不愿用伪造请求或改定位的方式绕过平台,就需要一套挂在真实浏览器上的工具链。dsh-meituan(仓库名 @local/dsh-meituan,社区目录 yuanstarstar/dsh-meituan)就是面向这一场景的联网工具插件:维护者为 yuanstarstar,当前版本 0.2.0,MIT 许可证。

下面介绍它做什么、怎么装、两条平台链路分别能走到哪一步。

这是什么

一句话:外卖点餐助手,支持京东秒送 / 京东外卖与美团外卖(h5);让 DSH 翻附近商家、按口味挑店,把餐点到结算页,付款由用户自己在页面上完成。

与「纯 API 拼装订单」不同,插件强调两种读法:

  • 无登录态(默认,推荐):用户 Edge 上的「DSH 点餐桥」扩展在页面里旁听,请求由页面自己发送与签名;插件只读结果、只做真实点击。不伪造请求、不换 UA、不改坐标。
  • 带登录态(旧路径):插件自起无头 Edge(CDP),cookie 存放在 data/browser-profile;美团链路曾主要走这条路径。
平台 状态 说明
京东秒送 / 京东外卖 可用 读商家、读菜单、把餐点到「提交订单」页
美团外卖(h5) 受限 代码完整,但网页端内容接口对登录账号返回 403;目前匿名可看首页列表

配送地址以平台账号里保存的地址为准,插件不修改;换送餐地点需在 App 或网页里改。

核心功能

工具一览

工具 作用
jd_pick 读附近商家,按口味打分,返回候选、理由与链接(可出二维码)
jd_menu 读某店菜单与价格
jd_order 把餐点到结算页:start(默认)/ read / view / checkout
jd_status 扩展是否连接、缓存店数与缓存时长
meituan_pick 美团:附近或关键词捞店、按口味排序
meituan_shops 美团:商家列表原样输出
meituan_menu 美团:进店读菜单
meituan_cart 美团:点菜方案(App 深链 + 二维码 + 网页菜单链接)
meituan_order 美团:电脑上下单(加菜 → 结算页 → 选地址 → 餐具)
meituan_login 美团:手机号 + 验证码登录 / 查状态 / 退出
meituan_taste 口味档案:读 / 改

代码层面对「立即支付 / 提交订单 / 付款 / 支付 / 确认支付」等按钮直接拒绝点击(lib/jd.js 的 UNSAFE 常量)。只到结算页,付款只能人工点。

京东链路(已跑通)

典型调用:

jd_order{ action:"start", storeId:"1018366591", dish:"香辣大鸡排+单根烤肠" }

经过上面的步骤,插件会在 Edge 里打开店铺页、定位菜品、点「去抢购」、在弹层选份数并确定,落到 hour.jd.com/mscenter/mspay/(标题「提交订单」),再把地址、送达时间、商品、金额、运费、优惠券与合计读回。之后可用 jd_order{ action:"read" } 再读结算页且不点击。

京东外卖页为 Taro 渲染,element.click() 无效;扩展内 realClick(chrome.debugger 发真实输入事件)配合滚动与坐标重算才能点动。

美团链路(受限)

meituan_pick、meituan_menu、meituan_cart、meituan_order 等逻辑完整,但登录账号访问部分 openh5 / openapi 接口会 403(响应头 X-Forbid-Code),匿名反而正常。网页购物车在浏览器 localStorage(cached_cart_data),与 App 购物车不通,点菜方案以深链与二维码为主,手机打开后加车。

本地数据

首次启动在插件目录下创建 data/(仓库本身不含 data/):

data/
  config.json        设置(headless / 预算 / 送餐地点 / 验证等待秒数)
  taste.json         口味档案
  session.json       美团登录态摘要(不含 cookie 本体)
  bridge.json        扩展桥的端口与 token(宿主自动生成)
  jd-cache.json      京东商家缓存(5 分钟有效)
  browser-profile/   无头 Edge profile(美团旧路径)
  qr/                生成的二维码 PNG

安装与启用

插件以当前 DSH 进程权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证。DeepSeek Harness 生态以「一切皆插件」为理念;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

1)装插件本体

plugin_manager action:"install_bundle" target:"<这个目录的绝对路径>"

装完后重启一次 DSH Desktop(宿主模块有 ESM 缓存,不重启仍为旧代码)。

2)装「DSH 点餐桥」扩展(京东链路必须)

  1. Edge 打开 edge://extensions,开启「开发人员模式」。
  2. 「加载解压缩的扩展」→ 选择包内 extension 目录。
  3. 扩展自动连接 http://127.0.0.1:45321(端口与 token 在 data/bridge.json,宿主首次启动时生成)。
  4. 修改扩展代码后,须在 edge://extensions 点「刷新」。

3)登录与验证

  • 京东:在 Edge 打开 京东外卖频道,用手机号登录。京东主站登录与外卖频道登录分离(外卖为 plogin.m.jd.com?appid=2193),两边各登一次。滑块验证需用户自行拖动。
  • 美团:设置页填手机号 → 发验证码 → 填码;受 403 限制,登录态链路目前不可用。

典型用法

对 DSH 说「帮我点个外卖」时,可先让模型调用 jd_pick 或 meituan_pick 结合 taste.json 口味档案筛店,再用 jd_menu / meituan_menu 看菜,最后用 jd_order 或 meituan_cart / meituan_order 推到结算或给出深链。

京东下单前可用 jd_status 确认扩展已连接;未连接时 jd_* 会报「京东扩展没连上」。

适用场景与注意

适合:已在 DSH Desktop 上使用联网工具、愿意用 Edge + 扩展(京东)或接受美团深链 / 匿名列表能力、只需要自动化到结算页、付款自己点的开发者或个人用户。

务必知晓:

  1. 京东扩展必须运行;改扩展后必须刷新。
  2. 美团网页端对登录账号 403,缓过来之前美团侧以深链 + 二维码为主。
  3. 风控(滑块、短信验证码)一律人工;插件最多弹窗等待。
  4. 不伪造请求、不改坐标;权限与数据均在本地插件目录,但仍需信任维护者与扩展行为。

结尾

dsh-meituan 把「选店、读菜单、推到结算页」收进 DSH 工具调用,并在支付环节硬性留给人。目录页:https://www.skillhub.cn/plugins/yuanstarstar/dsh-meituan;源码与 README:https://github.com/yuanstarstar/dsh-meituan。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye