- spikes/:Word 转 PDF(Gotenberg)、格式识别、原句坐标、DeepSeek 抽取四项验证代码与两版提示词;样本派生产物和 .env 不进 git - tech-validation.md:完整结论。四项都可行:WPS 字体字符集要修正并改用行高调整过的字体;格式识别不需要 Docling;表格内切句待改进;抽取需第三道依据校验与规则兜底 - architecture.md:§3.5 加预处理与字体包,§3.6 证据校验改为三道,§10 回填结论 - 03 功能需求与 decisions.md(TV1):召回 ≥ 99%、采纳准确率 ≥ 95%、页码 100%、高亮正文 ≥ 98% / 表格 ≥ 95% Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
250 lines
14 KiB
Markdown
250 lines
14 KiB
Markdown
# 03 · 功能需求(MVP)
|
||
|
||
> 编号规则:`FR-<模块>-<序号>`。优先级沿用 PRD;标 **[新增]** 的是需求分析中补充的,已于 2026-11-02 确认(`docs/decisions.md` A1)。
|
||
> 每条都写了验收标准;测试阶段直接据此编写用例。
|
||
|
||
---
|
||
|
||
## M2 · 招标文件解读
|
||
|
||
### FR-M2-01 上传招标文件 · P0
|
||
|
||
- 支持格式:PDF(文字版 / 扫描版)、DOCX、DOC、WPS。非 PDF 文件统一转成 PDF 后再处理,保证页码出处一致。
|
||
- **按文件头识别真实格式,不看扩展名**:样本里 10 份都叫 `.doc`,实际有 DOCX、不压缩的 zip 形式 DOCX、旧版 DOC 三种(07 F2)。
|
||
- 解析 Word 时**保留文字格式**(斜体、下划线、加粗),因为有的文件用格式标注实质性条款(07 F1)。
|
||
- 一个项目可以上传多个招标文件,比如正文和附件分开的情况。每个文件标注类型:招标文件 / 补遗 / 澄清答复。
|
||
- 单文件大小和页数上限按套餐区分,购买页和上传页都要写明(具体数字随 D2 一起定)。
|
||
|
||
**验收**
|
||
- 上传前就校验格式和页数,超出上限时直接说明原因和上限值,不创建任务、不扣点。
|
||
- 加密或损坏的 PDF 能识别出来,提示用户换文件。
|
||
|
||
### FR-M2-02 解析任务与进度 · P0
|
||
|
||
- 解析是异步任务,状态有:排队中 → 解析中(分阶段)→ 成功 / 失败 / 已取消。
|
||
- 发起时预扣 1 次解析;成功后结算;失败、超时、取消都退回。
|
||
|
||
**验收**
|
||
- 进度页显示当前阶段,用户离开后任务继续跑,完成或失败都发站内通知。
|
||
- 失败可以重试,重试不重复扣点;额度明细里能看到「预扣 → 退回」两条记录。
|
||
- 300 页以内目标 10 分钟完成(PRD 7,上线前压测回填)。
|
||
|
||
### FR-M2-03 项目基本信息提取 · P0 [新增:拆出单列]
|
||
|
||
提取项目名称、项目编号、采购人 / 招标人、代理机构、采购方式、预算金额 / 最高限价(按包)、包的划分、是否接受联合体、是否接受进口产品、是否专门面向中小企业、适用的法律体系(政府采购 / 招标投标)。
|
||
|
||
**验收**:每个字段都带出处;用户可以修改,修改留痕。
|
||
|
||
### FR-M2-04 分包识别与选择 · P0 [新增]
|
||
|
||
- 识别包 / 标段,以及每个包的预算、限价、资格、参数;
|
||
- 用户选择要投的包,清单按「通用 + 所选包」过滤。
|
||
|
||
**验收**:没有分包时自动跳过这一步;分包识别错了用户能手工增删和归属。
|
||
|
||
### FR-M2-05 结构化提取 · P0
|
||
|
||
按五类生成清单项:PRD 的四类,加上 IT 集成需要的「技术参数」。字段定义见 `05-it-integration-domain.md` §3。
|
||
|
||
| 类别 | 内容 |
|
||
|---|---|
|
||
| 资格条件 | 通用资格 + 特定资格 + 信用要求,以及每条要求的证明材料 |
|
||
| 无效 / 废标条款 | 法规列明的情形 + 招标文件自己规定的情形 + 所有 ★ 实质性条款 |
|
||
| 评分办法 | 评标方法、价格 / 技术 / 商务分值、每个评分项(分值、标准、证明材料)、中小企业价格扣除 |
|
||
| 关键日期与递交 | 截止时间、开标时间、提疑 / 质疑截止、保证金、投标有效期、递交方式、份数、签章、密封 / 加密 |
|
||
| 技术参数 | 参数项、要求值、比较方式(≥ ≤ = 包含 支持)、重要性(★ / ▲ / 一般)、所属包 |
|
||
|
||
**验收**
|
||
- 每条清单项至少有一个出处(文件 + 页码 + 原句);没有出处的进「待确认」区(FR-M2-07)。
|
||
- ★ 条款全部进入「无效 / 废标」类,同时保留在原来的类别里(同一条要求可以有多个类别标签)。
|
||
- **实质性条款按文件自己的标注规则识别**:先找到「标注规则说明」(★ / * / 斜体加下划线 / 「必须」字样等),再按规则识别;不能写死成 ★(07 F1)。
|
||
- 文件写明了实质性条款数量时(如「★ 项共 14 条」),和实际抽到的数量对比,不一致就提示用户。
|
||
- 用 3 份以上真实 IT 集成招标文件做基准测试:人工标注的 ★ 条款**召回率**是主要指标(漏了就可能废标)。
|
||
- **目标值**(技术验证 S4 后确定,见 `docs/decisions.md` TV1):
|
||
- 标注类实质性条款(★ / 斜体下划线等)召回率 ≥ 99%,靠规则兜底加模型实现;
|
||
- 进入正式清单的条目准确率 ≥ 95%。
|
||
|
||
### FR-M2-06 原文回链 · P0
|
||
|
||
- 清单和原文并排显示,点击清单项就跳到对应页并高亮原句;一条可以有多个出处。
|
||
- 扫描件按 OCR 文字坐标高亮。
|
||
|
||
**验收**:抽查 50 条,达到以下目标值(技术验证 S3 后确定,见 `docs/decisions.md` TV1):
|
||
- 出处页码正确率 100%;
|
||
- 原句高亮准确率:正文 ≥ 98%,表格内 ≥ 95%。
|
||
|
||
出处无法定位时,宁可进「待确认」,也不能给一个错的页码。
|
||
|
||
### FR-M2-07 待确认区 · P0
|
||
|
||
- 没有出处、或模型置信度低于阈值的提取结果,放进待确认区,不进正式清单。
|
||
- 用户操作:采纳(补上出处,或标注「人工确认、无出处」)/ 修改后采纳 / 丢弃。
|
||
|
||
**验收**:待确认区的条目不参与 M3 检查。
|
||
|
||
### FR-M2-08 项目检查清单 · P0
|
||
|
||
- 解读结果自动生成清单,用户可以新增、修改、删除条目,所有修改都留痕(谁、什么时候、改前、改后)。
|
||
- 清单整体状态:草稿 → 已确认;确认后再改,回到草稿并保留历史。
|
||
- 用户新增的条目标注「人工添加」,可以没有出处。
|
||
|
||
**验收**:任意一条都能查到完整的修改历史;删除是软删除,可以恢复。
|
||
|
||
### FR-M2-09 关键日期展示 · P0 [新增:拆出单列]
|
||
|
||
把关键日期汇总成项目时间线,在项目工作台显示倒计时。MVP 只做站内展示,不做主动提醒(截止日提醒放在 P1,和澄清辅助一起做)。
|
||
|
||
### FR-M2-10 补遗追加(简化版)· P0 [新增]
|
||
|
||
- 追加的补遗 / 澄清文件单独解析,扣 1 次解析;新提取的条目标注来源,并入清单。
|
||
- 日期类字段以最新文件为准,在旧值上标「已被补遗 N 更新」,用户确认。
|
||
- 不自动判断条目「新增 / 变更 / 作废」(P1)。
|
||
|
||
---
|
||
|
||
## M3 · 废标风险检查
|
||
|
||
### FR-M3-01 上传投标文件 · P0
|
||
|
||
- 一个项目可以上传多个投标文件分册(商务 / 技术 / 报价 / 资格证明),格式同 FR-M2-01。
|
||
- 只处理加密前的 Word / PDF 稿;如果上传的是电子投标平台的加密格式,要识别出来并说明原因。
|
||
- 分册可以对应到电子投标客户端的节点(如苏采云的资格审查、符合性审查、商务、技术、报价节点),具体怎么对应,等种子用户访谈后确定(G15)。
|
||
- 投标文件有版本:每次重新上传都是新版本,检查结果关联到具体版本。
|
||
|
||
### FR-M3-02 发起检查 · P0
|
||
|
||
- 前提:项目至少有一份解析成功的招标文件。清单没确认时可以检查,但要提示「清单未确认,检查结果以当前清单为准」。
|
||
- 按 `01-scope-roles.md` §4 的计费口径扣点;同一项目 24 小时内复查不扣点。24 小时从**上一次扣了额度的检查**算起,窗口内的复查不重新计时(决策 P1)。
|
||
- 每次检查产生一个「检查批次」,记下当时的清单版本、投标文件版本和规则版本。
|
||
|
||
### FR-M3-03 响应完整性检查 · P0
|
||
|
||
对每条清单项,在投标文件里找对应的响应:
|
||
|
||
| 结论 | 含义 | 默认级别 |
|
||
|---|---|---|
|
||
| 已响应 | 找到了明确响应 | 不生成问题 |
|
||
| 未找到响应 | 所有分册里都没找到 | 按清单项类别定(见下表) |
|
||
| 负偏离未说明 | 偏离表或正文里有不满足的地方,但没有说明 | 同上 |
|
||
| 疑似不满足 | 技术参数的响应值,按比较方式判断不满足要求(如要求 ≥ 32GB,响应 16GB) | 同上 |
|
||
|
||
级别规则:
|
||
|
||
| 清单项 | 致命 | 重要 | 提示 |
|
||
|---|---|---|---|
|
||
| ★ 条款、资格条件、无效 / 废标条款 | ✓ | | |
|
||
| ▲ 参数、评分项缺证明材料 | | ✓ | |
|
||
| 一般参数、其他 | | | ✓ |
|
||
|
||
**验收**
|
||
- 每个问题都带两边的出处:招标原文,和投标原文(「未找到」时写明找过哪些分册、哪些章节)。
|
||
- 每个问题都对应一条清单项;用户能从问题跳到清单项,也能反过来。
|
||
|
||
### FR-M3-04 形式要件检查 · P0
|
||
|
||
分成两类,分开显示:
|
||
|
||
- **可自动检查**:投标函、授权书等格式文件是否齐全,是否改动了格式文件里的固定文字;签字 / 盖章位置**有没有**(只看有无,不鉴定真伪,界面写明);落款日期是否合理;文件里有没有出现其他项目的名称、编号或采购人(照搬旧标书留下的)。
|
||
- **需人工核对**:份数、装订密封、递交方式、CA 加密等,文件里看不出来。这些生成「请核对」条目,用户勾选确认。勾选结果按项目保存,复查时沿用,报告写明勾选人和时间(决策 P2)。
|
||
|
||
### FR-M3-05 资质匹配检查 · P0
|
||
|
||
- 每条资格条件和评分项要求的证明材料,都要在投标文件中找到对应材料。
|
||
- 如果有资质库(FR-M6-08),再用投标截止日判断证书有没有过期,等级够不够。
|
||
- 三种预警:过期 / 等级不足 / 未覆盖。资质数据只来自用户自己的资质库和投标文件,系统不从外部补数据。
|
||
|
||
### FR-M3-06 报价形式检查 · P0 [新增:从 P1 拆出并升级]
|
||
|
||
只检查**形式**,不评价报价是否合理,也不建议报价:
|
||
|
||
- 投标报价是否超过限价,按三层检查:总价限价、采购包限价、分项限价 / 单价上限(07 F6)。超限在政府采购和招投标两个体系里都是法定无效 / 否决情形,见 05 §2;
|
||
- 开标一览表和分项报价表的合计是否一致;大写和小写金额是否一致。注意:苏采云范本规定开标一览表和分项不一致时「不作无效处理,以开标一览表为准」,所以这项定为「重要」,不是「致命」,说明里要引用原文;
|
||
- 只给一个报价(招标文件允许备选方案的除外)。
|
||
|
||
**验收**:报价数字只从投标文件读取,界面上没有任何「建议报价 / 报价区间」的字样。
|
||
|
||
### FR-M3-07 人工确认 · P0
|
||
|
||
- 每个问题的状态:待处理 → 已确认无误 / 已修改 / 忽略(必须填原因)。
|
||
- 「致命」级问题选「已确认无误」时,也必须填一句说明(决策 U4);说明同时进入误报反馈。
|
||
- 还有没处理的「致命」问题时,项目就绪状态是「未就绪」,但**不阻止导出**。
|
||
- 支持批量处理(仅限「提示」级);每次处理都记录处理人和时间。
|
||
- 每个问题都可以「反馈:判断有误」(J5)。
|
||
|
||
### FR-M3-08 复查与状态沿用 · P0 [新增:明确规则]
|
||
|
||
- 匹配规则:「清单项 + 问题类型」相同,就算同一个问题。
|
||
- 问题还在:沿用上次的处理状态,标「沿用」;如果上次是「已修改」,改回「待处理」(说明没改好)。
|
||
- 问题消失:自动关闭,标「本次已解决」;新出现的问题标「新增」。
|
||
|
||
### FR-M3-09 检查报告导出 · P0
|
||
|
||
PDF 报告内容:
|
||
|
||
1. 首页:项目信息、投标文件版本、检查时间、规则版本、**检查覆盖范围**(查了什么、没查什么)、免责声明(辅助检查,不保证结果);
|
||
2. 汇总:各级别的问题数和处理状态;
|
||
3. 问题明细:问题、出处、处理状态、处理人、时间、忽略原因;
|
||
4. 附录:需人工核对的条目,以及勾选结果。
|
||
|
||
**验收**:报告里不出现「通过 / 合格 / 保证」这类字样;生成的报告随项目归档,可以重复下载。
|
||
|
||
---
|
||
|
||
## M6 · 基础平台
|
||
|
||
### FR-M6-01 项目工作台 · P0
|
||
|
||
- 项目列表:名称、采购人、所投包、截止倒计时、状态、就绪状态、致命问题数。
|
||
- 筛选:状态、截止时间区间;排序默认按截止时间。
|
||
|
||
### FR-M6-02 项目状态流 · P0
|
||
|
||
`跟进中 → 编制中 → 已检查 → 已递交 → 已归档`
|
||
|
||
| 状态 | 进入条件 | 说明 |
|
||
|---|---|---|
|
||
| 跟进中 | 新建项目 | MVP 没有 M1,这个状态只是「刚创建」 |
|
||
| 编制中 | 第一份招标文件解析成功 | 自动 |
|
||
| 已检查 | 完成过至少一次检查 | 自动;另有「就绪 / 未就绪」标记 |
|
||
| 已递交 | 用户手动标记 | 项目改为只读;可以撤销(留痕) |
|
||
| 已归档 | 用户手动操作 | 可以随时撤销归档 |
|
||
|
||
就绪状态和项目状态分开存:只有「已检查」状态才显示就绪状态(G7)。
|
||
|
||
### FR-M6-03 额度计量 · P0
|
||
|
||
- 额度账户按企业主体建;流水类型:发放 / 预扣 / 结算 / 退回 / 过期 / 人工调整(必须填原因)。
|
||
- 额度页:本期已用、剩余、按功能分布,流水可以查到具体是哪个项目、哪个任务。
|
||
- 用到 80%、100% 时站内提醒,同一阈值每个周期只提醒一次。
|
||
|
||
**验收**:任何一笔扣点都能对应到一个任务;任何失败任务都没有净扣点。
|
||
|
||
### FR-M6-04 账号与企业主体 · P0 [新增]
|
||
|
||
- 手机号 + 验证码注册 / 登录;注册时填企业名称(MVP 不做企业认证,G9)。
|
||
- 同一个手机号只能属于一个企业主体;风控:同一账号异地多设备并发登录时提示并限制(PRD 8.5)。
|
||
|
||
### FR-M6-05 套餐与开通 · P0 [新增]
|
||
|
||
- 免费版注册就有。
|
||
- 专业版:用户在线提交开通申请(企业名称、开票信息)→ 对公转账 → 运营后台确认到账后开通,并开发票(G8)。线上自助支付以后再做。
|
||
- 套餐到期后:数据保留,只读;额度清零(按 PRD,额度有效期跟着订阅周期走)。
|
||
|
||
### FR-M6-06 数据删除 · P0
|
||
|
||
见 J4;保留策略见 G10。
|
||
|
||
### FR-M6-07 审计留痕 · P0
|
||
|
||
- 记录的事件:清单修改、清单确认、问题处理、报告导出、项目状态变更、删除、额度人工调整。
|
||
- MVP 只存储,不提供用户自助导出(P2);运营后台可以查询。
|
||
|
||
### FR-M6-08 最小资质库 · P0 [新增:从 P1 拆出]
|
||
|
||
- 条目:资质名称、类型(资质证书 / 体系认证 / 软件著作权 / 其他)、等级、证书编号、发证机构、有效期起止、附件。
|
||
- 只在 M3 资质匹配里用;完整的资产库(业绩、人员、历史标书)是 V1。
|
||
|
||
### FR-M6-09 运营后台(最小版)· P0 [新增]
|
||
|
||
用户 / 企业查询、套餐开通与续费、额度调整(带原因)、查看漏报 / 误报反馈、查看解析 / 检查任务的失败日志。
|