Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Coding
Waimai Merchant
Try it外卖商家管理 Skill - 支持商家注册、商品管理、价格修改和配送时间设置。Use when user mentions merchant registration, product management, price updates, delivery time settings for food deliv...
What it does
1. **商家注册** - 商家信息录入、认证管理 2. **商品上传** - 添加新商品(名称、描述、图片、价格等) 3. **价格修改** - 更新商品价格 4. **配送承诺时间** - 设置/修改每个商品的承诺到货时间
The skill document
Waimai Merchant - 外卖商家管理
外卖商家管理系统,支持商家注册、商品管理、价格修改和配送承诺时间设置。
核心功能
- 商家注册 - 商家信息录入、认证管理
- 商品上传 - 添加新商品(名称、描述、图片、价格等)
- 价格修改 - 更新商品价格
- 配送承诺时间 - 设置/修改每个商品的承诺到货时间
Operational Upgrade Workflow
Use this skill as an operations console, not a real platform integration. Before changing local merchant or product state, classify the request and show the exact target record.
- Classify intent
- Merchant onboarding or review
- Menu/product creation
- Price change
- Delivery promise change
- Stock/sold-out action
- Suspension, rejection, deletion, or other high-risk admin action
- Preflight check
- Merchant id/status and product id/status
- Old value and proposed new value
- Reason, effective time, and rollback plan
- Whether the change affects active customer-facing listings
- Confirmation rule
- Require explicit confirmation in the current turn for delete, reject, suspend, bulk price updates, delivery-time shortening, and any operation that can hide products or change customer promises.
- Show a before/after diff for price, stock, delivery time, and status changes.
- Completion report
- Return the command run, changed ids, previous values, new values, and rollback command when available.
- State that data is local SQLite data and is not synchronized to Meituan, Ele.me, or any live delivery platform.
Preferred response shape:
Intent:
Preflight:
Action:
Result:
Rollback:
🔒 安全说明
权限声明
- 文件系统访问: 此技能需要读写本地数据库文件,用于存储商家和商品信息
- 数据库操作: 使用 SQLite 数据库 (
better-sqlite3) 进行数据持久化 - 网络访问: 无外部网络请求,所有操作在本地完成
安全边界
- ✅ 数据本地存储,不发送到外部服务器
- ✅ 使用标准 SQLite 数据库,无自定义二进制
- ✅ 代码开源可审计
- ❌ 不访问敏感系统文件
- ❌ 不执行特权操作
隐私保护
- 所有数据存储在
~/.waimai-merchant/目录下 - 不收集用户身份信息
- 不记录使用行为数据
安装依赖
cd ~/.openclaw/workspace/skills/waimai-merchant
npm install
npm run build
CLI 命令入口
商家管理命令
# 注册新商家
node dist/index.js merchant register -n "美味餐厅" -p "13800138000" -a "北京市朝阳区xxx街道"
# 列出所有商家
node dist/index.js merchant list
# 按状态筛选商家
node dist/index.js merchant list --status approved
# 查看商家详情
node dist/index.js merchant show
# 更新商家信息
node dist/index.js merchant update -n "新名称" -p "新电话"
# 认证商家
node dist/index.js merchant approve
# 拒绝商家
node dist/index.js merchant reject
# 暂停商家
node dist/index.js merchant suspend
# 删除商家
node dist/index.js merchant delete
# 搜索商家
node dist/index.js merchant search
商品管理命令
# 添加新商品
node dist/index.js product add -m -n "红烧肉" -p 38.00 -c "热菜" -t 30 -s 100
# 列出商品
node dist/index.js product list
# 按商家筛选商品
node dist/index.js product list -m
# 只显示上架商品
node dist/index.js product list -a
# 按分类筛选
node dist/index.js product list -c "热菜"
# 查看商品详情
node dist/index.js product show
# 更新商品信息
node dist/index.js product update -n "新名称" -d "新描述"
# 修改商品价格
node dist/index.js product price
# 修改配送时间
node dist/index.js product delivery
# 上架商品
node dist/index.js product activate
# 下架商品
node dist/index.js product deactivate
# 标记售罄
node dist/index.js product soldout
# 删除商品
node dist/index.js product delete
# 搜索商品
node dist/index.js product search
# 列出所有分类
node dist/index.js product categories
其他命令
# 查看数据存储位置
node dist/index.js data
# 显示帮助
node dist/index.js --help
node dist/index.js merchant --help
node dist/index.js product --help
数据结构
商家 (Merchant)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | INTEGER | 主键 |
| name | TEXT | 商家名称 |
| phone | TEXT | 联系电话(唯一) |
| TEXT | 电子邮箱 | |
| address | TEXT | 商家地址 |
| business_license | TEXT | 营业执照号 |
| contact_person | TEXT | 联系人姓名 |
| status | TEXT | 状态:pending/approved/rejected/suspended |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
商品 (Product)
| 字段 | 类型 | 说明 |
|---|---|---|
| id | INTEGER | 主键 |
| merchant_id | INTEGER | 商家ID(外键) |
| name | TEXT | 商品名称 |
| description | TEXT | 商品描述 |
| price | REAL | 当前价格 |
| original_price | REAL | 原价 |
| image_url | TEXT | 商品图片URL |
| category | TEXT | 商品分类 |
| delivery_time | INTEGER | 配送承诺时间(分钟) |
| stock | INTEGER | 库存数量 |
| status | TEXT | 状态:active/inactive/sold_out |
| created_at | DATETIME | 创建时间 |
| updated_at | DATETIME | 更新时间 |
数据存储
数据存储在: ~/.waimai-merchant/
merchant.db- SQLite 数据库文件
使用流程
商家入驻流程
- 注册商家: 使用
merchant register录入基本信息 - 等待审核: 商家状态为
pending - 审核通过: 管理员使用
merchant approve通过认证 - 开始营业: 商家可以添加商品
商品管理流程
- 添加商品: 使用
product add创建商品 - 设置价格: 初始价格可在添加时设置,后续用
product price修改 - 设置配送时间: 初始配送时间在添加时设置,后续用
product delivery修改 - 上架销售: 使用
product activate将商品上架 - 日常管理: 根据库存情况使用
product soldout或product deactivate
技术栈
- 语言: TypeScript / Node.js
- 数据库: SQLite (better-sqlite3)
- CLI 框架: Commander.js
- 样式: Chalk
扩展计划
以下功能为后续迭代方向:
- Web 管理界面
- 订单管理功能
- 数据统计报表
- API 接口开发
- 与 waimai-ai.ai 网站集成
🚀 First-Success Path
30秒快速上手:三步管理外卖商家
- 注册商家 — 运行
node dist/index.js merchant register -n "店名" -p "电话" -a "地址" - 添加商品 — 运行
node dist/index.js product add -m <商家ID> -n "菜品名" -p 价格 -c "分类" -t 配送时间(分钟) - 上架营业 — 运行
node dist/index.js product activate <商品ID>,让商品对顾客可见
体验完整流程:注册 → 审核通过 → 添加商品 → 上架 → 查看商家信息
📝 Sample Prompts
示例 1:商家注册
用户输入:
帮我注册一个新外卖商家,店名叫"深夜食堂",电话13800138000,地址在北京市朝阳区望京SOHO
期望输出:
✅ 商家注册成功!
商家信息:
━━━━━━━━━━━━━━━━━━
ID: 1
店名: 深夜食堂
电话: 13800138000
地址: 北京市朝阳区望京SOHO
状态: ⏳ pending(待审核)
━━━━━━━━━━━━━━━━━━
下一步:联系管理员审核通过后,你就可以添加商品了。
命令建议:
• 查看商家详情:`merchant show 1`
• 管理员审核:`merchant approve 1`
示例 2:添加商品
用户输入:
给深夜食堂(商家ID=1)加一道菜:红烧牛腩饭,38元,热菜类,配送承诺30分钟,库存100份
期望输出:
✅ 商品添加成功!
商品信息:
━━━━━━━━━━━━━━━━━━
ID: 1
名称: 红烧牛腩饭
价格: ¥38.00
分类: 热菜
配送时间: 30分钟
库存: 100份
状态: ❌ inactive(未上架)
━━━━━━━━━━━━━━━━━━
下一步:上架商品使其对顾客可见:
`product activate 1`
示例 3:修改价格
用户输入:
深夜食堂的红烧牛腩饭(商品ID=1)价格涨到42元
期望输出:
✅ 价格已更新!
商品: 红烧牛腩饭
原价: ¥38.00
现价: ¥42.00(+¥4.00)
更新时间: 2026-06-16 23:01
📊 你可以用 `product list -m 1` 查看该商家的全部商品和价格
示例 4:商家审核
用户输入:
审核通过深夜食堂(商家ID=1)的入驻申请
期望输出:
✅ 商家已审核通过!
商家: 深夜食堂
状态: pending → ✅ approved
商家现在可以:
• 添加商品(`product add`)
• 上架商品(`product activate`)
• 管理配送时间(`product delivery`)
📋 查看所有待审核商家:`merchant list --status pending`
示例 5:配送时间调整
用户输入:
把红烧牛腩饭(商品ID=1)的配送承诺时间改成25分钟
期望输出:
✅ 配送时间已更新!
商品: 红烧牛腩饭
原配送时间: 30分钟
新配送时间: 25分钟(-5分钟)
💡 缩短配送时间可提升顾客下单转化率,建议结合实际出餐能力设置,避免超时。
如需批量调整某商品的所有规格,可用 `product update 1 -d "配送时间下调至25分钟"`
📋 Real Task Examples
| 场景 | 用户输入示例 | 技能输出要点 |
|---|---|---|
| 新商家入驻 | "我想开个外卖店,需要怎么注册?" | 商家注册命令 + 填写信息模板 + 审核流程说明 + 审核后操作指引 |
| 菜品上架 | "新店刚开张,帮我加上8道菜" | 批量添加商品 → 设置分类/价格/配送时间 → 上架 → 确认库存 |
| 价格调整 | "最近原材料涨价,红烧肉从48涨到55" | 更新价格 → 确认历史价格可追溯 → 提示影响客单价 |
| 配送优化 | "厨房效率提高了,想把所有热菜的配送时间缩短5分钟" | 逐一或批量修改配送时间 → 确保不低于安全阈值 → 确认变更 |
| 商家管理 | "看看我们店里哪些菜下架了" | 按状态筛选商品 → 下架/售罄标注 → 查看原因 → 建议上架策略 |
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Site audit, content writing, and competitor analysis for organic search rankings.
More from harrylabsj
Browse all skillsCross-platform price compare for Taobao vs JD, PDD, Vipshop with match-scored buy/wait/avoid calls.
Get a clear order, switch, add, wait, or skip call on a Meituan deal from visible fees, ETA, reviews, and threshold math.
Evaluate Pinduoduo deals before you commit — subsidies, group-buy rules, seller risk, and refund terms in one pass.
Diagnose skill bottlenecks and turn practice logs into a targeted next session.
Get plain-Chinese explanations of routine health checkup reports with abnormal items grouped and prioritized.
Plan Freshippo (盒马鲜生) shopping with freshness checks, delivery-slot advice, and a manual order handoff.