Files
Neo-ZQYY/docs/_overview/01-product-overview.md
Neo 509cf43284 chore(docs): Wave 0 调研产出 + P0/P1/P2 反馈调研
建立项目级标杆文档 docs/_overview/ 作为产品全景索引,
解决"PRD 零碎、文档膨胀、跨子系统调研无入口"的问题。

主要内容:
- 00-index 总索引 + 维护协议 + 与 CLAUDE.md 关系
- 01-product-overview 产品全景脑图(6 角色 / 6 子系统 / 数据流 /
  7 业务概念 / 8+1 AI 矩阵 / 22 术语)
- 02a-miniprogram-page-matrix 小程序 21 页业务指纹
- 02b-adminweb-page-matrix admin-web 19 路由业务指纹
- 03-test-spec 测试规范 (L1-L5 分层 + 走查模板 + 75-95 case 估算)
- 04-doc-conflicts 39 条冲突索引(P0×8 / P1×13 / P2×13 + 5 子项)
- 04a/b/c-conflicts-*-detail 业务故事卡(7 字段:关联/逻辑/影响/选项/判定)
- 05-orphan-pages-cleanup admin-web 6 孤儿页面处置(1 归档 + 4 保留)
- WAVES-MASTER-PLAN.md 全 Wave 主计划(0-5,共 22-32 工作日)
- WAVE-1-KICKOFF.md Wave 1 实施 kickoff
- GLOBAL-DECISION-DASHBOARD.md 全局决策仪表板

反馈调研产物:
- 04a-feedback/ P0 两轮反馈(8+8 项决策 + D-1/2/3 + F-1/2 子代理产出)
- 04b-feedback/ P1 两轮反馈(13+1+5 项 + E-1/2/3/4 + G-1/2 子代理产出)
- 04c-feedback/ P2 反馈(13 项 + 5 子项 + H-1/2/3 子代理产出)
- NEO-DECISIONS-LOG 累积决策记录

关键追加发现 8 处 D Bug(原蓝本 0):
- P0-3 看板沙箱接入(Wave 1 W1-T1)
- P0-5 致命 1 (4 处 fdw_etl 残留, 已修 commit 17f045a)
- P0-5 致命 2 (JWT aud 缺失, 已修 commit 17f045a)
- P0-6 clearAllTasks 守卫 (Wave 3)
- P0-8 DBViewer 黑名单漏 (已修 commit 17f045a)
- P1-3 task-detail 跳转传 task_id 而非 customer_id
- P2-7 board-finance 隐式 null
- 2 个独立 Bug (page_context.created_at + ClueCategory 字典)

参考: docs/_overview/00-index.md
2026-05-04 07:38:28 +08:00

327 lines
30 KiB
Markdown
Raw 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.
# NeoZQYY 产品全景脑图
> 生成日期2026-05-04 / 维护者Wave 0 调研子代理 / 后续修订归 Neo
> 信息来源:`docs/prd/specs/01-SPEC任务拆分总览.md`、`docs/prd/specs/00-数据依赖矩阵.md`、`P1`-`P12` 各 SPEC、`docs/prd/AI需求2.md`、`docs/prd/SPI 消费力指数.md`、`docs/prd/后端接口需求说明_数据需求PRD.md`、`docs/prd/2026-04-08__board-finance-optimization.md`、`CLAUDE.md`、`db/CLAUDE.md`、`apps/etl/connectors/feiqiu/CLAUDE.md`
---
## 一、产品定位与目标用户
NeoZQYY 是一个面向**台球门店连锁经营**的全栈数据与运营平台。它从 SaaS 系统「飞球」抽取门店原始业务数据结算、台费、助教服务、充值、会员等经过六层数据仓库治理叠加自研指数体系WBI/NCI/RS/OS/MS/ML/SPI/亲密度等)与 AI 应用矩阵(阿里云百炼 8 个 APP向门店一线助教、管理者与系统运维分别提供匹配视角的工具。
核心解决的问题:
1. 飞球原始数据口径混乱(如 `consume_money` 三种历史口径并存),缺乏可直接用于经营决策的可信指标 — 由 ETL 六层治理 + DWD-DOC 校准清单解决(参考:`apps/etl/connectors/feiqiu/CLAUDE.md` 12 条 DWD 强制规则)。
2. 助教不知道"现在该联系哪个客户、用什么策略" — 由助教任务体系4 类优先级任务 + AI 关系/话术/备注分析)解决(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4-P5
3. 门店管理者缺少跨维度的财务/客户/助教看板与 AI 洞察 — 由小程序三大看板 + 应用 2 财务洞察解决(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P8、`docs/prd/2026-04-08__board-finance-optimization.md`)。
4. 多门店连锁的数据隔离与租户管理诉求 — 由 `site_id` + RLS 双 schema 视图 + 租户管理后台解决(参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 schema 规则)。
目标用户:单店或连锁台球门店的助教、会籍顾问、店长、租户管理员、系统运维与产品负责人。领域语言为中文,金额币种为 CNY金额精度 `numeric(2)`
---
## 二、用户角色矩阵
| 角色 | 端 | 主要职责 | 关键操作 | 不可见的内容 |
|---|---|---|---|---|
| 教练 / 助教coach | 小程序 | 完成系统派发的客户维护任务、写备注、查看个人绩效与服务记录 | 任务列表的置顶/放弃/AI、写备注含星星评分、查看自己的绩效与档位、与 AI 对话 | 不能看财务看板、不能看其他助教的私人备注与工资明细(参考:`docs/prd/specs/P3-miniapp-auth-system.md` AC5 |
| 顾问 / 会籍consultantPRD 未单列实体表) | 小程序 | 与助教类似但侧重客户维护与销售线索 | 同助教,权限按 `auth.user_site_roles` 分配 | 视权限而定,财务看板默认不可见 |
| site_admin单店管理员 | tenant-admin Web | 审核小程序用户申请、维护用户-助教绑定、上传 Excel、管理维客线索 | 用户审核、用户管理、4 种 Excel 上传(财务支出/团购收入/助教奖罚/充值业绩归属)、维客线索 CRUD | 只能看自己被分配的 `site_id` 列表内的店铺数据,看不到其他租户、看不到 ETL 库 schema参考`docs/prd/specs/P10-tenant-admin-web.md` AC2 |
| tenant_admin集团/连锁管理员) | tenant-admin Web | 同 site_admin但管辖全部租户下店铺 | 同 site_admin 但跨多店 | 看不到 ETL 库 schema、看不到其他租户 |
| 系统运维 / Operator | admin-web | 创建租户管理员账号、配置 ETL 调度、监控数据质量、运维 ETL 库 | 创建 tenant 管理员账号(含分配 `site_id` 列表、ETL 配置、数据质量监控、系统监控 | 不参与一线门店业务操作、不写小程序备注(参考:`docs/prd/specs/P10-tenant-admin-web.md` 设计要点 - 登录体系) |
| AI 应用(系统主体) | 后端 + 百炼 | 自动化生成维客线索、备注分析、关系分析、话术、客户分析、财务洞察 | 通过 MCP Server 工具查库、按 `User_ID` 做信息隔离 | 助教身份的 AI 仅能查与该助教相关的客户数据(参考:`docs/prd/AI需求2.md` 应用 1 权限限制) |
---
## 三、子系统职责与边界
### 子系统职责
- **apps/miniprogramC 端小程序)**:助教/顾问的工作台,承载任务列表、任务详情、备注、绩效、三大看板、客户/助教详情、AI 对话页等共 13+ 个页面(参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P6-P9。技术栈 Donut + TDesign原型图位于 `docs/h5_ui/`。WXML/WXSS 严禁使用 HTML/CSS 语法TDesign 优先(参考:`docs/prd/specs/P3-miniapp-auth-system.md` 强制规范第 1-6 条)。
- **apps/admin-web系统管理后台**:开发与运维视角,操作 ETL 库(`etl_feiqiu`),提供 ETL 配置、数据质量、系统监控、租户管理员账号管理(参考:`CLAUDE.md` 子系统目录、`docs/prd/specs/P10-tenant-admin-web.md` 设计要点)。
- **apps/tenant-admin租户管理后台**:门店管理员视角(`site_admin` / `tenant_admin`),独立 Web 应用承担用户审核、Excel 上传、维客线索管理。技术栈 React + Vite + Ant Design独立登录入口、独立凭据账号由 admin-web 创建,不能自助注册(参考:`docs/prd/specs/P10-tenant-admin-web.md` AC1.1)。
- **apps/backendFastAPI 后端)**:所有前端共用的后端服务。承担 JWT 双认证(`apps/backend/CLAUDE.md`、统一响应包装、WebSocket、AI 集成(百炼 SSE / 缓存 / 触发器、TaskQueue/Scheduler、FDW 访问 ETL 数据。所有看板/任务/备注 API 在此实现(参考:`docs/prd/后端接口需求说明_数据需求PRD.md` §8 接口分组)。
- **apps/etl/connectors/feiqiuETL 飞球连接器)**:六层数据仓库 ODS → DWD → DWS→ DWD-DOC 标杆)。负责把飞球 API 数据治理成可信指标。包含 12 条 DWD 强制规则(如 `consume_money` 不可直接用、必须用 `items_sum`DWS 层落地 SPI/WBI/NCI/RS/OS/MS/ML/亲密度等指数(参考:`apps/etl/connectors/feiqiu/CLAUDE.md`)。
- **apps/mcp-serverMCP 工具服务)**PostgreSQL 只读工具,供阿里云百炼 AI 应用作为知识库使用。当前只接 `etl_feiqiu`P5.1 批次 B 后扩展到 `zqyy_app`,自动按 schema 名做数据库路由(参考:`docs/prd/specs/P5.1-mcp-server-ai-extension.md` 设计要点)。
### 子系统职责对比表
| 子系统 | 主要使用者 | 主要数据库 | 技术栈 | 与其他子系统关系 |
|---|---|---|---|---|
| apps/miniprogram | 助教 / 顾问 / 店长C 端) | 通过 backend 间接访问 zqyy_app + ETLFDW | Donut + TDesign小程序原生 WXML/WXSS | 后端依赖 apps/backendUI 标杆来自 apps/demo-miniprogramMOCK 禁改) |
| apps/admin-web | 系统运维 / Operator | etl_feiqiu | React + Vite + Ant Design | 创建 tenant-admin 账号;配置 ETL 调度 |
| apps/tenant-admin | site_admin / tenant_admin | zqyy_appauth + biz+ ETL FDW 只读 | React + Vite + Ant Design | 与小程序共用 auth schema账号由 admin-web 创建 |
| apps/backend | 所有前端 | zqyy_app+ etl_feiqiuFDW | FastAPI + Uvicorn | 唯一对外 API 出口JWT/响应包装/AI 集成 |
| apps/etl/connectors/feiqiu | ETL 调度 / 数据团队 | etl_feiqiu | uv workspacePython 3.10+ | 数据生产者;通过 RLS 视图 + FDW 暴露给 zqyy_app |
| apps/mcp-server | 百炼 AI 应用 | etl_feiqiuA+ zqyy_appB 期) | Python + MCP SDK | 仅只读;为 AI 应用提供查库工具 + 手册 |
---
## 四、数据流全景
```
飞球 SaaS API
│ ETL 抽取(每小时增量;冬季月初前 5 天宽限期)
┌─────────────────────────────────────────────────────────┐
│ etl_feiqiu / test_etl_feiqiu │
│ ┌──────────┐ │
│ │ meta │ 元数据(任务调度、字典、配置参数) │
│ ├──────────┤ │
│ │ ods │ 原始落地API 字段保真,不做业务逻辑) │
│ ├──────────┤ │
│ │ dwd │ 明细治理dim_*SCD2 维度)+ dwd_*(事实)│
│ ├──────────┤ │
│ │ core │ 跨域基础事实(如客户主表) │
│ ├──────────┤ │
│ │ dws │ 业务汇总 + 指数WBI/NCI/RS/OS/MS/ML/SPI │
│ ├──────────┤ │
│ │ app │ RLS 视图层(按 site_id + 会话变量过滤) │
│ └──────────┘ │
└─────────────────────────────────────────────────────────┘
│ FDW 跨库只读映射(通过 RLS 视图 v_*,非裸 dws/dwd 表)
┌─────────────────────────────────────────────────────────┐
│ zqyy_app / test_zqyy_app │
│ ┌──────────┐ │
│ │ public │ 历史系统管理表admin_users 等) │
│ │ │ + member_retention_clue维客线索
│ ├──────────┤ │
│ │ auth │ 用户认证users/user_applications/ │
│ │ │ site_code_mapping/user_assistant_binding │
│ ├──────────┤ │
│ │ biz │ 业务表coach_tasks/notes/ai_*/ │
│ │ │ trigger_jobs/excel_upload_log/ │
│ │ │ salary_adjustments │
│ ├──────────┤ │
│ │ fdw_etl │ ~33 张外部表,映射 etl_feiqiu.app.v_* │
│ └──────────┘ │
└─────────────────────────────────────────────────────────┘
│ FastAPIapps/backend查询
│ 设置 SET app.current_site_id = <user.site_id>
小程序 / tenant-admin / admin-web按角色加载视图
```
关键约束(参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 Schema 规则):
1. 多门店通过 `site_id` 列 + `app.current_site_id` 会话变量过滤;新建 DWS/DWD 表的 RLS 视图必须**同时**在 `dws`(或 `dwd`)和 `app` 双 schema 创建,否则后端查询失败。
2. zqyy_app 只通过 FDW 只读访问 ETL不允许 zqyy_app 写 ETL 库。
3. ETL 任务的金额字段统一使用 `items_sum` 替代 `consume_money`(参考:`apps/etl/connectors/feiqiu/CLAUDE.md` DWD 规则 1
---
## 五、核心业务概念
### 5.1 SPI 消费力指数Spending Power Index
参考:`docs/prd/SPI 消费力指数.md``docs/prd/specs/P2-etl-dws-miniapp-extensions.md`
- **定位**:客户级(粒度 `(site_id, member_id)`)每日刷新的"消费能力代理值",回答"这个客户消费层级如何 / 近期推进速度 / 稳定还是偶发"。
- **三个子分**
- `Level`(消费水平)权重 0.60:基于 `spend_30``spend_90``avg_ticket_90``recharge_90` 的 log1p 加权。
- `Speed`(消费速度)权重 0.30:绝对速度(每消费日强度)+ 相对速度30d vs 90d 加速)+ EWMA 平滑速度。
- `Stability`(消费稳定性)权重 0.1090 天内有消费的周覆盖率(`active_weeks_90 / 13`)。窗口最长 90 天,**不使用 180 天**。
- **展示分映射**:复用 `BaseIndexTask` 的 P5/P95 Winsorize → 压缩log1p/asinh→ MinMax 0-10 → 可选 EWMA 分位平滑。
- **配置**`cfg_index_parameters``index_type='SPI'`27 个参数(含权重、压缩基数、窗口天数等),已落地(参考:`P2-etl-dws-miniapp-extensions.md` T3 ✅)。
- **使用规则**SPI 不单独决定"要不要触达",而是与 NCI/WBI紧急度+ RS/OS/MS/ML关系归属组合用于"投入多大资源、用什么档位策略"。
### 5.2 助教任务体系4 类 + 状态机)
参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4、`docs/prd/后端接口需求说明_数据需求PRD.md` §3.2。
- **任务类型(优先级从高到低)**
- `high_priority` 高优先召回
- `priority` 优先召回
- `callback` 客户回访
- `relationship` 关系构建
- **生成器**:每日 04:00 后运行基于客户级指数max(WBI, NCI)+ 关系指数RS/OS/MS/ML为每个助教分配任务。同客户-助教-类型跳过;不同类型则关闭旧任务并新建。
- **状态**`pending / completed / abandoned / pinned`pinned 是排序属性而非互斥状态)。
- **特殊机制**
- 48 小时回访滞留:超期回访任务的状态化处理。
- 召回完成检测ETL 数据到达后由后台轮询自动标记。
- 数据回溯:召回完成时回溯近期备注,把"普通备注"重分类为"回访备注",并触发应用 6备注分析
- **任务表**`biz.coach_tasks` + `biz.coach_task_history`(变更历史,关闭/新建可追溯)。
### 5.3 备注与星星评分体系
参考:`docs/prd/specs/01-SPEC任务拆分总览.md` P4 第 9-11 项、`docs/prd/specs/P10-tenant-admin-web.md` 维客线索管理、`docs/prd/后端接口需求说明_数据需求PRD.md` §5.1。
- **统一备注表**`biz.notes``type` 区分 普通 / 回访 / 放弃原因 三类。生日类信息**不再**作为 notes type已迁移到维客线索系统。
- **星星评分字段**
- `rating_service_willingness`再次服务意愿1-5可空
- `rating_revisit_likelihood`再来店可能性1-5可空
- PRD §3.2 接口示例还提到 `intention / relation / service` 三项 — 与 SPEC 中两项不一致(登记到 §八 待 Neo 确认)。
- **不参与判定**:星星评分**不参与**任务完成判定、**不参与**应用 6 备注分析输入,仅作辅助。
- **UI 默认**:回访任务默认展开评分区域,其他任务类型默认隐藏可手动展开。
### 5.4 维客线索系统member_retention_clue
参考:`docs/prd/specs/00-数据依赖矩阵.md``docs/prd/specs/P10-tenant-admin-web.md` 维客线索管理、`docs/prd/AI需求2.md` 应用 8。
- **存储**`zqyy_app.public.member_retention_clue`(已建表)。注意是 `public` schema不是 `biz`(与"业务表迁移到 biz"的总体方向略有差异,登记到 §八)。
- **字段(已确定)**:标签(大类枚举:客户基础 / 消费习惯 / 玩法偏好 / 促销接受 / 社交关系 / 重要反馈)、摘要、详情、提供人 `recorded_by_name`、来源 `source`manual / ai_consumption / ai_note、记录时间、Emoji 二级标签。
- **待新增字段SPEC 记录暂不执行)**
- `is_hidden BOOLEAN DEFAULT false`tenant-admin 隐藏功能(小程序不展示但保留)。
- `source VARCHAR(20) DEFAULT 'manual'`:当前 SPEC 已设但实际表是否已有需 §六校验。
- **来源**:人工录入 / 应用 3AI 消费分析)/ 应用 6AI 备注分析)。应用 8 负责整合去重,最终落库时保留每条线索的 source。
### 5.5 飞球 consume_money 三种口径混淆问题
参考:`apps/etl/connectors/feiqiu/CLAUDE.md` DWD 规则 1、`docs/reports/DWD-DOC/consume/consume-money-caliber.md``docs/prd/specs/01-SPEC任务拆分总览.md` 总览的"金额口径"提示。
- **根因**:飞球上游 `consume_money` 字段在不同时间段使用了 A/B/C 三种不同口径,直接 SUM 会导致数据失真。
- **解决方案**DWS 层及下游统一改用 `items_sum`,定义为:
```
items_sum = table_charge_money + goods_money + assistant_pd_money + assistant_cx_money + electricity_money
```
- **关联铁律**
- 收入结构必须拆为 5 项(台桌费 / 陪打费 / 超休费 / 商品费 / 电费),不允许笼统的 `service_fee``service_fee` 仅在平台结算表中表示"平台服务费")。
- 助教费用必须拆 `assistant_pd_money` + `assistant_cx_money`,禁止用 `ASSISTANT_BASE / ASSISTANT_BONUS`。
- 取数优先级DWS > DWD > 禁止 ODS。
### 5.6 多门店隔离site_id + RLS
参考:`CLAUDE.md` 架构模式、`db/CLAUDE.md` RLS 双 Schema 规则、`docs/prd/specs/P1-miniapp-db-foundation.md` AC4。
- 所有事实/汇总表都带 `site_id` 列。
- ETL 库 `app` schema 暴露的视图都加 `WHERE site_id = current_setting('app.current_site_id')::bigint` 过滤。
- 后端在每个请求处理开始时执行 `SET app.current_site_id = <用户当前店铺>`PostgreSQL 自动按视图过滤数据。
- **强制铁律**:新建 DWS/DWD 表必须**同时**在原 schemadws/dwd和 `app` schema 创建 RLS 视图。回滚时逆序 DROP。
### 5.7 沙箱 / Runtime Context虚拟时间
参考:根 `CLAUDE.md` 历史追溯("2026-04-15~05-02 累积变更基线 — AI 重构 + Runtime Context + DWS 修复")、用户 memory`project_rs_param_tuning.md` 等)。
PRD specs 文档未直接覆盖此模块,已知信息:
- 系统支持运行时注入虚拟时间,用于 ETL 回填、影子跑数、AI 应用历史复现。
- 与 SPI 影子跑数(参考:`docs/prd/SPI 消费力指数.md` Phase 1和数据回溯机制配合使用。
详细机制建议查阅 `docs/audit/changes/2026-04-15*` 至 `2026-05-02*` 的审计记录(本调研范围未深入),登记到 §八。
---
## 六、AI 应用矩阵8 个 APP + MCP
参考:`docs/prd/AI需求2.md`(详细提示词与传参规范)、`docs/prd/specs/01-SPEC任务拆分总览.md` P5、`docs/prd/specs/P5.1-mcp-server-ai-extension.md`。所有应用使用 Qwen3.5-Plus 模型,部署在阿里云百炼平台。
| APP | 名称 | 服务对象 | 输入Prompt 参数) | 输出 | 缓存桶 / 持久化 |
|---|---|---|---|---|---|
| 应用 1 | 通用对话chat | chat 页面用户 | User_ID + 花名 + Role + Nickname前端动态传入页面上下文来源页面+内容摘要+视野内容) | 自然语言流式SSE 逐字) | `biz.ai_conversations` + `biz.ai_messages` |
| 应用 2 | 财务洞察 | board-finance 页面 | 店铺 ID + 时间维度(本月/上月/本周/上周/前 3 月不含本月/本季/上季/近 6 月不含本月)+ 同周期与上周期数据(收入结构、预收资产、支出汇总、平台结算) | JSON 数组(序号 + 标题 + 正文详情) | `biz.ai_cache`,每日轮询 |
| 应用 3 | 客户维客线索分析(消费侧客观) | customer-detail / task-detail | 客户昵称 + 近 3 月全维度消费数据DWD/DWS+ 会员卡明细 + 余额 + 应到店日期 + 距上次到店间隔 + 应用 6 历史 + 应用 8 历史(最近 2 套,附生成时间) | JSON 数组(详情 ≤120 字 / 分类标签 / 摘要 ≤20 字 / Emoji | `biz.ai_cache`,客户新增消费触发 |
| 应用 4 | 关系分析 / 任务建议 | task-detail | 助教信息 + 助教服务该客户历史 + 任务分配依据 + 客户客观数据(系统提供)+ 备注全文(备注创建者提供)+ 应用 8 维客线索 + 历史 2 套(附时间) | JSON与我的关系一句话 + 任务描述与依据 + 行动建议数组 + 一句话总结 | `biz.ai_cache`,新结算单 / 优先召回 / 高优先召回触发 |
| 应用 5 | 话术参考 | task-detail | 应用 4 输入 + 应用 4 返回 + 应用 8 历史 2 套(附时间) | JSON 数组(话术内容) | `biz.ai_cache`,应用 4 调用时联动 |
| 应用 6 | 备注分析(主观侧) | 备注提交时 | 本次备注 + 客户昵称 + 近 3 月消费DWD/DWS+ 会员卡明细 + 余额 + 应到店 + 间隔 + 该客户全部备注 + 应用 3 历史 + 应用 8 历史 2 套(附时间) | JSON维客线索数组分类 / Emoji / 详情 / 摘要)+ 评分1-106 分为标准;低价值/被多人备注过/时效低酌情扣分) | `biz.ai_cache`,每条备注提交触发 |
| 应用 7 | 客户分析(运营策略) | customer-detail / task-detail | 客户客观数据(同应用 3+ 该客户全部备注(创建者+全文)+ 应用 8 历史 2 套 | JSON策略数组标题+正文)+ 总结 | `biz.ai_cache`,结账单出现后触发 |
| 应用 8 | 维客线索整理(去重合并) | 应用 3/6 后置 | 当前最新应用 3 + 应用 6 内容 | JSON 数组(详情 / 分类 / 摘要 / Emoji / 提供者,多个用逗号隔开) | 写入 `member_retention_clue` + `biz.ai_cache` |
| MCP Server | 查库工具 | 应用 1直接调用+ 全部应用(手册引用) | SQL / 表名 / schema | 查询结果 / 表结构 / 手册 | 无(无状态) |
关键技术要点(参考:`docs/prd/AI需求2.md` 末尾):
1. 应用 1 是**唯一**支持流式SSE返回的应用其余应用返回结构化 JSON。
2. 应用 2-8 的 JSON 输出由后端解析后写入 `member_retention_clue` 表(应用 8 整合后)或 `ai_cache`(按页面读取)。
3. 信息隔离:所有应用通过 `biz_params.user_prompt_params` 传入身份;助教身份的 AI 仅可查与该助教相关数据,权限范围外的请求要驳回(应用 1 提示词强约束)。
4. 持久化:所有对话(含系统调用)写入 `ai_conversations` + `ai_messages`,含 tokens 消耗统计。
5. P5 拆为两阶段P5-A 完成 Prompt 已确定的应用 2/8 + 应用 3/4/5/6/7 的触发与调用骨架P5-B 在 P6-T4应用 4/5和 P9-T1应用 3/6/7页面 SPEC 内细化 Prompt 拼接函数。
---
## 七、关键术语词典
| 术语 | 含义 | 来源 |
|---|---|---|
| `consume_money` | 飞球原始消费金额字段,存在三种历史口径混合,**禁止直接使用** | `apps/etl/connectors/feiqiu/CLAUDE.md` 规则 1 |
| `items_sum` | DWS 替代口径,= 台桌费 + 商品费 + 陪打费 + 超休费 + 电费 | 同上 |
| `assistant_pd_money` / `assistant_cx_money` | 助教陪打费 / 超休费,**必须拆分**,不可用 `service_fee` | DWD 规则 2 |
| `settle_type` | 结算类型枚举1=台桌结账(78.6%) / 3=商城订单(21.4%) / 5=充值 / 6=结算退款 / 7=充值退款 | DWD-DOC 业务全景 |
| WBI | Winback Index 老客召回紧迫度指数,客户级 | `docs/prd/SPI 消费力指数.md` 引言 |
| NCI | New Conversion Index 新客欢迎/转化优先级,客户级,含 `NCI_welcome` 与 `NCI_convert` 子项 | 同上 |
| SPI | Spending Power Index 消费力指数,客户级,含 Level/Speed/Stability 三子分 | 同上 |
| RS | Relationship Strength 关系强度,客户-助教对粒度 | 同上 |
| OS | Ownership 归属,客户-助教对粒度(决定责任边界,避免撞单) | 同上 |
| MS | Momentum 关系动量,客户-助教对粒度 | 同上 |
| ML | Monetary Link 付费关联(充值由谁推更容易成),客户-助教对粒度 | 同上 |
| 亲密度 | `dws_member_assistant_intimacy`,客户-助教对粒度 | `00-数据依赖矩阵.md` task-detail |
| 跳档激励 | 助教绩效档位接近升档时的激励展示 | `docs/prd/specs/01-SPEC任务拆分总览.md` P6-T1 |
| 定档折算惩罚 | 同台桌同时段 >2 名助教时按比例折算单人贡献 | `docs/prd/specs/P2-etl-dws-miniapp-extensions.md` 设计要点 |
| RLS 双 Schema | 新建 DWS/DWD 表的 RLS 视图必须同时在原 schema 和 `app` schema 创建 | `db/CLAUDE.md` |
| 应用 1-8 | 阿里云百炼平台上的 8 个 AI 应用 | `docs/prd/AI需求2.md` |
| 维客线索 | Member Retention Clue 客户维护线索(人工 + AI 产出,应用 8 整合落库) | `docs/prd/AI需求2.md` 应用 8 |
| 球房 ID | site_code`auth.site_code_mapping` 中的 2 字母+3 数字编码,对应 ETL 的 bigint `site_id` | `docs/prd/specs/P3-miniapp-auth-system.md` 设计要点 |
| Operator | admin-web 中的系统运维角色,负责创建租户管理员账号 | `docs/prd/specs/P10-tenant-admin-web.md` 登录体系 |
| SCD2 | Slowly Changing Dimension Type 2缓慢变化维度DWD 维度表通过 `scd2_start_time/scd2_end_time/scd2_is_current` 记录历史版本 | `apps/etl/connectors/feiqiu/CLAUDE.md` |
| 影子跑数 | SPI/指数上线前的后台计算阶段(不展示给运营) | `docs/prd/SPI 消费力指数.md` Phase 1 |
---
## 八、文档冲突待确认清单
以下是阅读过程中识别到的**文档之间矛盾**或**文档与 CLAUDE.md/项目现状不一致**之处,标 `待 Neo 确认`,不做擅自结论。
1. **【备注星星评分字段命名不一致】 待 Neo 确认**
- SPEC `P4` 与数据依赖矩阵:明确两个字段 `rating_service_willingness`、`rating_revisit_likelihood`,各 1-5 可空。
- PRD `后端接口需求说明_数据需求PRD.md` 接口 I 与 J1 示例:用 `intention`、`relation`、`service` 三项。
- 影响:前端 mock 与后端 schema 可能不一致,需要统一字段名(建议以 SPEC 为准,因为 SPEC 是数据库口径)。
2. **【member_retention_clue 所在 schema】 待 Neo 确认**
- 数据依赖矩阵与 P10 SPEC标注 `zqyy_app.public.member_retention_clue`(已建)。
- 总体设计方向:业务表归 `biz`(参考:`P1-miniapp-db-foundation.md` Schema 规划)。
- 影响:是历史遗留还是有意保留在 `public`?如果保留,需要在文档中说明原因;如果是迁移待办,需登记。
3. **【应用编号与 AI 需求 2.md 的差异】 待 Neo 确认**
- SPEC 总览(`01-SPEC任务拆分总览.md` P5列出 8 个应用1-8
- `AI需求2.md` 表头标注"6 个 AI 应用的详细需求",但表格实际列出 8 个(应用 1-8
- 影响:`AI需求2.md` 文档第 26 行的"6 个"是历史遗留笔误(实际表格 8 个),不影响实现。建议修正文档表述。
4. **【应用 4 触发条件不一致】 待 Neo 确认**
- `AI需求2.md`:触发条件为"有助教参与的新结算单出现时、优先召回任务分配时、高优先召回任务分配时"(共 3 种)。
- 数据依赖矩阵 §三:触发条件为"助教参与新结算时"(仅 1 种)。
- 影响:实现 P5-A 应用 4 调用骨架时需明确,可能漏掉两类任务分配触发。
5. **【P5.1 批次 B 是否有未解决的前置问题】 待 Neo 确认**
- SPEC `P5.1-mcp-server-ai-extension.md` 自述"批次 B 依赖 P5-A 完成"。
- 任务说明(用户原文)提到"P5.2 标了 prerequisite-fixes 说明 P5.1 有问题" — 但本调研范围内没有找到 `P5.2` 文件(仅有 `P5.1`)。
- 影响:是否有 `P5.2-prerequisite-fixes.md` 应该存在但缺失?需要 Neo 确认是否有该 SPEC 文件、放在哪里。
6. **【应用 1 传参中 `User_ID` 与 `userId` 风格差异】 待 Neo 确认**
- `AI需求2.md` 用 `User_ID`(蛇形大写下划线),符合百炼平台占位符风格。
- PRD `后端接口需求说明_数据需求PRD.md` 用 `userId`(驼峰)。
- 影响:前端 → 后端 → 百炼的字段映射需要明确转换层在哪里。建议后端做双向映射,对外接口用 camelCase对百炼传 `User_ID`。
7. **【运行时 Runtime Context / 虚拟时间机制无 SPEC 文档】 待 Neo 确认**
- 根 `CLAUDE.md` 历史追溯提到"2026-04-15~05-02 累积变更基线 — AI 重构 + Runtime Context + DWS 修复"。
- 当前 `docs/prd/specs/` 下没有 Runtime Context 的独立 SPEC。
- 影响:调研者无法了解虚拟时间的接口契约、传参方式、与 ETL 影子跑数的衔接细节。建议补 SPEC 或指向已有审计记录路径。
8. **【SPI 默认参数数量26 vs 27】 待 Neo 确认**
- 数据依赖矩阵 §四 / FDW 映射列表注释:"cfg_index_parameters含 SPI 26 个参数 ✅)"。
- SPEC `P2-etl-dws-miniapp-extensions.md` T3 已完成项注释:"已完成27 个参数含 Level/Speed/Stability 权重..."。
- 影响:实际数据库里是 26 还是 27需要直接 `SELECT COUNT(*) FROM cfg_index_parameters WHERE index_type='SPI'` 校验。
9. **【4.1 财务看板优化与 P11 进度衔接】 待 Neo 确认**
- `docs/prd/2026-04-08__board-finance-optimization.md` 列出 5 项 P1/P2 修复(卡余额快照不变、首充/续费全 0、文案、3 个新指标、优惠占比、充值笔数、团购标签)。
- SPEC `P11-deployment-launch.md` AC6 要求"ETL 定时调度正常运行" — 卡余额快照修复属于 ETL 任务级 bug可能影响生产数据准确性。
- 影响P11 上线前是否要先解决 4.1/4.2 的两个 P2 bug还是允许带 bug 上线?需要 Neo 决策。
10. **【人员匹配范围:助教 vs 员工】 待 Neo 确认**
- SPEC `P3` AC7用户申请同时匹配 `dwd.dim_assistant`(助教)和 `dwd.dim_staff` + `dwd.dim_staff_ex`(员工)。
- 数据依赖矩阵 §四"新增 FDW 映射(员工信息表)":列出 `dim_staff` / `dim_staff_ex`。
- 但当前 P1 SPEC 文档里 RLS 视图列表(`00-数据依赖矩阵.md` §四)未明确包含 `dim_staff` / `dim_staff_ex`。
- 影响:是否已经为这两张员工表建好 `app.v_*` 视图与 FDW 外部表P3 实施前需先校验或补建。
11. **【飞球 consume_money 三种口径混淆 vs 看板优化 PRD】 待 Neo 确认**
- `apps/etl/connectors/feiqiu/CLAUDE.md` 强制规则 1DWS 层及下游统一用 `items_sum`。
- `2026-04-08__board-finance-optimization.md` 3.1 经营一览补充指标:使用 `confirmed_income`(确认收入),与 `items_sum` 是否一致需要校验(`confirmed_income` 是 `items_sum - 优惠后` 还是另一口径?文档未明示)。
- 影响:客单价 / 日均额 的分子口径需要在落地前明确,否则数据失真。
---
> 备注:本脑图聚焦"是什么"与"为什么这样设计"。**字段级精确定义**应回到对应源文档(特别是 `apps/etl/connectors/feiqiu/CLAUDE.md` 的 12 条 DWD 规则、`docs/reports/DWD-DOC/` 校准清单、各 SPEC 的"设计要点"小节)。本脑图不替代权威文档,仅作为"产品全景索引"。