Files
admin 0593ff7e62
nginx serve /uploads direct (audio speed) / patch-nginx (push) Failing after 1m34s
数字我 Digital Me:全量入库(大文件走 Git LFS)
2026-10-10 16:24:43 +08:00

18 KiB
Executable File
Raw Permalink Blame History

数字大师墙 · 高端文旅方案 (Master Wall)

状态:方案已定稿,待编码 决策:第一期全链路一次到位 · 文旅成交先纯留资、不接支付 归属:数字我 / Digital Me — 广场(Plaza)的高端子区


1. 定位与闭环

数字大师墙 = 永续种草入口;线下文旅 = 稀缺高价转化。

游客 → 和大师数字分身随时聊(免费/低价·种草)
     → 报名平台围绕大师定制的人文旅游路线(转化·第一期为留资)
     → 旅途中与大师本人 喝咖啡/宴请/接待(稀缺高潮)
     → 大师拿旅游分成;数字分身继续做 行前讲解 + 行后答疑(把"在场"延展成永久)

数字人补的是大师最稀缺的资源——时间。这是模式成立的核心。

平台承诺:大师的形象/声音/知识库由平台线下免费建立(含整理、录入资料);大师签署授权协议 + 配合协议,按约定配合文旅接待,享旅游收益分成。


2. 决策记录 (locked)

决策点 结论
第一期范围 全链路:大师墙展示 + 数字大师聊天 + 文旅路线浏览 + 预约(留资) + 分成台账 + 后台建档/排团/结算
文旅成交/收钱 第一期纯留资:预约只收意向线索(姓名/联系方式/意向路线),不接支付;线下人工跟进
分成台账 照记预估分成额,状态 pending;实际成交由后台人工确认后转 confirmed 计入
支付集成 第一期不做(wallet/WXPAY 留到第二期,数据模型预留字段)

3. 数据模型(落进现有 MongoDB)

3.1 twins(扩展现有集合)

大师本质是一类被平台线下精修过的 twin,复用现有 avatarUrl / voiceId / 知识库 / profession / verified / inPlaza:

// 新增字段
isMaster:    Boolean,   // 是否大师(大师墙筛选主键)
masterTier:  String,    // 'flagship'镇馆 | 'resident'常驻 | 'guest'客座
domain:      String,    // 领域:guoxue国学 | shuhua书画 | zhongyi中医 | chadao茶道 | feiyi非遗 | gujian古建 | meishi美食 …
region:      String,    // 地域:huizhou徽州 | suzhou苏州 | dali大理 …
honorific:   String,    // 尊称,如「南山先生」
masterworks: [String],  // 代表作/成就
masterId:    ObjectId,   // → masters 业务档案

3.2 masters(新)— 业务档案

{
  _id, twinId,
  status: 'invited'|'signed'|'building'|'live'|'paused', // 生命周期
  buildProgress: { photo:Bool, voice:Bool, knowledge:Bool, review:Bool }, // 线下建档进度
  poolWeight: Number,         // 默认在"大师池(30%)"中的拆分权重(具体成团时以 tour.masterShares 为准)
  offlineCommit: String,      // 配合承诺摘要(SLA 详见 agreement)
  contact: { name, phone, note },
  createdAt, updatedAt
}

3.3 agreements(新)— 授权 + 配合协议(命门)

{
  _id, masterId,
  kind: 'authorization'|'cooperation',
  scope: {                    // 授权范围
    useImage:Bool, useVoice:Bool, useKnowledge:Bool,
    canSay:[String],          // 数字人可涉及话题
    cannotSay:[String],       // 禁区
  },
  cooperationSLA: {           // 配合承诺量化(cooperation 协议)
    teaPerTour:Number,        // 每团茶叙次数
    banquetPerYear:Number,    // 每年私宴上限
    receptionNote:String,
  },
  revocable:Bool, term:{from,to},
  inheritance:String,         // 离世/继承条款
  aiDisclosure:String,        // AI 披露话术("数字分身·非本人实时,以线下为准")
  signedAt, snapshot          // 签署快照(留痕)
}

3.4 tours(新)— 文旅产品

{
  _id, title, cover, region,
  masterIds:[ObjectId],       // 关联大师(可多位)
  tier: 'digital'数字陪游 | 'study'研学团 | 'private'私宴接待,
  itinerary:[{day,title,desc}],
  masterMoments:[String],     // 大师线下互动内容(茶叙/宴请/接待)
  priceHint:Number,           // 价格区间提示(第一期不收款,仅展示)
  // 三方固定分成(sum=100):平台 / 大师池 / 旅游组织者(地接)
  revShare: { platform:20, masters:30, organizer:50 },
  // 大师池(30%)在多位大师间的拆分权重(按参与度/天数)
  masterShares: [{ masterId, weight }],
  seats:Number, seatsLeft:Number,
  status:'draft'|'open'|'closed',
  createdAt, updatedAt
}

3.5 bookings(新)— 预约线索(第一期=留资,不收钱)

{
  _id, tourId, masterIds:[],
  visitor: { name, phone, wechat, note, intent }, // 留资
  userId: ObjectId|null,      // 登录用户则关联
  status: 'lead'|'contacted'|'won'|'lost', // 人工跟进流转
  estAmount: Number,          // 预估成交额(人工填/路线价)
  createdAt, updatedAt
}

3.6 payouts(新)— 大师分成台账

{
  _id, masterId, bookingId, tourId,
  baseAmount:Number,          // 成交额基数
  pct:Number,                 // 分成比例(取自 masters.revSharePct)
  amount:Number,              // 预估分成 = base*pct
  status:'pending'|'confirmed'|'paid', // 留资=pending;后台确认成交→confirmed
  createdAt, updatedAt
}

4. API 端点

公开(no-auth,复用 plaza 风格)

GET  /api/plaza?isMaster=1&domain=&region=   大师墙列表(复用 listPlaza + isMaster 筛选)
GET  /api/masters/:slug                        大师详情(档案+代表作+可预约路线)
GET  /api/tours?master=&region=&tier=          文旅路线列表
GET  /api/tours/:id                            路线详情
POST /api/bookings                             提交预约留资 {tourId, name, phone, ...}

后台(admin,复用现有 SUPER_ADMIN_EMAILS 鉴权)

POST /api/admin/masters                     建档:twin 标记为大师 + 创建 masters
PATCH/api/admin/masters/:id                 更新档案/建档进度/分成比例
POST /api/admin/masters/:id/agreements      录入授权/配合协议
POST /api/admin/tours   PATCH /:id          排团/编辑路线/开关席位
GET  /api/admin/bookings                     线索看板 + 流转状态
PATCH/api/admin/bookings/:id                 跟进(contacted/won/lost)+填成交额 → 生成/确认 payout
GET  /api/admin/payouts                      分成台账

5. 前端页面(Vue3 + 复用现有组件)

C 端

  • 广场(Plaza.vue) 顶部新增 「大师墙」 区块:大卡片(尊称/流派/地域/代表作/可预约标) + 领域·地域筛选。
  • 大师详情(MasterProfile.vue·新):档案 + 和TA聊(→现有 /me/:slug) + 深度咨询(→现有 consult) + 跟TA去旅行(该大师的 tours)。
  • 文旅路线(Tours.vue / TourDetail.vue·新):路线列表/详情、行程、大师时刻、预约按钮。
  • 预约留资(BookingForm):姓名/联系方式/意向 → POST /api/bookings。
  • 我的预约(可选):登录用户看自己的留资状态。

后台(Admin.vue 扩展 tab)

  • 大师建档看板(进度 photo/voice/knowledge/review) · 协议录入 · 分成比例
  • 排团(tours) · 线索看板(bookings 流转) · 分成台账(payouts)

6. 授权与合规(不可省)

  1. 真人肖像+声音:授权范围明确、可撤销、有期限、离世/继承条款。
  2. AI 披露:大师数字人页面固定标注"数字分身·非本人实时,以线下为准"。
  3. 话题围栏:大师数字人按 domain + agreement.scope.cannotSay 设禁区,复用现有 moderation。
  4. 协议签署快照留痕(agreements.snapshot)。

7. 分成台账口径(留资阶段)

固定三方分成:平台 20% · 大师池 30% · 旅游组织者(地接) 50%(tour.revShare,可后台改)。

  • 提交预约(booking=lead) → 用 tour.priceHint 为基数,先算三方金额:
    • 平台 = base × 20%,组织者 = base × 50%,大师池 = base × 30%。
    • 大师池再按 tour.masterShares[].weight 拆给每位大师,各生成一条 payout(status:pending)。
  • 后台把 booking 标 won 并填实际成交额 → 相关 payout 转 confirmed、按实额重算。
  • 大师端仪表盘(第二期)读 payouts 展示:带来多少线索/成交/预估分成。

8. 建议施工顺序

  1. 后端模型+公开读:twins 扩展字段 → masters/tours/bookings/payouts 集合 → listPlaza 加 isMaster → GET masters/tours + POST bookings。
  2. 大师墙 + 详情 + 文旅 + 预约(C 端可跑通种草→留资)。
  3. 后台:建档/协议/排团/线索/台账。
  4. 合规围栏:AI 披露 + domain 禁区注入 persona。
  5. 造 2–3 位样板大师 + 1 条样板路线(建议冷启动垂类:非遗匠人「跟 X 大师游徽州」),端到端演示。

9. 第二期(预留,不在本期)

支付成交(wallet/WXPAY 意向金/全款) · 大师收益仪表盘 · 配合 SLA 排期提醒 · 多垂类复制。


附一 · 成都首发案例(细化落地样板)

首发城市 成都,垂类 = 艺术 + 民间收藏 + 古建。三位大师上墙 + 一条 5 天精品路线,作为样板数据端到端跑通,再向全国复制。

A. 三位首发大师(seed → twins + masters)

大师 尊称/身份 domain masterTier 代表性 数字分身人设要点
朱成 艺术大师 · 民间博物馆馆长 diaosu 雕塑石刻 flagship 镇馆 朱成石刻艺术博物馆馆长;雕塑家;抢救性民间石刻收藏(万佛墙/民间造像) 以"用石头留住一座城的记忆"为魂,讲民间美学、收藏故事、造像背后的信仰与匠心
李江 美术家 · 美术学院系主任 meishu 美术 resident 常驻 美术学院系主任;画家 笔墨见性,讲绘画语言、创作观、看画之道,能对团友作品现场点评
唐杰 中国古建泰斗 gujian 古建 flagship 镇馆 中国古建筑权威 营造之道,解构斗拱/营造法式/会馆形制,讲古建的当代传承与"论道"

每位大师:平台线下免费建档(拍形象 / 录声音 / 整理并录入作品集与谈艺资料入知识库)→ 签授权+配合协议 → 上墙。作品集 = 现有 gallery(worksFromContext)承载,数字分身聊天时可引用。

B. 样板路线「成都 · 大师人文之旅」5 天(seed → tours)

  • 档位 private 私宴接待级 · 8 人精品团 · ¥50,000 / 人(40 万/团)
  • 定位:人文朝圣 · 三位泰斗亲自同行、私宴、论道,市面买不到的稀缺接待
  • 配套:顶奢文化酒店(大慈寺旁 · 博舍级)、专属管家、名家私宴、数字分身行前讲解 + 行后问道
Day 主题 行程 大师时刻(masterMoments)
D1 入蓉·序章:大慈千年 专属管家接机 → 入住文化酒店 → 大慈寺·太古里人文漫步 → 欢迎晚宴 朱成出席茶叙破冰《我为什么收藏这座城的记忆》
D2 朱成·石头里的众生 朱成石刻艺术博物馆深度导览(万佛墙/民间造像)→ 拓片/雕塑手作体验 → 私宴 朱成馆长亲自导览 + 点评手作 + 论"民间博物馆如何留住城市的魂"
D3 李江·笔墨见性 蓝顶艺术区·李江画室 → 看画论画/大师示范 → 命题写生一对一指点 → 当代艺术下午茶雅集 与李江面对面:现场示范、点评团友习作、咖啡对谈
D4 唐杰·营造之道 洛带古镇客家会馆群(清代古建)→ 唐杰现场解构斗拱/营造法式 → "论道"沙龙 → 宽窄巷子夜话·私宴 与唐杰论道:古建当代传承沙龙
D5 历史建筑·故事收官 安仁公馆群 / 都江堰-青城山古建 → 专家讲建筑背后的家族与时代故事 → 结业茶会 → 送机 赠"数字传承卡",行后可继续向三位大师数字分身问道

价值锚点(为何值 5 万):三位泰斗亲自陪同+私宴(不可复制)· 顶奢文化住宿 · 8 人极致小团 · 数字分身永续问道。

分成(固定 平台20 / 大师30 / 组织者50,后台可改):成交 40 万/团 →

  • 平台 8 万(20%)· 旅游组织者(地接) 20 万(50%)· 大师池 12 万(30%)
  • 大师池 12 万按参与度拆:朱成(D1茶叙+D2整天,权重2) 6 万 · 李江(D3,权重1) 3 万 · 唐杰(D4,权重1) 3 万
  • 各生成一条 payout(pending),成交确认后转 confirmed。

C. 大师申请上墙入口(新增能力)

大师本人或机构可自助申请上墙 → 平台审核 → 通过后进入线下免费建档流程。

数据模型 master_applications(新)

{
  _id, name, honorific, domain, region,
  achievements:[String], works:[{title,image}], // 成就/代表作
  contact:{ name, phone, wechat },
  intro:String, wishNote:String,               // 自述 / 合作意向
  status:'pending'|'reviewing'|'approved'|'rejected',
  reviewNote:String, createdAt, updatedAt
}

API

POST /api/masters/apply                 公开:提交申请
GET  /api/admin/master-applications      后台:申请列表
PATCH/api/admin/master-applications/:id  后台:审核(approved→一键转入建档、创建 masters+twin 草稿)

页面:大师墙 + 大师详情页放 「申请成为大师 / 推荐大师」 入口 → MasterApply.vue 表单。

D. 全国运营蓝图(成都跑通后复制)

线上种草(全国大师数字分身矩阵,永续免费聊)
   → 定团(按大师/主题/区域成团,够人开团)
   → 定线路(路线设计,复用 tours 模型)
   → 定内容(逐日行程 + 大师时刻 + 专家讲解)
   → 线下落地(地接 + 接待 + 大师按 SLA 配合)

成都 = 首发样板;跑通后复制到 苏州 / 徽州 / 西安 / 大理 …(换 region + 换大师 + 换路线,系统结构不变)。

E. 样板数据落库(施工第 5 步据此造)

  • 3 个 twin(朱成/李江/唐杰)标 isMaster + 各自 domain/tier/honorific/代表作,配头像占位。
  • 3 条 masters 档案(含 revSharePct 示例)+ 各一份授权/配合协议样例。
  • 1 条 tours:上面 5 天路线,tier:'private',priceHint:50000,seats:8。
  • 端到端演示:大师墙 → 大师详情 → 路线详情 → 预约留资 → 后台看到线索 + 生成 pending 分成。

附二 · 报名支付 · 分成口径 · 合规(已上线定稿,2026-07-10)

本节记录实际落地版本,口径以此为准(覆盖前文早期的 20% 定金/在线全款等描述)。

A. 报名与支付流程(游客侧)

  1. 游客在广场/大师详情看到大师能力 → 顶部「大师文旅」板块看到路线与参团邀请。
  2. 报名两种方式:仅留资(顾问跟进,不付款)|报名·交预定金锁位。
  3. 平台只收预定金 = 总额的 50%(如 5万/人 → 定金 2.5万/人,按出行人数计),支付即 reserved 锁席。
  4. 尾款(另 50%)出行前直接交给旅游团(线下),不经平台。故取消在线全款选项。
  5. 支付通道:stub 即时到账(演示);生产接 TOUR_PAY_PROVIDER(微信/Stripe/分账)。

B. 三方分成口径(固定 平台20 / 大师30 / 组织者50)

  • 预定金(总额 50%)= 平台 20% + 大师 30%:定金一到账即覆盖大师全部 30%,故大师分成 reserved/won → confirmed(payoutStatusFor);仅留资未付 → pending。
  • 组织者 50% = 线下尾款,由旅游团(持牌旅行社)出行前直收,台账记「线下应收」,不经平台。
  • listPayouts.summary 三方汇总:totalDeal / platform(20%) / masterConfirmed(30%) / masterPending / organizerOffline(50%) / depositInHand(=平台+大师)。
  • 成都样例(1 人):总 5万 → 平台 1万 + 大师 1.5万(confirmed,=定金 2.5万)+ 组织者 2.5万(线下)。
  • 大师池 30% 按 tour.masterShares 权重最大余数法精确拆分(朱成2/李江1/唐杰1 → 7500/3750/3750)。

C. 合规要点(上线前必须落实;非法律意见,以监管/专业法务为准)

  • 支付牌照 / 防二清:平台不得把游客的钱收进自有账户再分给大师/组织者(= 二清,无牌照违法)。 合规做法:① 用持牌支付机构的分账(微信支付/支付宝/银联商务/连连/合利宝等),支付时直接拆账到各方账户;或 ② 定金直入「旅游组织者(持牌旅行社)」商户号,平台仅按技术/服务费另行结算。平台不碰资金池。
  • 旅游资质:组团/带团需**《旅行社业务经营许可证》。由持牌旅行社当「旅游组织者/地接」与游客签旅游合同、收尾款、担责、买旅意险;平台仅做信息撮合/种草/技术层,并遵守《在线旅游经营服务管理暂行规定》**(审核合作旅行社资质、留存合同、处理投诉)。
  • 模式天然适配:平台=撮合/种草层,组织者=持牌旅行社(其 50% 尾款线下自收)。落地只需:①支付换成持牌分账/钱直入旅行社商户号;②文旅由持牌旅行社运营并签合同。

D. 其它已上线增量

  • 大师短片:twin.videoUrl,详情页 16:9 播放器 + 墙卡 ▶ 标;后台可上传/贴链。
  • 资料录入台(后台每位大师):形象/声音/短片/知识库上传,复用 media.js/storage.js/knowledge.js(无 key 时知识库降级存原文)。
  • 访客默认落广场(未登录 /→/plaza,登录→/dashboard);大师墙纯展示大师能力,文旅只在「大师文旅」板块与一行轻引导。
  • 三城样板:成都/苏州/徽州(7 大师 + 3 路线),gh workflow run seed-masters.yml 灌生产。