本版是收敛后的唯一基准,取代此前各补充件中与之冲突的表述。 业务侧按核实到的行业惯例重做(收费模式、渠道结构、收入重心); 技术侧按开源件真实边界重排(许可证、功能缺口、部署形态、版本治理)。 所有关键结论均标注来源或推算口径,凡未核实的一律标明。
这一节是整份文档的地基。后面每一处设计决策都能追溯到这里的某一条。 凡标注「已核实」的来自官方文档或公开判例;标注「量级」的是估算。 如果某一条将来发生变化,对应的设计需要重新评估——这是本表存在的意义。
| 事实 | 状态 | 对本设计的约束 |
|---|---|---|
| 活动执行方的收费惯例 | 已核实 | 支出百分比法 10~20% of total event cost;成本加成法 net cost + 12~18%; DMC 惯例 15~25% 项目成本 或净价 + 15~30%。基数一律是采购成本/支出,不是利润。 → 承办方报酬改用 cost-plus,不用利润分成 |
| 按利润分成在渠道合作中罕见 | 已核实 | 利润不可验证、诱导做假账、风险收益不匹配。 「利润的 15%」≈ GMV 的 2.25%(按行业净利率 15~20% 换算),仅为常规的 1/5~1/7 |
| 活动公司盈利水平 | 已核实 | 毛利 25~45%、净利 10~20%;企业活动类毛利 35~50%、净利 15~20%。 → 承办方不是暴利行业,分成过低必然不投入 |
| SaaS 渠道分成惯例 | 已核实 | 推荐伙伴 10~15% 首年 ARR;转售商 20~30% + 续费 5~8%;MSP/代理 20~35%。 → 代理商与业务员的提成按此设定默认值 |
| 单一城市可承接的场次有限 | 量级 | 二线城市全年百人级付费培训会量级约 50 场(推算,误差可能 ±50%)。 → 承办方数量必须与场次挂钩,第 1 年每城 1 家 |
| 事实 | 状态 | 对本设计的约束 |
|---|---|---|
| 资金二清(央行 217 号文) | 红线 | 代收后转付 = 无证资金清算。→ 自营收入平台自收;撮合资金走二级商户 + 分账指令。 后果含法人征信标记与关联惩罚 |
| 微信分账默认上限 30% | 红线 | 本场景需分出约 85%,是上限的近 3 倍。→ 申请突破是项目唯一硬阻塞项 |
| 商业特许经营 | 红线 | 收加盟费/保证金 + 统一经营模式 → 需「两店一年」+ 备案。 → 零前置费用、标准写进系统不写进合同;走官方明文豁免(仅提供平台服务并收服务费) |
| 爬取企业/个人信息 | 红线 | 判例 (2019)闽0524刑初397号:爬企查查/天眼查联系方式 41.5 万条,认定侵犯公民个人信息罪。 → 供给侧采集走地图 POI + 官方平台 + 自助入驻,不爬数据平台 |
| 高德 POI 翻页上限 200 条 | 已核实 | 官方原文「不支持返回全量数据」。→ 采集目标是头部供给而非全量,量级从几十万降到几千 |
| AI 外呼需 B24 牌照 | 受限 | → AI 只生成话术与接住回复,发送动作由人或合规通道完成 |
| 组件 | 许可证 / 边界 | 状态 | 本设计的用法 |
|---|---|---|---|
| Dify | Modified Apache 2.0:禁止未经书面授权运营 multi-tenant;1 workspace = 1 tenant | 受限 | 只做内部运营 AI,单 workspace、纯 API、不开放前端 |
| EspoCRM | AGPLv3:修改后的程序经网络提供服务须公开源码 | 可用有条件 | 独立部署 + REST API + 绝不 fork 改 PHP + 部署附 AGPL 声明与源码途径。收运维费合法 |
| Chatwoot | MIT 主体,但白标/角色权限/SSO/SLA/Captain 在商业 enterprise/ 目录 |
可用有条件 | 内部客服台 + 给客户部署收运维费;对客 widget 自建(顺带规避 Captain AI 数据出境) |
| n8n | Sustainable Use License(fair-code),转售需商业授权 | 不用 | 自动化编排改用自建调度器,避免许可证风险 |
说明:EspoCRM/Chatwoot「收运维部署费」在 AGPL/MIT 下合法(Red Hat 模式)——自由≠免费, 许可证禁止的是不给源码,不是禁止收费。前一版文档中"建议弃用 EspoCRM"的判断已在本版撤回。
| 能力 | 可用性 | 本设计的应对 |
|---|---|---|
| 酒店预订(道旅 Dida) | 可用 | Basic Auth(Content) + 请求体传参(Booking);四步链路;IP 白名单;商务 1~3 周 + 开发 2~3 周 |
| 视频号 / 小红书发布 | 无 API | 需求 1 改为任务派发 + 交付物跟踪,不做自动发布 |
| 餐饮 / 停车核销 | 无 API | 统一核销码协议:平台发码 → 对方扫码 → 记账 → 月结对账 |
| 培训场地 | 无 API | 自建场地库(头部供给,非全量)+ 承办方实地核价 |
| 达人数据(星图/蒲公英/花火/聚星) | 官方平台免费 | 不爬取;走官方平台 + 业务员工作台 + 收益测算器 |
这一定位把四件事统一成一句:客户价值(不花钱)= 独特能力(摊位对冲)= 系统价值(全链路可视)= 收入来源(摊位抽成)。 它同时也是销售话术——竞品(会小二这类)能帮你找场地、砍价,但不管你的成本怎么收回来。
办会不用自己找场地、订餐、订房、管停车;摊位招商把成本赚回来;手机上能看到每个环节的进度。
获得精准的线下获客场景(摊位)、稳定的订单(场馆/餐饮/拍摄)、以及一套不用开发的核销方式。
获得增量订单、平台带来的协议价资源、以及引入资源的长期分成——不需要为平台单独养团队。
| 角色 | 系统内身份 | 付费/收钱 | 关键诉求 | 与平台的关系 |
|---|---|---|---|---|
| 客户 主播 / 企业 | 租户(Tenant) | 付费方 | 办会省心、成本可控、学员体验好、进度可见 | 签主协议,平台直接对其负责 |
| 学员 | C 端用户 | 付学费 | 报名、签到、课程资料、会后资源对接 | 学费不进平台(C1),平台只提供报名与通知能力 |
| 服务商 场馆/餐饮/住宿/拍摄/媒体/停车 | 平台级主体 | 收款方 | 订单稳定、结算及时、不要做二次开发 | 平台签约、跨租户共享;对接方式是核销码而非 API |
| 承办方 城市渠道 | 平台级主体 | 收服务费 | 增量订单、能吃饱、资源可用 | 零加盟费零保证金;报酬 cost-plus + 节约奖励 + 资源分成 |
| 代理商 | 平台级主体 | 收分销佣金 | AI 产品线可卖、佣金清晰 | 只分销 AI 产品,不参与线下交付 |
| 业务员 自营 | 内部员工 | 提成 | 只做 KA,不做本地交付 | 拉来的单也必须派给承办方执行 |
provider_engagement 桥梁表记录"某租户与某服务商发生过关系",
而不是把服务商数据复制进租户空间。这一点如果做错(把服务商复制进每个租户),
后期的数据维护和价格同步会变成灾难。
| # | 业务域 | 一期 | 职责边界 | 不做什么 |
|---|---|---|---|---|
| D1 | 活动(Event) | 核心 | 需求采集 → 方案 → 场地/餐饮/住宿/拍摄 → 报名 → 现场执行 → 结算 → 复盘。 全流程状态机在这里 | 不做会场内的讲师管理、不做课程内容本身 |
| D2 | 摊位招商(Booth) | 核心 | 摊位定价、招商、服务商认购、现场布置、成本对冲看板、摊位费结算 | 不做展具搭建施工管理 |
| D3 | 资源(Resource) | 核心 | 场馆/餐饮/住宿/拍摄/媒体/停车的档案、协议价、可用性、评价;核销码签发与对账 | 不做资源自身的经营系统(如酒店 PMS) |
| D4 | 渠道(Channel) | 二期 | 承办方招募、分档、评分、派单、代理商、业务员、撞单规则、佣金计算 | 不做承办方的人事/财务系统 |
| D5 | 结算(Settlement) | 核心 | 参数配置、快照、分账指令、对账、发票三流合一、审计 | 不做账务核算总账(对接财务软件) |
| D6 | AI 与获客(Growth) | 分期 | 供给侧采集工作台(SAE)、大V 库与收益测算器、对客 AI 产品、内部运营 AI | 不做 AI 外呼(需 B24 牌照) |
这是 D1 的主干状态机。你要求的"每个节点客户在 Web 和手机端都能看到状态和进度", 就是由这一条状态机 + 一个统一进度接口实现的(技术方案见 2.7)。
| 主体 | 职责 | 报酬 | 数量策略 |
|---|---|---|---|
| 城市承办方 | 本地交付执行 + 引入本地资源 + 实地核价 | cost-plus 15% + 成本节约奖励 30% + 资源分成 1.5%(24个月) | 按城市年场次分档,不是固定 2~3 家: 第 1 年一律 1 家;≥12 场/年可加第 2 家; ≥36 场/年可到第 3 家。一线城市可提前一档 |
| 代理商 | 只分销 AI 产品线,不参与线下交付 | 首年 ARR 25% + 续费 5% | 不限,但需防撞单(见下) |
| 自营业务员 | 只做 KA 与跨城客户,不做本地交付 | 毛利分成 10% | 按区域配置 |
owner_type + owner_id + 保护期 90 天,
到期未产生订单自动释放。承办方是交付方不是销售方,行业惯例拿"管理费/成本加成"而非"佣金"。三个组成部分:
| 组成 | 默认 | 区间 | 作用与理由 |
|---|---|---|---|
| ① 执行服务费 contractor.service_rate | 15% | 12~20% | 在其承接的采购成本上加成。8 万成本 → 1.2 万。主体收入 |
| ② 成本节约奖励 contractor.saving_share | 30% | 20~40% | 必须配。cost-plus 的固有缺陷是承办方没动力砍价(成本越高它 15% 越多), 与"帮客户降本"直接冲突。定基准成本,低于基准的部分 30% 奖励给它 |
| ③ 资源引入分成 contractor.resource_share | 1.5% | 1~2% | 它引入的场馆/餐饮/酒店每被用一次按 GMV 分成,持续 24 个月。 按"实际被使用"计酬而非一次性录入奖励,否则会换来一批低质量录入 |
| 参数 | 默认 | 区间 | 说明 |
|---|---|---|---|
platform.service_fee | 10% | 8~15% | 对客服务费率(在采购成本之外) |
platform.booth_commission | 20% | 15~25% | 摊位招商抽成 —— 平台主收入。必须覆盖收入端,否则客户降本会稀释你的基数(E4) |
agent.ai_subscription_share | 25% | 20~30% | 代理商分销 AI 产品:首年 ARR |
agent.renewal_share | 5% | 3~8% | 续费分成,促其维护客户而非只拉新 |
sales.gross_margin_share | 10% | 8~15% | 业务员提成。此处用毛利分成是合适的——内部员工,数据可信、可审计 |
| 合规项 | 设计约束 | 违反后果 |
|---|---|---|
| 资金二清 | 自营收入(摊位费/AI 订阅/会员)平台自收;撮合资金(场馆/餐/宿/拍摄/学费) 走二级商户 + 分账指令。平台不垫资 | 没收 + 罚款 10~100 万 + 通道关停 + 法人征信标记 + 关联惩罚 |
| 分账 30% 上限 | 本场景需分出约 85%,必须申请突破,有审批周期 | 系统写完才发现分不了账,资金流全部返工 |
| 特许经营 | 零加盟费、零保证金、不授权商标与统一形象;培训限缩为"平台操作 + 质量标准"且免费; 标准写进系统(必填节点/时效/校验/评分)而不是写进合同 | 没收违法所得 + 罚款 10~50 万(有 33 万全额没收的真实判例) |
| 数据跨租户 | L1 公开/聚合可跨租户;L2 业务明细仅租户内;L3 个人信息需单独授权。 聚合特征可学,明细不可见 | 损失的不只是一个客户,是"深入企业内部"这个商业模式本身 |
| 收益承诺 | 测算器与销售材料禁止出现保底收益 | 广告法 + 特许经营条例,罚 3~30 万 |
| 开源许可证 | Dify 不开放前端;EspoCRM 不 fork、部署附声明;Chatwoot 不得启用 EE 功能(SSO/白标)除非已订阅 | 被迫公开源码 / 侵权索赔 |
| # | 调整项 | 前一版 | 本版 | 依据 |
|---|---|---|---|---|
| 1 | EspoCRM 去留 | 建议不用(AGPL 风险) | 撤回,恢复可用:独立部署 + REST API + 绝不 fork + 部署附 AGPL 声明。 收运维费在 AGPL 下合法 | 00.3 / 用户补充前提 |
| 2 | Chatwoot 定位 | 降为内部客服台 | 可给客户部署并收运维费,但白标/SSO 是硬缺口 → 对客 widget 仍自建 | 00.3 |
| 3 | 技术栈数量 | Node + PHP + Ruby + Python(三套数据库) | 砍到两套:Node/TS(业务主体)+ Python(AI 侧),一套 PostgreSQL | S4 运维复杂度 |
| 4 | 部署形态 | 只考虑 SaaS 多租户 | SaaS + 私有化双形态,同一套代码;私有化必须做集中管控 + 强制自动升级 | 用户要给客户部署 |
| 5 | AI 侧 | Dify 用于运营 + 对客自建 | 不变,但明确对客 AI 的 RAG 用 pgvector 自建,不引入独立向量库(减一套组件) | 私有化交付要少组件 |
| 6 | 结算 | 佣金比例写死在业务逻辑里 | 抽出结算引擎:参数可配置 + 下单快照 + 影响模拟器 + 双人复核 + 全量审计 | 08.4/08.5 |
| 组件 | 选型 | 位置 | 边界与理由 |
|---|---|---|---|
| 后端主体 | NestJS / TypeScript | 核心 | 模块化单体。模块化靠纪律不靠微服务:禁跨模块直连表、跨模块写走领域事件、ESLint 卡 import |
| 前端 | React(Web) + H5 | 核心 | H5 与 Web 共用进度接口,不做两套状态逻辑 |
| 数据库 | PostgreSQL + pgvector | 核心 | 一套库。向量需求用 pgvector,减一个组件(私有化交付时尤为重要) |
| AI 侧 | Python | 核心 | 对客 AI 自建(RAG + 对话管理);Dify 只做内部运营 |
| 队列/缓存 | Redis + BullMQ | 核心 | 异步任务、核销回调、定时任务(如道旅 HCN 补查) |
| Dify | Python 独立部署 | 外侧 | 单 workspace + 纯 API + 不开放前端。规避 multi-tenant 条款与 LOGO 条款 |
| EspoCRM | PHP 独立部署 | 外侧 | REST API 集成,绝不 fork;部署附 AGPL 声明 + 源码途径; 只给真需要私有化的大客户部署,SaaS 客户用自研模块 |
| Chatwoot | Ruby 独立部署 | 外侧 | 内部客服台 + 给客户部署(收运维费)。不得出现 SSO 登录页(那说明在跑 EE 代码) |
你要同时支撑 SaaS 多租户和给客户私有化部署。必须同一套代码,否则版本必然分裂。
你有 6 个业务域,业务线确实长。但长不等于要拆微服务——5~8 人团队拆开, 首年精力会耗在分布式事务上,而真正的难点在状态机和结算。正确解法是在单体内部划死边界。
模块只能通过本模块的 Repository 访问自己的表。需要别人的数据 → 走模块暴露的 Service 接口。 用 ESLint 自定义规则卡 import 路径,CI 拦截。
D1 活动完成 → 发 EventCompleted → D5 结算监听并生成账单。
禁止直接调用对方的写方法,否则事务边界会糊掉。
租户、用户、服务商、消息、文件、规则参数属于平台能力层, 不被任一业务域私有。避免每个域各存一份"服务商"。
// 目录结构(模块内自洽,模块间靠接口与事件) src/ platform/ // 横切能力:iam, workflow, rule, verification_code, notify modules/ event/ // D1 活动:controller / service / repository / state-machine booth/ // D2 摊位招商 resource/ // D3 资源与核销 channel/ // D4 渠道与派单 settlement/ // D5 结算与分账 growth/ // D6 AI 与获客 adapters/ // 外部依赖:dida, wechat-pay, amap, sms, oss shared/ // 通用工具 // ESLint 边界规则(CI 强制) "no-restricted-imports": { "patterns": [{ "group": ["**/modules/*/repository/**"], "message": "禁止跨模块直接访问 Repository,请通过模块 Service 接口" }] }
| 层级 | 内容 | 跨租户 | 实现 |
|---|---|---|---|
| L1 公开/聚合 | 行业统计、城市均价区间、类目完课率 | 允许 | 预计算聚合表,不含任何可识别主体的明细 |
| L2 业务明细 | 租户的客户、学员、报价、合同、结算 | 禁止 | tenant_id 行级隔离:ORM 拦截器 + PG RLS 双保险 + CI 扫描(三重) |
| L3 个人信息 | 学员手机号、身份证、人脸签到 | 需授权 | 单独授权记录 + 加密存储 + 最短留存期 |
| P 平台级 | 服务商档案、承办方档案 | 跨租户共享 | 不属于任何租户;用 provider_engagement 桥梁表记录"某租户与某服务商的关系" |
你要的"Web 和手机端都能看到每个节点状态和进度",靠一套引擎 + 一个接口实现,不做五套。 这是整个产品体验一致性的前提,也是渠道管控的实现方式(节点的时效与质量被记录并计分)。
// 状态机用数据定义,不写死在代码里 —— 流程会变,改配置不改代码 { "flow": "training_event", "nodes": [ { "id": "requirement", "name": "需求提交", "owner_role": "customer", "sla_hours": 24 }, { "id": "proposal", "name": "方案与报价", "owner_role": "platform", "sla_hours": 72 }, { "id": "booth_sales", "name": "摊位招商", "owner_role": "contractor", "sla_hours": 336 }, { "id": "resource_lock","name": "资源锁定", "owner_role": "contractor", "sla_hours": 120 }, { "id": "enrollment", "name": "学员报名", "owner_role": "customer", "sla_hours": 168 }, { "id": "on_site", "name": "现场执行", "owner_role": "contractor", "sla_hours": 48 }, { "id": "settlement", "name": "结算复盘", "owner_role": "platform", "sla_hours": 168 } ] } // 统一进度接口 —— H5 与 Web 共用,响应结构完全一致 GET /api/v1/progress/:aggregate_id { "aggregate_type": "training_event", "overall": { "percent": 62, "status": "doing", "next_node": "resource_lock" }, "nodes": [{ "id": "resource_lock", "status": "blocked", "owner": { "type": "contractor", "name": "XX会展" }, "sla_due_at": "2026-10-02T18:00:00+08:00", "blockers": [{ "code": "VENUE_DEPOSIT_UNPAID", "desc": "场馆定金未付", "resolver": "customer" }], "evidence": [{ "type": "contract", "url": "..." }] }] }
settlement_snapshot,
结算读快照不读当前配置。反面案例:调参导致已交付场次被重算 → 承办方当月对账全崩 → 信任崩塌。effective_from 最早次日 00:00,禁止"立即生效";变更进待生效队列可撤销;
提供影响模拟器(改前先跑"近 90 天订单按新规则算出多少钱")。// 参数覆盖优先级:单向覆盖,禁止多级相乘(连乘算出来的数没人看得懂,对账必吵架) resolve_rate(contractor_id, city_code, event_id) { if (r = rule.find(event_id)) return r // 单场特批 if (r = rule.find(contractor.grade)) return r // 承办方等级 if (r = rule.find(city_code)) return r // 城市 return GLOBAL_DEFAULT // 全局默认 15% } // 快照结构(订单创建时冻结,之后永不随配置变化) settlement_snapshot = { "service_rate": 0.15, // cost-plus "saving_share": 0.30, // 成本节约奖励 "resource_share": 0.015, // 资源引入分成 "platform_fee": 0.10, "booth_commission": 0.20, "rule_version": "2026-09-17T10:00:00Z", "resolved_by": "city:GZ" }
你对接的外部能力有一半不可靠或不存在(00.4)。核心原则是:每一个外部调用都必须有一条人工通道。
// 统一 Adapter 契约:每个外部依赖实现同样五个方法 interface SupplierAdapter { search(req): Promise<Offer[]> // 查询 confirm(ref): Promise<Hold> // 锁价/锁库存 book(hold): Promise<Order> // 下单 cancel(orderId): Promise<void> // 取消 query(orderId): Promise<Status> // 查单(含补查) } // 履约双通道:API 失败或超时 → 自动降级为工单,客户看到"处理中"而不是"系统错误" fulfil_mode: 'API' | 'MANUAL' try { return await adapter.book(hold) } catch(e) { await ticket.create({ type:'MANUAL_FULFIL', payload:hold, reason:e.code }) return { status:'processing', fulfil_mode:'MANUAL' } // 业务不中断 }
| 依赖 | 可用性 | 兜底通道 |
|---|---|---|
| 道旅酒店 | API | 超时/失败 → 工单转人工代订;HCN 未返回 → 定时任务入住前 3 天补查 |
| 支付/分账 | API | 分账失败 → 挂起并告警,禁止人工转账绕过(那会构成二清) |
| 餐饮/停车/场地 | 无 API | 统一核销码:平台发码 → 对方用小程序扫 → 记账 → 月结对账。当天可用,哪怕手写停车票的小车场 |
| 内容发布 | 无 API | 改为任务派发 + 交付物归档,由客户或服务商自行发布 |
pgvector 知识库 + 自建对话管理 + JS widget + 复用 IAM 与 tenant_id。
为什么自建:白标需求、Dify 多租户条款、RAG 本身不复杂、SLA 与计费自建更简单、
且私有化交付时少一个组件。
供给侧初筛打标、话术生成、会话摘要、报表问答。
约束:单 workspace、纯 API 调用、不开放前端。用户是内部员工,不触碰多租户条款。
两条产品线必须分开命名、分开定价(S5):
| 产品线 | 目标用户 | 定价 | 形态 |
|---|---|---|---|
| 企业办公 AI | 企业客户 | 付费 | S 版 SaaS / P 版企业云 VPC / E 版真本地机房。三档按需求与预算分,不得混称 |
| 主播学员运营 AI | 主播客户 | 免费/低价 | 招生文案、课纲生成、学员答疑、会后跟进 —— 获客钩子,用来降低办会门槛 |
| 维度 | 要求 |
|---|---|
| 链路追踪 | 每个请求带 tenant_id + trace_id,跨服务与跨开源件(Dify/EspoCRM 调用)都要透传 |
| 业务告警 | 节点 SLA 超时、分账失败、核销异常、Adapter 连续失败、参数变更(参数变更必须告警到负责人) |
| 对账任务 | 每日:平台流水 ↔ 支付机构流水 ↔ 内部账单三方对账;差异自动挂账并告警 |
| 数据一致性 | 跨系统(主体 ↔ EspoCRM ↔ Chatwoot)实体同步要有对账任务与修复脚本,否则数据必然漂移 |
| 备份 | PG 每日全备 + WAL 归档;私有化实例升级前自动快照 |
provider_engagement 是"服务商跨租户共享"的正确实现方式;
settlement_bill 必须满足订单流/资金流/发票流三流合一(税务要求)。| 实体 | 带 tenant_id | 关键字段与要点 |
|---|---|---|
tenant | — | id, name, type(主播/企业), owner_type, owner_id(撞单归属), plan, status |
event | 是 | id, tenant_id, contractor_id, city_code, status, flow_version, start_at, end_at, headcount |
booth | 是 | id, event_id, provider_id, size, price, status(招商中/已认购/已付/已入场), commission_rate(快照) |
provider | 否 | 平台级共享。id, type, name, city_code, contact, price_level, rating, source(POI/入驻/人工) |
contractor | 否 | 平台级。id, city_code, grade, score, service_rate, bankless(二级商户号标识) |
enrollment | 是 | 学员报名。学费不进平台,只记录报名与签到状态;手机号属 L3 需授权 |
fulfil_order | 是 | 履约子单(场馆/餐饮/住宿/拍摄各一条)。含 settlement_snapshot、fulfil_mode(API/MANUAL)、 外部订单号、ClientReference(幂等键) |
verification_code | 是 | 统一核销码:code, type(停车/餐饮/住宿/签到/摊位), provider_id, status, used_at, used_by |
settlement_rule | 否 | scope(全局/城市/等级/单场), key, value, effective_from, created_by, approved_by |
settlement_bill | 是 | 账单与分账指令。三流合一:订单流 / 资金流 / 发票流必须能对上 |
workflow_node | 是 | aggregate_id, node_id, status, owner_type, owner_id, sla_due_at, blockers[], evidence[] |
| 阶段 | 目标 | 关键动作 | 完成判据(可验证) |
|---|---|---|---|
| P0 第 0~1 月 不写代码 |
三个阻塞项同时启动 | ① 申请微信支付服务商资质 + 分账限额突破 ② 法务审阅渠道协议措辞 ③ 给 3 家关系最好的客户打电话,只问现状不推销 |
拿到受理回执;法务书面意见; 3 家中至少 2 家确认"今年有办会计划且当前流程麻烦" |
| P1 第 2~5 月 |
人工跑通一场真实培训会 | ① 微信群 + 表格 + 电话跑通 1 场,逐步记录真实流程 ② 同期只建 4 个技术底座:IAM/多租户、工作流引擎、核销码、统一进度接口 ③ AI 产品线继续接单赚钱(现金流) |
一场真实活动交付完成,流程文档经当事人确认无遗漏节点。 系统应自动化已验证的流程,不是边开发边猜流程 |
| P2 第 6~10 月 |
系统承载 + 摊位招商上线 | ① 把 P1 记录的流程搬进系统 ② 摊位招商与对冲看板优先于任何其他功能 ③ 打通分账(若 P0 已获批) ④ 单城市签约 1 家承办方 |
同城完成 3 场以上,其中至少 1 场实现摊位费覆盖部分成本; 客户能在手机上看完整进度 |
| P3 第 11~18 月 |
单城打透 + 复制第二城 | ① 单城做到 12 场/年以上再考虑加第 2 家承办方 ② 道旅酒店 API 接入(商务应已完成) ③ 复制模式到第 2 城 |
单城年场次 ≥12;承办方从平台获得年收入 ≥10 万(存活线); 单位 economics 为正 |
| P4 第 18 月+ |
才轮到这些 | 企业 AI 私有化 P/E 版、大V 库与收益测算器、AI 推荐、代理商体系、全球(多币种/多语言) | — |
以下均为量级估算,用于判断结构是否合理,不可直接用于预算。 实际数字随城市、薪资水平、谈判结果变化很大。
| 项目 | 量级(年) | 说明 |
|---|---|---|
| 技术团队 6 人 | 约 ¥180 万 | 含社保,二线城市薪资水平 |
| 运营 + 地推 4 人 | 约 ¥80 万 | 城市经理 + 运营 |
| 服务器 / 中间件 | 约 ¥12 万 | PG + Redis + 对象存储 + 监控 |
| 第三方 API | 约 ¥8 万 | 地图 POI(免费额度内)、工商核验、AI token、短信 |
| 年固定成本合计 | 约 ¥280 万 | 不含你的机会成本 |
| 单场收入(平台) | 保守 | 乐观 | 说明 |
|---|---|---|---|
| 执行服务端服务费 | ¥6,000 | ¥10,000 | 10 万支出中平台留存 6~10% |
| 摊位招商抽成 | ¥4,000 | ¥10,000 | 保守 4 摊 ×5000×20%;乐观 10 摊。高毛利、边际成本近零 |
| 拍摄/媒体自营差价 | ¥1,000 | ¥3,000 | 取决于是否自营 |
| 单场合计 | ¥11,000 | ¥23,000 | 中位约 1.5 万 |
| 盈亏平衡所需场次 | 约 190 场/年 | 按中位 1.5 万计。第 1 年不可能达到 | |
| 私有化交付成本(单客户) | 量级 | 说明 |
|---|---|---|
| S 版 SaaS 多租户 | 边际成本 ≈ 0 | 免费/低价档必须是这一档 |
| P 版 企业云 VPC | 年费数万 | 满足绝大多数"要安全"的诉求,应主推 |
| E 版 真本地机房 + GPU | 首年 ¥5~15 万 | 50 人企业量级。7B~8B INT4 约 6~8GB 显存,单张 24GB 卡够办公场景 |
判断公式(决定是否自建 GPU):「每月 API 账单 × 18~24 个月」 vs 「GPU 整机价 + 电费」。 前者大则自建划算。大多数办公场景在单客户规模下API 更划算——真私有化的价值在数据合规而非省钱,这两件事要分开算。
| # | 红线 | 后果 | 复核方式 |
|---|---|---|---|
| 1 | 平台代收后转付 | 刑事风险 | 代码扫描:是否存在"平台账户 → 转账给他人"的路径。人工转账绕过同样违规 |
| 2 | 分账超 30% 未获批 | 功能不可用 | 上线前用真实金额跑通一笔完整分账 |
| 3 | 收取加盟费/保证金 | 没收+罚款 | 合同与收款科目审查:换名字没用,看实质 |
| 4 | 承诺保底收益 | 罚款 3~30 万 | 销售材料、测算器输出、聊天话术全面检查 |
| 5 | 跨租户数据泄露 | 模式崩塌 | RLS 断言测试 + 渗透测试 + CI 扫描未带 tenant_id 的查询 |
| 6 | fork 开源件改源码 | 被迫开源 | 依赖审查:EspoCRM/Chatwoot 是否为原版镜像 + 配置,无代码改动 |
| 7 | 启用 Chatwoot EE 功能 | 侵权 | 检查部署是否出现 SSO 登录页;白标是否已购授权 |
| 8 | 爬取个人信息/数据平台 | 刑事风险 | 采集源审查:只用地图 POI、官方平台、自助入驻 |
| 9 | SaaS 版宣称"私有化" | 虚假宣传 | 对外文案与合同条款审查 |
| 10 | AI 自动外呼无牌照 | 违规 | 确认外呼动作由人或合规通道完成,AI 只生成话术 |
| # | 问题 | 我的建议 | 影响 |
|---|---|---|---|
| 1 | 能否接受:零加盟费、零保证金,只用业务手段约束承办方? | 接受。防飞单靠"让它吃饱 + 资源签平台 + 虚拟号隔离 + 系统评分" | 合规地基。不接受则整套架构重来 |
| 2 | 承办方报酬改为 cost-plus 15% + 节约奖励 30%? | 改。原"利润 15%"≈ GMV 2.25%,只有常规的 1/5~1/7 | 决定 D5 结算与 D4 渠道的数据模型 |
| 3 | 第 1 年做几个城市? | 1 个(最多 2 个,且必须是你关系最密的) | 决定资源投放密度与承办方存活率 |
| 4 | 能否接受第 1 年平台不盈利,由 AI 产品线供养? | 接受,并把这写进预算而非到时候再决定 | 决定现金流规划与止损线 |
| 5 | 免费 AI 的受众:A(主播学员运营)还是 B(企业办公)? | 选 A。企业办公 AI 继续付费,两条产品线分开命名 | 决定 D6 的产品形态与定价 |
| 6 | EspoCRM 是否保留?保留的话是否只给私有化大客户部署? | 可保留,但SaaS 客户用自研模块,避免每客户一套实例的运维黑洞 | 决定运维成本模型 |
| 7 | 学员报名费是否由平台代收? | 不由平台代收。学员付给主播,平台只收服务费 | 涉及预收资金与存管要求 |
| 8 | 是否今天就启动分账限额突破申请? | 是。这是唯一的硬阻塞项,有审批周期且结果不确定 | 不启动则 P2 全部卡住 |