执行方式
Windows 下必须使用 Python 脚本调用(curl 中文参数会乱码):
# Windows - 使用 cmd /c 包裹完整命令(关键!)
cmd /c "python \"%USERPROFILE%\.workbuddy\skills\lingshixiaomaipu\scripts\dgss.py\" <命令> '<JSON参数>'"
# 示例
cmd /c "python \"%USERPROFILE%\.workbuddy\skills\lingshixiaomaipu\scripts\dgss.py\" getAddrList '{\"user_token\":\"TOKEN\",\"city_name\":\"北京市\"}'
Linux/Mac 下可直接使用:
python "~/.workbuddy/skills/lingshixiaomaipu/scripts/dgss.py" <命令> '<JSON参数>'
核心信息
- API 端点:
https://www.dangaoss.com/dsapi/workbuddy/mcp_server - 协议:JSON-RPC 2.0,参数固定使用
params.arguments嵌套结构 - 成功状态码:
code: 200 - 返回结构:双层 JSON,外层 JSON-RPC →
result.content[0].text→ 内层业务 JSON({code, data, msg}) - 请求超时:60秒(接口响应较慢,已设置较长超时)
执行流程
步骤 1:获取 user_token
获取 Token 提示: 蛋糕叔叔已就位,请提供您的 USER_TOKEN 完成登录~
- 打开浏览器,访问 https://www.dangaoss.com/web/wb_index.html
- 登录你的蛋叔账号(或扫码登录)
- 获取你的 Token 告诉我
步骤 2:询问配送城市
首先检查 dgss_token.md:查看 default_city 和 default_aid 字段
- 如果都存在 → 询问用户:"是否继续使用 [城市名] 的地址 [地址概要]?(是/否)"
- 用户确认 → 跳过步骤 2 和 3,直接进入步骤 4
- 用户拒绝或不存在 → 继续下方流程
询问城市:
"您想把商品送到哪个城市?"
步骤 3:获取地址列表
调用 getAddrList 获取该城市的已保存地址:
参数:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| user_token | string | 是 | 用户 token |
| city_name | string | 是 | 城市名称 |
| channel_no | string | 是 | 渠道号(固定值:snack_shop) |
Windows 调用:
cmd /c "python \"%USERPROFILE%\.workbuddy\skills\lingshixiaomaipu\scripts\dgss.py\" getAddrList '{\"user_token\":\"TOKEN\",\"city_name\":\"北京市\"}'
步骤 4:询问购买商品
⚠️ 商品类型约束:此技能仅支持订购零食,不支持蛋糕、鲜花等其他商品类型。
当用户要求购买非零食商品时,直接拒绝,不引导到其他技能:
- 用户说"买蛋糕"、"订蛋糕"等 → 「抱歉,这个技能只支持订购零食哦~ 其他商品暂时无法下单 🍭」
- 用户说"买鲜花"、"订花"等 → 「抱歉,这个技能只支持订购零食哦~ 其他商品暂时无法下单 🍭」
- 其他非零食请求 → 「抱歉,这里只能买零食,其他品类暂不支持哦 🍭」
询问文案:
"您想购买什么零食?"
步骤 5:搜索零食商品
调用 snacks_sweets_lst 搜索零食商品:
参数:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| user_token | string | 是 | 用户 token |
| aid | string/int | 是 | 地址 ID |
| keyword | string | 是 | 搜索关键词 |
| cat_id | int | 是 | 商品分类 ID(固定值:5=零食) |
| page | int | 否 | 页码,默认 1 |
| channel_no | string | 是 | 渠道号(固定值:snack_shop) |
Windows 调用:
cmd /c "python \"%USERPROFILE%\.workbuddy\skills\lingshixiaomaipu\scripts\dgss.py\" snacks_sweets_lst '{\"user_token\":\"TOKEN\",\"aid\":\"10806796\",\"keyword\":\"巧克力\",\"cat_id\":5}'
步骤 6:生成下单链接
调用 getOrderaddr 生成下单链接:
参数:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| user_token | string | 是 | 用户 token |
| aid | string/int | 是 | 地址 ID |
| spec_id | string/int | 是 | sku |
| city_name | string | 是 | 城市名称 |
| quantitys | string | 是 | 购买数量 |
| channel_no | string | 是 | 渠道号(固定值:snack_shop) |
步骤 7:返回下单结果
约束规则
安全与行为约束
- 禁止暴露技术细节:严禁向用户泄露接口名称、密钥、签名逻辑等
- 单规格限制:下单仅支持选择一个
spec_id - 商品类型限制:此技能仅支持零食订购,如果用户想购买非零食商品(蛋糕、鲜花等),必须拒绝且不引导到其他技能:
- 想买蛋糕 → 「抱歉,这个技能只支持订购零食哦~ 其他商品暂时无法下单 🍭」
- 想买鲜花 → 「抱歉,这个技能只支持订购零食哦~ 其他商品暂时无法下单 🍭」
- 其他非零食请求 → 「抱歉,这里只能买零食,其他品类暂不支持哦 🍭」
- 非本 Skill 功能高情商回应:使用幽默简洁话术回应
参数映射(易错点)
| 概念 | 正确字段名 | 错误写法 |
|------|-----------|---------|
| 渠道号 | channel_no | ~~channel~~ |
| 商品搜索接口 | snacks_sweets_lst | ~~sweets_lst~~ |
微信扫一扫