前言¶
在 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 點餐橋」擴展(京東鏈路必須)¶
- Edge 打開
edge://extensions,開啓「開發人員模式」。 - 「加載解壓縮的擴展」→ 選擇包內
extension目錄。 - 擴展自動連接
http://127.0.0.1:45321(端口與 token 在data/bridge.json,宿主首次啓動時生成)。 - 修改擴展代碼後,須在
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 + 擴展(京東)或接受美團深鏈 / 匿名列表能力、只需要自動化到結算頁、付款自己點的開發者或個人用戶。
務必知曉:
- 京東擴展必須運行;改擴展後必須刷新。
- 美團網頁端對登錄賬號 403,緩過來之前美團側以深鏈 + 二維碼爲主。
- 風控(滑塊、短信驗證碼)一律人工;插件最多彈窗等待。
- 不僞造請求、不改座標;權限與數據均在本地插件目錄,但仍需信任維護者與擴展行爲。
結尾¶
dsh-meituan 把「選店、讀菜單、推到結算頁」收進 DSH 工具調用,並在支付環節硬性留給人。目錄頁:https://www.skillhub.cn/plugins/yuanstarstar/dsh-meituan;源碼與 README:https://github.com/yuanstarstar/dsh-meituan。