面向私信交易场景的 DealAgent MVP。 当前采用「前端聊天模拟 + 后端 Agent/Skill 编排 + 本地 OpenClaw 网关」架构,先跑通订房交易闭环,再逐步替换为真实商家系统接口。
Demo Video:https://youtu.be/kUxgUIaNJ0k
一个在小红书私信场景完成“询价 → 信息匹配 → 收集 → 支付 → 订单确认”的轻量 Agent 原型。
目标
- 支持小红书私信触达后的自动询价受理。
- 提取时间、房型、人数、预算等关键信息并补齐缺失项。
- 生成支付链接并确认订单。
MVP 执行路径
- 触达:用户通过小红书私信发起询价。
- 匹配:Agent 提取时间/房型意图,收集信息。
- 托管:调用支付 API 生成支付链接,用户付款,订单确认。
- 履约:模拟前台确认入住,自动结算收益给商家。
端口与入口约定
- 前端演示入口(默认):
http://localhost:3000POST /api/openclaw/chat(聊天入口)POST /webhook/*、POST /mock/*、GET /mock/*(前端代理到后端)
- 后端直连接口(默认):
http://localhost:3100POST /agent/chatPOST /webhook/inquiryPOST|GET /mock/*POST|GET /skills/booking/*
Mock Service Layer(Webhook)
- 演示入口(前端代理):
POST http://localhost:3000/webhook/inquiry - 验收入口(后端直连):
POST http://localhost:3100/webhook/inquiry - 目的:模拟“小红书私信事件”回调给 Agent。
示例请求:
{
"platform": "xiaohongshu",
"message_id": "msg_123",
"user": {
"id": "u_456",
"nickname": "小红书用户"
},
"text": "想订3月10-12号,双人房,有窗,预算800/晚",
"timestamp": "2026-03-05T08:30:00Z"
}期望响应(Agent 技能输出):
{
"status": "received",
"extracted": {
"check_in": "2026-03-10",
"check_out": "2026-03-12",
"room_type": "double",
"budget_per_night": 800,
"guests": 2
},
"missing": ["phone"],
"reply": "好的,请问方便留下手机号用于确认吗?",
"next_action": "collect_missing_fields"
}Agent 技能响应规则(MVP)
- 解析文本,提取时间、房型、人数、预算、联系方式等字段。
- 如果关键信息缺失,返回
missing列表并给出追问话术。 - 如果信息齐全,生成订单草稿并请求支付链接。
- 状态机最小化:
collect_missing_fields→create_payment_link→confirm_order。
Mock 支付 API(可替换真实商家支付)
- 生成支付链接(前端代理):
POST http://localhost:3000/mock/payment/link - 生成支付链接(后端直连):
POST http://localhost:3100/mock/payment/link
示例请求:
{
"order_id": "ord_789",
"amount": 1600,
"currency": "CNY",
"description": "双人房 2026-03-10 至 2026-03-12"
}示例响应:
{
"order_id": "ord_789",
"payment_url": "http://localhost:3100/mock/payment/pay/ord_789",
"expires_at": "2026-03-05T09:30:00Z",
"status": "pending"
}- 支付确认(前端代理):
POST http://localhost:3000/mock/payment/confirm - 支付确认(后端直连):
POST http://localhost:3100/mock/payment/confirm
示例请求:
{
"order_id": "ord_789",
"paid": true,
"paid_at": "2026-03-05T08:40:00Z"
}示例响应:
{
"order_id": "ord_789",
"status": "paid"
}备注
- 当前为“无平台直连”的最小可用原型,重点验证信息收集与支付链路。
- 后续可将 Mock 支付替换为真实商家支付/订单系统,并接入真实平台消息通道。
- 唯一主线必须保持:平台私信 -> Agent -> Skill -> 后端业务接口 -> Agent -> 平台私信。
- 后端是业务权威层:意图判定、状态机、订单/库存/支付/退款规则全部在后端实现。
- 前端只负责展示与输入:包含聊天 UI、平台切换、用户切换与会话模拟;不承载 Skill 规则和业务编排。
- Skill 必须可插拔:通过注册表与 Agent-Skill 映射管理,支持一个 Agent 对应多个 Skill,支持后续扩展。
- OpenClaw 连接以本地网关为准:默认使用 localhost,不依赖公网链路。
- MVP 允许 Mock,但接口契约按“可替换真实商家系统”设计,避免一次性演示代码。
- 交易链路优先确定性:订房相关流程由 Skill + 后端接口驱动;模型文案仅作补充,不得伪造状态。
- 库存、订单、支付状态必须单一来源于后端;前端仅消费并展示后端返回结果。
- 契约优先:
SKILL.md、API 入参与出参是协作边界,变更需同步文档与调用方。 - 能简则简:不引入非必要队列、重型中间层或前端业务分叉逻辑。
- 验收以可运行为准:至少通过 typecheck/lint 与关键 E2E 路径(询价->锁单->支付->履约/退款)。
- 提交与合并要求可追溯:冲突显式解决、主线保持可运行、临时测试文件不得进入主分支。