Skip to content

swen-chan/DealAgent

Repository files navigation

DealAgent

面向私信交易场景的 DealAgent MVP。 当前采用「前端聊天模拟 + 后端 Agent/Skill 编排 + 本地 OpenClaw 网关」架构,先跑通订房交易闭环,再逐步替换为真实商家系统接口。

Demo Video:https://youtu.be/kUxgUIaNJ0k

DealAgent MVP ℹ️

一个在小红书私信场景完成“询价 → 信息匹配 → 收集 → 支付 → 订单确认”的轻量 Agent 原型。

目标

  • 支持小红书私信触达后的自动询价受理。
  • 提取时间、房型、人数、预算等关键信息并补齐缺失项。
  • 生成支付链接并确认订单。

MVP 执行路径

  1. 触达:用户通过小红书私信发起询价。
  2. 匹配:Agent 提取时间/房型意图,收集信息。
  3. 托管:调用支付 API 生成支付链接,用户付款,订单确认。
  4. 履约:模拟前台确认入住,自动结算收益给商家。

端口与入口约定

  • 前端演示入口(默认):http://localhost:3000
    • POST /api/openclaw/chat(聊天入口)
    • POST /webhook/*POST /mock/*GET /mock/*(前端代理到后端)
  • 后端直连接口(默认):http://localhost:3100
    • POST /agent/chat
    • POST /webhook/inquiry
    • POST|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_fieldscreate_payment_linkconfirm_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 支付替换为真实商家支付/订单系统,并接入真实平台消息通道。

开发原则(2026-03 最新)

  1. 唯一主线必须保持:平台私信 -> Agent -> Skill -> 后端业务接口 -> Agent -> 平台私信。
  2. 后端是业务权威层:意图判定、状态机、订单/库存/支付/退款规则全部在后端实现。
  3. 前端只负责展示与输入:包含聊天 UI、平台切换、用户切换与会话模拟;不承载 Skill 规则和业务编排。
  4. Skill 必须可插拔:通过注册表与 Agent-Skill 映射管理,支持一个 Agent 对应多个 Skill,支持后续扩展。
  5. OpenClaw 连接以本地网关为准:默认使用 localhost,不依赖公网链路。
  6. MVP 允许 Mock,但接口契约按“可替换真实商家系统”设计,避免一次性演示代码。
  7. 交易链路优先确定性:订房相关流程由 Skill + 后端接口驱动;模型文案仅作补充,不得伪造状态。
  8. 库存、订单、支付状态必须单一来源于后端;前端仅消费并展示后端返回结果。
  9. 契约优先:SKILL.md、API 入参与出参是协作边界,变更需同步文档与调用方。
  10. 能简则简:不引入非必要队列、重型中间层或前端业务分叉逻辑。
  11. 验收以可运行为准:至少通过 typecheck/lint 与关键 E2E 路径(询价->锁单->支付->履约/退款)。
  12. 提交与合并要求可追溯:冲突显式解决、主线保持可运行、临时测试文件不得进入主分支。

About

An agent that integrates Pieverse payments and is based on merchant inventory management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors