跳转至

听写任务日志 DTL · L-20260823-02

日志编号:L-20260823-02 所属类型:DTL(听写任务日志 / Dictation Task Log) 执行人:听写 DT(协调)+ 听码 WDE(编码)+ 听云 OCM(部署) 起止时间:2026-08-23 关联文档:RQD-O MFR-11 / QTE-09 / QMD §MFR 开放报价 / DTL L-20260823-01(前序任务)


一、用户原话(VERBATIM 准确引用)

我和听云正在进行的部署工作暂停中,原因是我改变主意了。
由于我现在想用最低水平的服务器资源尽快上线,改变如下:
1.听云现在的任务挂起(记录好,后续根据我的明确指令继续进行)
2.现在只要求 MFR端开放报价功能 部署上线 (然后 还是 听写 进行用户测试 )
请根据上述要求(如果需要修改代码,安排 听码先做)安排听云挂起当前任务,启动新的任务。

→ 触发本次三 AI 协调:听云当前任务挂起 + 新任务 MFR 开放报价功能最小化部署上线 + 听写用户测试。


二、任务切换决策

2.1 挂起任务(听云 OCM 当前任务)

内容
任务名 Cloudflare Pages 文档公开发布部署(AI 特定行为第 4 条)
当前状态 site/ 362 文件已构建完成(V8.3/V3.6 纠偏 + url_map.py 重映射后零 hash slug),但尚未成功 wrangler pages deploy 到 hk2026-docs Project
挂起点 待用户在终端执行 .\scripts\deploy-site.ps1 -SkipBuild 完成部署
恢复条件 用户明确指令"继续文档公开发布部署"
挂起影响 无(site/ 构建产物保留在本地,git 已 push SHA b5d9ab8,随时可恢复部署)

2.2 启动新任务(听云 OCM 新任务 + 听码 WDE 前置编码 + 听写 DT 后置测试)

内容
任务名 MFR 端开放报价功能最小化部署上线
需求依据 RQD-O §MFR-11(Web 端开放报价,P0)+ QTE-09(MFR 开放报价入口)+ QMD §MFR 开放报价参数精简版
目标 最低水平服务器资源尽快上线 MFR 报价功能,听写进行用户测试
三 AI 分工 听码 WDE:核查并补全 dip1/ 代码 → 听云 OCM:最小资源部署阿里云 → 听写 DT:用户测试

三、MFR 开放报价功能现状核查(前置调研结果)

3.1 业务设计状态(已完成,可用于编码)

设计点 文档位置 状态
MFR 角色定义 docs/术语表.md L61 ✅ MFR = Manufacturer = 家居产品生产商(B 端委托方,Web 终端)
MFR-11 需求 docs/需求分析/执行级需求.md L76-90 ✅ P0 需求:Web 端开放报价
QTE-09 功能组 RQD-O L156-159 ✅ 个人注册+可选绑定 MFR+精简输入+自动报价+PDF 下载
QMD 报价模型 docs/报价服务/报价模型设计.md L537-567 ✅ MFR 开放报价参数精简版设计完成
流程设计 QMD L618-638 ✅ MFR 输入→QSV 计算→PDF→MFR 发 CST→CPT L1 线索(30 天过期)

3.2 代码现状(待听码核查完成度)

文件位置 状态
后端 dip1/backend/app/application/qsv/services.py L235-238 mfr_open_quote() 已实现(调用 create_quote + P8.brand_multiplier=None + MDS PPL 自动识别品牌)
前端 dip1/frontend/apps/mfr-portal/app/page.tsx L1-14 ⚠️ 骨架存在,对接 /api/v2/qsv/quote/mfr-open,但完成度待核查
数据库 dip1/ Schema ⏸ 待听码核查 PPL 表(生产商档案库)是否就绪

四、三 AI 协调安排

4.1 听码 WDE 任务(前置,立即启动)

任务:核查并补全 MFR 开放报价功能代码,使其达到最小可部署状态。

核查清单: 1. 后端 mfr_open_quote() 完成度:API 路由、请求/响应 schema、P8.brand_multiplier=None 逻辑、MDS PPL 表查询 2. 前端 mfr-portal 完成度:注册流程、精简输入表单、报价结果展示、PDF 下载 3. 数据库:PPL 表 schema、种子数据 4. 依赖服务:QSV 报价引擎、MDS 主数据(PPL 表)是否可独立运行(不依赖 CPT/DIS/OPS) 5. 配置:环境变量、最小资源部署配置

补全要求: - 目标:MFR 注册 → 精简输入 → 自动报价 → PDF 下载,全流程可跑通 - 最小化原则:不实现 CPT 线索转化、不实现 30 天过期、不实现品牌徽章展示(这些是 V2 范围) - 写 WDL 日志登记(dip1/docs/worklog/wdl/L-20260823-01_xxx.md)

交付物: - 代码补全 commit(dip1/ 仓库) - WDL 日志(报告完成度、补全内容、可部署状态、最小资源需求) - 通知听写转交听云部署

4.2 听云 OCM 任务(待听码完成后启动)

挂起当前任务:Cloudflare Pages 文档公开发布部署(见 §2.1)

启动新任务:MFR 开放报价功能最小化部署到阿里云

部署要求: - 最低水平服务器资源(用户明确要求) - 仅部署 MFR 报价功能相关服务(QSV + MDS PPL 表 + mfr-portal 前端) - 不部署 CPT/DIS/OPS 等其他服务(节省资源) - 写 OCL 日志登记(ocm/worklog/ocl/L-20260823-01_xxx.md)

4.3 听写 DT 任务(待听云部署后启动)

任务:MFR 开放报价功能用户测试

测试范围: - MFR 注册流程 - 精简输入表单 - 自动报价计算 - PDF 下载 - 异常场景(输入错误、网络中断等)

交付物:用户测试报告 + 缺陷清单(如有)


五、决策点

# 类型 内容 决策
D1 任务切换 Cloudflare Pages 部署挂起 ✅ 用户明确指令,site/ 产物保留本地,git SHA b5d9ab8 可追溯
D2 新任务范围 仅 MFR 报价功能,最小资源 ✅ 用户明确要求"最低水平服务器资源尽快上线"
D3 代码修改 听码先做 ✅ 用户明确"如果需要修改代码,安排听码先做"
D4 部署方式 听云部署 ✅ 三 AI 分工:生产部署由听云 OCM 负责
D5 测试 听写用户测试 ✅ 用户明确"然后还是听写进行用户测试"

六、Git 追溯

  • 本协调记录 + 听码补全代码已纳入 git commit
  • 听码 WDL 日志:dip1/docs/worklog/wdl/L-20260823-01 + L-20260823-02(已纳入)
  • 听云 OCL 日志:将由听云自行登记
  • Cloudflare Pages 部署挂起前的最终锚点 SHA = b5d9ab8(Gitee hk2026 main)
  • 本次 MFR 报价功能补全 commit SHA = 2a7bfcd(22 files changed, 2229 insertions(+), 26 deletions(-),推进区间 b5d9ab8..2a7bfcd

七、完成确认

☑ 目标:协调三 AI 完成任务切换,挂起 Cloudflare Pages 部署,启动 MFR 报价功能上线。

  1. 记录用户原话与任务切换决策
  2. 核查 MFR 开放报价功能业务设计状态(已完成,可用于编码)
  3. 核查代码现状(后端已实现,前端骨架存在,待听码核查完成度)
  4. 安排听码 WDE 前置任务(核查并补全代码)
  5. 安排听云 OCM 新任务(最小资源部署 MFR 报价功能)
  6. 安排听写 DT 后置任务(用户测试)
  7. 听码完成代码核查与补全(17 文件改动/新增,后端 pytest 272 项全过,前端 build 成功,WDL L-20260823-02 已登记)
  8. 听云完成最小资源部署(⏸ 待听云 OCL 日志,部署步骤已就绪见 §八)
  9. 听写完成用户测试(⏸ 待用户测试报告)

八、听云 OCM 部署任务书(代码已就绪,待听云执行)

8.1 听码补全成果摘要

维度 结果
文件改动 17 个(后端 11 + 前端 6 + WDL 日志 1)
后端测试 pytest 全量 272 项全过(含 qsv_quote 12 + dev_token 3 + mds_supply 22 回归)
前端测试 pnpm typecheck 5 app + shared 全过;mfr-portal build 成功(4 页面静态生成)
WDL 日志 dip1/docs/worklog/wdl/L-20260823-02_mfr_quote_fix.md

8.2 最小部署资源需求

要求
CPU 1 核
内存 1 GB
磁盘 1 GB
服务数 2(后端 uvicorn :9100 + 前端 next start :3001)
数据库 SQLite 文件库(init_db 自动建表 + PPL 种子自动 INSERT)
缓存/总线 进程内(DIP1_REDIS_URL=空 / DIP1_NATS_URL=空)
认证 开发模式 HS256 JWT(DIP1_KEYCLOAK_URL=空 → 自动挂载 dev_router)

8.3 部署步骤(给听云 OCM)

  1. 代码包接收:听写从 hk2026 私有主仓打包 dip1/ → scp/rsync 推送听云本地暂存区
  2. 后端部署
    cd dip1/backend
    pip install -e .
    # .env 配置零依赖默认(SQLite + 进程内 + HS256)
    uvicorn app.main:app --port 9100
    # lifespan 自动建表 + PPL 种子 INSERT
    
  3. 前端部署
    cd dip1/frontend
    pnpm install
    # apps/mfr-portal/.env.local 配 NEXT_PUBLIC_API_BASE_URL=http://backend:9100
    pnpm --filter @dip1/mfr-portal build
    pnpm --filter @dip1/mfr-portal start  # :3001
    
  4. 冒烟测试
  5. GET /health → 200
  6. POST /api/v2/dev/token → {"access_token":"xxx"}
  7. POST /api/v2/qsv/quote/mfr-open → 报价结果
  8. GET /api/v2/qsv/quote/{quote_id}/pdf → application/pdf
  9. 生产切换 V2(后续):配 DIP1_KEYCLOAK_URL → dev_router 自动摘除;切 PostgreSQL → Alembic 迁移

8.4 遗留风险(听云部署前确认)

# 风险 级别 听云应对
R1 dev token 端点生产暴露 部署前确认 DIP1_KEYCLOAK_URL 非空(当前最小部署为 dev 模式可接受,生产切换 V2 时必须配)
R2 MFR 个人注册 V1 是占位 V1 用 dev token 签发 MFR-USR 模拟注册,无密码哈希;生产严禁对外提供注册,V2 必须接 Keycloak
R3 CORS 未配置 前端 :3001 → 后端 :9100 跨端口,需在 backend 挂 CORSMiddleware

8.5 听写用户测试范围(部署完成后执行)

  • MFR 登录流程(dev token 快速登录)
  • 精简输入表单填写
  • 自动报价计算结果
  • PDF 下载与内容核对
  • 异常场景(空输入、错误格式、网络中断)

(★ 说明:本日志为三 AI 协调记录。听码 WDE 已完成代码补全(WDL L-20260823-02),听云 OCM 待执行最小资源部署(OCL 待写),听写 DT 待用户测试。Cloudflare Pages 部署任务挂起不影响 MFR 报价功能开发,两者独立。)