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

320 lines
18 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 数字大师墙 · 高端文旅方案 (Master Wall)
> 状态:**方案已定稿,待编码**
> 决策:**第一期全链路一次到位** · **文旅成交先纯留资、不接支付**
> 归属:数字我 / Digital Me — 广场(Plaza)的高端子区
---
## 1. 定位与闭环
**数字大师墙 = 永续种草入口;线下文旅 = 稀缺高价转化。**
```
游客 → 和大师数字分身随时聊(免费/低价·种草)
→ 报名平台围绕大师定制的人文旅游路线(转化·第一期为留资)
→ 旅途中与大师本人 喝咖啡/宴请/接待(稀缺高潮)
→ 大师拿旅游分成;数字分身继续做 行前讲解 + 行后答疑(把"在场"延展成永久)
```
数字人补的是大师最稀缺的资源——**时间**。这是模式成立的核心。
平台承诺:大师的**形象/声音/知识库由平台线下免费建立**(含整理、录入资料);大师签署**授权协议 + 配合协议**,按约定配合文旅接待,享**旅游收益分成**。
---
## 2. 决策记录 (locked)
| 决策点 | 结论 |
|---|---|
| 第一期范围 | **全链路**:大师墙展示 + 数字大师聊天 + 文旅路线浏览 + 预约(留资) + 分成台账 + 后台建档/排团/结算 |
| 文旅成交/收钱 | **第一期纯留资**:预约只收意向线索(姓名/联系方式/意向路线),不接支付;线下人工跟进 |
| 分成台账 | 照记**预估分成额**,状态 `pending`;实际成交由后台**人工确认**后转 `confirmed` 计入 |
| 支付集成 | 第一期**不做**(wallet/WXPAY 留到第二期,数据模型预留字段) |
---
## 3. 数据模型(落进现有 MongoDB)
### 3.1 `twins`(扩展现有集合)
大师本质是一类被平台线下精修过的 twin,复用现有 `avatarUrl / voiceId / 知识库 / profession / verified / inPlaza`:
```js
// 新增字段
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`(新)— 业务档案
```js
{
_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`(新)— 授权 + 配合协议(命门)
```js
{
_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`(新)— 文旅产品
```js
{
_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`(新)— 预约线索(第一期=留资,不收钱)
```js
{
_id, tourId, masterIds:[],
visitor: { name, phone, wechat, note, intent }, // 留资
userId: ObjectId|null, // 登录用户则关联
status: 'lead'|'contacted'|'won'|'lost', // 人工跟进流转
estAmount: Number, // 预估成交额(人工填/路线价)
createdAt, updatedAt
}
```
### 3.6 `payouts`(新)— 大师分成台账
```js
{
_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`(新)**
```js
{
_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` 灌生产。