4.7 KiB
P1-03 上传即审查实施与验收记录
日期:2026-08-23
对应路线图:V2-systemic-product-market-architecture-audit-and-roadmap-2026-08-22.md / P1-03
状态:已完成最小可用闭环,真实 OCR 成功率仍取决于已配置的 OCR Provider
1. 本阶段结论
原系统已有文件保存、关联合同、异步审查、风险等级和条款修复能力,但上传文件的审查读取只支持 UTF-8 纯文本。DOCX、PDF 和图片能够保存,却无法成为可读的审查来源;文件列表也没有解析进度、页数或失败原因。
本阶段复用现有 Contract Platform、AI Platform、Python SDK 和 review worker 边界,补齐“上传—解析—自动发起审查—worker 回写—页码定位—可应用建议”的完整链路,没有新增平行合同或审查系统。
2. 已实现范围
2.1 文档解析
- TXT/Markdown/CSV/JSON:支持 UTF-8、UTF-8 BOM 和 GB18030 解码。
- DOCX:提取段落和表格单元格文字。
- PDF:逐页提取文字并保留页码;无文本 PDF 自动进入 OCR 路径。
- PNG/JPG/JPEG/WEBP/TIF/TIFF:由 Contract Platform 通过 Python SDK 调用 AI Platform 文档智能接口,再由运行时 OCR Provider 执行识别。
- OCR 未配置、无识别文字或 Provider 调用失败时,保留原始文件并返回可操作的失败原因,不把“解析失败”误报为“上传丢失”。
2.2 持久化与 API
contract_files 新增:
parse_statusparse_progressparse_messageextracted_textparsed_pagespage_countparsed_at
数据库已升级到 20260823_0049。历史文件默认标记为 not_requested,不会伪造已解析状态。
AI Platform 新增:
POST /api/v1/document-intelligence/extract-text
Contract OpenAPI、AI OpenAPI 和 Python SDK 已同步。
2.3 前端与业务流程
- 上传控件限制并提示支持的合同文件格式。
- 上传期间展示进度;文件仓库展示解析状态、百分比、页数和失败原因。
- 关联已有合同后,可勾选“解析完成后立即发起 AI 审查”。
- 未成功解析的文件不会出现在可审查文件下拉选项中。
- 合同详情同时展示附件解析状态和审查风险来源页码。
- 风险结果继续复用已有风险等级、法源引用和可应用标准条款。
3. 真实环境验收证据
验收合同:contract-16d01ce91901
验收文件:file-cee906f22020
审查任务:review-f124382c5789
关联 ID:trace-91a38966a8fc4be8
结果:
- 文件解析:
parsed,100%,1 页。 - 自动审查:
succeeded。 - 整体风险:
high。 - 风险项:2 项。
- 可应用建议:4 条。
- 两项风险均展示“来源页码:第 1 页”。
- Chrome 超级管理员会话已验证合同仓库状态和合同详情结果展示。
Chrome 扩展当前未启用“Allow access to file URLs”,因此自动化无法直接驱动系统文件选择器;验收文件改由同一运行环境的 Contract API 提交,随后继续在 Chrome 中验证真实持久化结果。该限制属于浏览器扩展权限,不是产品上传接口故障。
4. 自动化与构建结果
- Contract API:13 项文件、worker、来源页码相关回归通过。
- AI Platform:5 项文档智能与 OCR 运行时相关回归通过。
- Python SDK:5 项客户端契约测试通过。
- Contract Web:37 项前端单元测试通过。
- TypeScript:
tsc --noEmit通过。 - Next.js:生产构建通过,112/112 页面生成成功。
- Alembic:全新 SQLite 从空库升级到
0049通过;运行 PostgreSQL 已升级到0049。 - OpenAPI:两份 YAML 解析通过。
git diff --check:通过;仅存在仓库既有的 LF/CRLF 提示。
5. 架构判断与后续边界
当前实现适合 P1 试点:普通文本解析在合同服务内完成,OCR 由 AI Platform 管理 Provider 配置和调用,审查仍由异步 worker 执行。这样既减少上传后的等待,也没有把 OCR 密钥和 Provider 管理下沉到合同域。
进入较大规模前,应把大文件解析从同步请求迁移到独立 durable worker,并增加文件大小、页数、解析耗时、OCR 成本和失败率指标。当前 UI/API 状态字段已经为异步化预留了 processing 和进度语义。
6. 下一阶段
下一步进入 P1-04 企业 Playbook:
- 新增租户级禁用条款、金额阈值、兜底文本和审批规则配置。
- 复用现有标准条款、审查规则、审批规则和生命周期管理,不建设第二套规则库。
- 在每个风险结果中明确展示命中的企业规则、匹配证据、执行动作和适用版本。
- 增加默认租户、个人空间、企业空间的规则隔离与浏览器旅程回归。