refactor(dialogue): naturalize multi-role conversations, close chat sessions with assistant response, and set URS to project shared
This commit is contained in:
+167
-25
@@ -343,6 +343,100 @@ PROJECT_DEFS = [
|
||||
def sha256_text(text: str) -> str:
|
||||
return hashlib.sha256(text.encode("utf-8")).hexdigest()
|
||||
|
||||
|
||||
PROJECT_ROLE_CHAT_SCRIPTS = {
|
||||
6001: {
|
||||
"u1_initial": "助手,我刚把望京医院骨伤科临床中心联合编制的《{urs_name}》上传并共享到项目参考库了。临床重点关注膝关节腔深部红外热疗(38℃~45℃ 精确控温)与中频脉冲电刺激的协同镇痛机制,且必须具备皮肤接触防烫伤双重硬件断电保护。请对参考库中的 URS 进行结构化解析,提取关键临床指标、工程参数和适用的国家强制性标准。",
|
||||
"u2_ask": "@项目助手,调出张工提交的《{srs_title}》和刚共享的 URS 原文《{urs_name}》。重点帮我核对两项合规门禁:\n1. 望京医院提出的深部红外热疗与离子导入防灼伤保护({highlight_tech})是否已完整分解至规格条款;\n2. 依据 YY 0601-2007 与 GB 9706.1-2020,患者漏电流和限温断电在 SRS 中设定的公差和检验方法是否明确。",
|
||||
"u2_pass": "已核验 URS 原文,深部控温与漏电流安全指标分解详尽,强标依据充分,同意通过初审。请推进到王总监终审。",
|
||||
"u2_ack": "好的李主管!审核意见已记录归档,《{srs_title}》初审合规流程已完成,文档状态已更新为「终审中(approving)」。系统已自动生成待办通知王总监进行终审签批,待基线发布后将即刻联动下游测试验证工作流。",
|
||||
"u3_ask": "李主管初审通过的那份《{srs_title}》情况如何?把需求溯源闭环率和关键质量门禁指标汇报一下,如果合规依据扎实,准备做终审批准。",
|
||||
"u3_pass": "终审批准通过。基线正式冻结,通知张工和测试组抓紧启动系统验证方案编制。",
|
||||
"u3_ack": "已收到王总监终审签批指令!《{srs_title}》V1.0 权威基线已正式受控生效(approved)。系统已锁定文档血缘追溯,下游【智能测试经理】工作流已正式放行解锁,已下发通知至编制组与测试团队全面推进。"
|
||||
},
|
||||
6002: {
|
||||
"u1_initial": "助手,天智航骨科手术机器人配套的《{urs_name}》我已经上传并共享到项目参考库。研发部给出的配套指标很严:透视中心空间重复定位精度必须优于 0.3mm,且单次三维扫描辐射累积剂量较传统连续透视降低 30% 以上。请调阅 URS 进行合规与工程要素深度解析。",
|
||||
"u2_ask": "@项目助手,看一下张工提审的《{srs_title}》,对照天智航共享的 URS 原文《{urs_name}》。帮我重点复核:\n1. 机器人导航配准要求的定位精度与微剂量曝光({highlight_tech})是否已 100% 落实为技术指标;\n2. 对标 GB 9706.254 与 GB 9706.103 辐射防护专标,球管热容量和防坠落机构的安全系数有没有漏项。",
|
||||
"u2_pass": "复核完毕,高频脉冲曝光参数与防坠落安全互锁设计完备,各项公差符合机器人协同要求,初审合格,建议王总监终审批准。",
|
||||
"u2_ack": "收到李主管评审意见!天智航 C 臂《{srs_title}》已完成合规审核并推进至「终审中(approving)」,已触发王总监终审待办。",
|
||||
"u3_ask": "张工和李主管刚完成天智航 C 臂规格书的初审。助手,把 URS 溯源覆盖情况和关键安全门禁汇报一下,看看是否满足 V1.0 基线冻结条件,准备终审签批。",
|
||||
"u3_pass": "同意签批。空间精度指标与微剂量曝光规格很扎实,批准生效,转入测试经理工作流。",
|
||||
"u3_ack": "王总监终审批准已入库锁定!《{srs_title}》正式升为 V1.0 权威受控基线,已联动放行下游【智能测试经理】工作流。"
|
||||
},
|
||||
6003: {
|
||||
"u1_initial": "助手,解放军总医院第一医学中心 ICU 的《{urs_name}》已上传并共享到项目参考库。隔离病房临床现场要求很高:狭窄过道(最小净宽 70cm)必须自主导航零刮碰,而且电子听诊器采集心音时必须滤除呼吸机与监护仪低频噪音。请基于这份 URS 提取关键临床和工程指标。",
|
||||
"u2_ask": "@项目助手,查阅一下刚提审的《{srs_title}》和解放军总医院共享的 URS《{urs_name}》。帮我重点把关:\n1. ICU 窄道避障与听诊臂接触力控({highlight_tech})在规格书中分解得是否严密;\n2. 机械臂碰撞保护和电气安全(GB 9706.1-2020)是否包含硬件级断电防护,准备出具审核意见。",
|
||||
"u2_pass": "机械臂力控退让曲线与听诊滤波频响指标严谨,安全脱扣机制符合标准要求,初审通过,请呈批王总监。",
|
||||
"u2_ack": "好的李主管!巡诊机器人《{srs_title}》初审通过记录已锁定归档,已通知王总监进行终审批准。",
|
||||
"u3_ask": "巡诊机器人的系统需求规格书初审结论出来了没有?助手,把需求覆盖率和力控安全门禁总结一下,没问题的话我来做终审批准。",
|
||||
"u3_pass": "终审批准通过。ICU 病房人机安全是红线,规格定义很全面,基线正式发布。",
|
||||
"u3_ack": "王总监终审签批已生效!《{srs_title}》已锁定为权威基线,智能测试经理工作流已解锁就位。"
|
||||
},
|
||||
6004: {
|
||||
"u1_initial": "助手,常州祥合洁医疗编制的《{urs_name}》已上传并共享到项目参考库。质量部提了两个硬性要求:刀杆在 300℃ 高温切凝后绝缘层不能碳化脱落,且全套材料必须满足生物相容性要求。请调阅这份 URS,提炼工程基线和检验规程。",
|
||||
"u2_ask": "@项目助手,调出《{srs_title}》与参考库中祥合洁的 URS《{urs_name}》。帮我把关两项强标要求:\n1. 刀杆高频耐击穿电压与防粘涂层({highlight_tech})是否完全对标 GB 9706.202-2021;\n2. 生物相容性(GB/T 16886)和无菌环氧乙烷残留限值是否明确,准备初审盖章。",
|
||||
"u2_pass": "高频绝缘介电试验配置与无菌包装指标分解扎实,材料生物相容性全项对齐,同意通过初审。",
|
||||
"u2_ack": "收到李主管审核意见!高频电极规格书已完成初审,文档状态升至 approving,待总监终审。",
|
||||
"u3_ask": "祥合洁高频电极的 SRS 初审通过了吗?助手,汇报一下绝缘耐压指标和型检合规覆盖率,确认无误后做终审发布。",
|
||||
"u3_pass": "终审批准生效。无源高频手术附件型检要求苛刻,规格书定义清晰,同意批准。",
|
||||
"u3_ack": "收到指令!祥合洁高频电极《{srs_title}》已正式批准生效并锁定基线,测试经理工作流已解锁。"
|
||||
},
|
||||
6005: {
|
||||
"u1_initial": "助手,北京口腔医院牙体牙髓科编制的《{urs_name}》已上传并共享到参考库。临床核心痛点是防止器械在弯曲根管中断针,要求遇到阻力时毫秒级反转,而且次氯酸钠湿润环境下测距精度不能飘。请基于这份 URS 提取工程参数和 YY 0836 专标要求。",
|
||||
"u2_ask": "@项目助手,看一下张工提交的牙髓治疗仪《{srs_title}》和北京口腔医院共享的 URS《{urs_name}》。重点核实:\n1. 防断针自适应反转与根尖孔阻抗测距({highlight_tech})是否制定了定量公差与测试方法;\n2. 弯机头耐受 134℃ 高压蒸汽灭菌的可靠性指标是否完整,准备出具初审意见。",
|
||||
"u2_pass": "防断针反转延迟(<20ms)与高温灭菌循环寿命指标界定严密,同意初审通过,请推进到总监审批。",
|
||||
"u2_ack": "好的李主管!牙髓治疗仪规格书初审记录已归档,已推送到王总监待办终审。",
|
||||
"u3_ask": "牙髓治疗仪的规格书初审结果如何?助手,简要汇报一下防断针响应时间与质量门禁状态,准备终审签批锁定 V1.0 基线。",
|
||||
"u3_pass": "终审批准通过。断针风险控制到位,基线予以锁定,开启测试验证方案编制。",
|
||||
"u3_ack": "收到王总监指令!牙髓治疗仪规格书 V1.0 已正式受控发布,智能测试经理工作流已解锁启动。"
|
||||
},
|
||||
6006: {
|
||||
"u1_initial": "助手,自研研发中心编制的《{urs_name}》已经上传并共享到项目参考库。转化医学实验室强调头戴 AR 眩晕感和配准漂移问题,要求空间重叠误差必须小于 1mm,运动延迟低于 20ms,帧率不低于 60fps。请基于 URS 提取核心算法与法规要素。",
|
||||
"u2_ask": "@项目助手,调取《{srs_title}》和参考库中的自研 AR URS《{urs_name}》。重点把关:\n1. 空间配准精度与端到端延迟({highlight_tech})的算法分解;\n2. 对标 YY/T 0664-2020 软件生存周期和医疗器械网络安全指导原则,异常容错机制是否完备,准备初审核签。",
|
||||
"u2_pass": "多模配准精度与丢帧告警策略设计充分,软件安全性级别评估合理,同意初审通过。",
|
||||
"u2_ack": "收到李主管意见!自研 AR 导航软件规格书初审完毕,状态进入 approving,已提交王总监终审。",
|
||||
"u3_ask": "自研 AR 导航系统的需求规格书李主管审查过了吧?助手,把算法精度边界和网络安全门禁汇报一下,我来执行终审批准并释放测试流。",
|
||||
"u3_pass": "终审批准生效。这是自研核心软件,空间误差与防误触容错指标过硬,批准发布。",
|
||||
"u3_ack": "王总监终审批准已锁定!自研 AR 导航软件 V1.0 基线已受控归档,已激活下游测试工作流。"
|
||||
},
|
||||
6007: {
|
||||
"u1_initial": "助手,北京蓝汀医疗编制的《{urs_name}》已上传并共享至项目参考库。临床专家反馈重点:刀头等离子薄层激发点火时要避免闪络微弧,冲洗抽吸通道要防止组织碎屑堵塞,消融温度严格限制在 40℃~70℃。请解析 URS 并梳理出规格条目。",
|
||||
"u2_ask": "@项目助手,调阅《{srs_title}》及参考库中蓝汀的 URS《{urs_name}》。帮我复核两项指标:\n1. 双极等离子激发与组织消融控温({highlight_tech})是否符合 YY 9706.202 专标;\n2. 冲洗负压密封性和耐疲劳消融寿命指标是否量化,准备出具初审结论。",
|
||||
"u2_pass": "陶瓷绝缘耐电弧冲击和消融控温指标详实,符合微创刀头专标,同意通过初审。",
|
||||
"u2_ack": "好的李主管!蓝汀等离子刀头规格书初审完成,已生成待办递交王总监终审签批。",
|
||||
"u3_ask": "蓝汀等离子刀头的 SRS 初审情况如何?助手,汇报一下需求条目覆盖度和高频漏电流指标,确认无误后执行终审签批。",
|
||||
"u3_pass": "终审批准通过。侧向热损伤与气密性指标控制严格,准予作为 V1.0 受控基线生效。",
|
||||
"u3_ack": "王总监签批确认!蓝汀等离子电极规格书已生效受控,智能测试经理验证流已解锁放行。"
|
||||
},
|
||||
6008: {
|
||||
"u1_initial": "助手,天津医科大学总医院耳鼻喉头颈外科编制的《{urs_name}》已上传并共享到参考库。科室主任要求:主机必须具备智能刀头插座秒级识别与自适应推荐功率,脚踏开关具备明确双色阻尼防误踩,且高频工作时不能对心电监护仪产生电磁干扰。请调阅 URS 梳理技术基线。",
|
||||
"u2_ask": "@项目助手,检查一下张工提交的主机《{srs_title}》和天津总医院共享的 URS 原文《{urs_name}》。重点把关:\n1. 功率自适应阻抗跟踪与刀头识别({highlight_tech})是否已全量转译;\n2. 对标 YY 0505 电磁兼容与 GB 9706.202,手术室同机抗扰度指标是否明确,准备初审核签。",
|
||||
"u2_pass": "主机阻抗闭环保护与 EMI 滤波设计严密,三类设备安全门禁全部达标,同意通过初审。",
|
||||
"u2_ack": "收到李主管初审结论!等离子主机 SRS 已进入终审阶段,通知已派发至王总监。",
|
||||
"u3_ask": "低温等离子主机的系统需求规格书初审结果怎么样?助手,把射频安全指标和质量门禁覆盖率汇报一下,准备做终审签批。",
|
||||
"u3_pass": "终审批准通过。主机功率源稳定性与电磁兼容达标是核心,同意冻结 V1.0 基线。",
|
||||
"u3_ack": "王总监终审批准入库!低温等离子手术系统规格书正式受控,测试经理工作流已解锁推进。"
|
||||
},
|
||||
6009: {
|
||||
"u1_initial": "助手,北医三院运动医学研究所编制的《{urs_name}》已上传并共享到项目参考库。运医专家反馈:治疗手柄连续击打 2000 发后枪体发烫严重,影响护士握持;另外要求脉冲气压重复精度必须优于 ±5%,保证治疗剂量一致。请调阅 URS,提取出关键工程指标和 YY 0650 专标条款。",
|
||||
"u2_ask": "@项目助手,调出刚提审的《{srs_title}》和北医三院共享的 URS《{urs_name}》。重点核对:\n1. 手柄温升控制与气压输出精度({highlight_tech})是否具备明确公差范围与测试方案;\n2. 声场聚焦指标(YY 0650-2008)和水听器检测要求是否齐全,准备签署初审意见。",
|
||||
"u2_pass": "手柄循环风冷温升与撞针弹道寿命指标可测可检,声学专标对齐充分,初审合格。",
|
||||
"u2_ack": "好的李主管!冲击波治疗仪初审意见已归档,已将终审流程提交王总监审批。",
|
||||
"u3_ask": "冲击波治疗仪的规格书初审完成了吧?助手,把声场安全指标和疲劳寿命门禁总结一下,准备做终审批准并下发测试任务。",
|
||||
"u3_pass": "终审签批通过。弹道寿命与手柄散热是临床使用口碑关键,规格书要求到位,批准发布。",
|
||||
"u3_ack": "王总监终审指令已执行!冲击波治疗仪规格书锁定为权威基线,测试工作流已启动。"
|
||||
},
|
||||
6010: {
|
||||
"u1_initial": "助手,中日友好医院超声科与风湿免疫科联合编制的《{urs_name}》已上传并共享到参考库。科室反馈:超声斑点噪声大、滑膜边界模糊,算法分割滑膜厚度时经常与邻近肌腱组织混淆,要求测量误差在 0.3mm 以内。请提取该软件产品需求说明书的受控要素。",
|
||||
"u2_ask": "@项目助手,看一下张工提交的肌骨超声软件《{srs_title}》和中日友好医院共享的 URS《{urs_name}》。重点核实:\n1. 滑膜分割 Dice 系数与线性测距精度({highlight_tech})是否制定了金标准比对方法;\n2. 依据《人工智能医用软件审评指导原则》与 YY/T 0664,患者数据脱敏与模型追溯是否落实到位,准备初审结论。",
|
||||
"u2_pass": "算法 Dice 边界与医生盲态比对一致性验证设计合理,数据安全留痕符合指导原则,同意初审通过。",
|
||||
"u2_ack": "收到李主管审核通过意见!肌骨超声软件规格书已推进至 approving 终审,已呈请王总监签批。",
|
||||
"u3_ask": "肌骨超声软件的 SRS 初审结论如何?助手,把临床金标准比对一致性和软件质量门禁汇报一下,没问题的话进行终审签批并推进到验证方案。",
|
||||
"u3_pass": "同意终审批准。AI 辅助测量软件精度公差必须过硬,规格书设定合理,正式生效并开启测试。",
|
||||
"u3_ack": "已收到王总监终审批准!肌骨超声影像处理软件 V1.0 权威基线正式生效,智能测试经理工作流已解锁上线。"
|
||||
}
|
||||
}
|
||||
|
||||
def generate_urs_markdown(p, urs_title: str) -> str:
|
||||
code = p["code"]
|
||||
name = p["name"]
|
||||
@@ -355,7 +449,7 @@ def generate_urs_markdown(p, urs_title: str) -> str:
|
||||
return f"""# {urs_title}
|
||||
|
||||
> **文件编号**:{code}-URS-01
|
||||
> **受控密级**:商用机密 / 内部受控
|
||||
> **受控密级**:内部受控 / 团队协作共享
|
||||
> **当前版本**:V1.0
|
||||
> **编制人**:张工(临床工程部)
|
||||
> **审核人**:李主管(技术与法规部)
|
||||
@@ -363,7 +457,7 @@ def generate_urs_markdown(p, urs_title: str) -> str:
|
||||
> **编制日期**:2026-09-11
|
||||
> **归属项目**:{name} ({code})
|
||||
> **归属客户/临床科室**:{cust}
|
||||
> **文档空间**:🔒 个人私密文档库 (支持一键共享至项目协作参考库)
|
||||
> **文档空间**:🌐 项目协作参考库 (由张工上传并一键共享供全组协作查阅)
|
||||
|
||||
---
|
||||
|
||||
@@ -394,9 +488,9 @@ def generate_urs_markdown(p, urs_title: str) -> str:
|
||||
- GB 9706.1-2020 医用电气设备第一部分:基本安全和基本性能的通用要求;
|
||||
- YY 0505-2012 / GB 9706.102 电磁兼容要求与试验。
|
||||
|
||||
## 6. 个人私密与协作共享声明
|
||||
- 本文档当前归档于张工的【个人私密文档库】。
|
||||
- 编制人可在右侧文档操作栏点击「一键共享给项目组」,将本 URS 共享至项目协作参考库,供李主管、王总监及下游团队成员共同评审查阅。
|
||||
## 6. 协作与权限说明
|
||||
- 本文档由张工收集临床与市场需求后上传,并已通过右侧操作栏「一键共享给项目组」,当前存放于【项目协作参考库】供审核人李主管、批准人王总监及全组查阅。
|
||||
- 张工作为上传所有者,仍可根据商业保密要求随时「撤回为个人私密」。
|
||||
"""
|
||||
|
||||
def build_data():
|
||||
@@ -420,7 +514,7 @@ def build_data():
|
||||
"deviceType": p["device_type"],
|
||||
"stage": "V0.5",
|
||||
"stageLabel": "V0.5 方案成型与法规对齐",
|
||||
"messageCount": 8,
|
||||
"messageCount": 9,
|
||||
"updatedAt": "刚刚"
|
||||
})
|
||||
sessions.append({
|
||||
@@ -431,7 +525,7 @@ def build_data():
|
||||
"deviceType": p["device_type"],
|
||||
"stage": "V0.5",
|
||||
"stageLabel": "V0.5 方案成型与法规对齐",
|
||||
"messageCount": 4,
|
||||
"messageCount": 5,
|
||||
"updatedAt": "刚刚"
|
||||
})
|
||||
sessions.append({
|
||||
@@ -442,7 +536,7 @@ def build_data():
|
||||
"deviceType": p["device_type"],
|
||||
"stage": "V0.5",
|
||||
"stageLabel": "V0.5 方案成型与法规对齐",
|
||||
"messageCount": 4,
|
||||
"messageCount": 5,
|
||||
"updatedAt": "刚刚"
|
||||
})
|
||||
|
||||
@@ -467,6 +561,9 @@ def build_data():
|
||||
srs_hash = sha256_text(srs_md)
|
||||
svp_hash = sha256_text(svp_md)
|
||||
|
||||
# 获取该项目的专属生动对话脚本
|
||||
script = PROJECT_ROLE_CHAT_SCRIPTS[pid]
|
||||
|
||||
# 2. 生成张工 (u1) 的多轮专业对话
|
||||
u1_sess = f"sess-{pkey}-u1"
|
||||
messages.append({
|
||||
@@ -480,6 +577,10 @@ def build_data():
|
||||
|
||||
msg_idx = 2
|
||||
for pair_idx, (user_q, asst_a) in enumerate(p["chat_topics"]["u1"]):
|
||||
# 第一轮对话为上传 URS 需求文档 (挂载真实文件附件及可点击 docId)
|
||||
if pair_idx == 0:
|
||||
user_q = script["u1_initial"].format(urs_name=p["urs_file"]["name"])
|
||||
|
||||
user_msg = {
|
||||
"id": f"m-{pkey}-{msg_idx}",
|
||||
"sessionId": u1_sess,
|
||||
@@ -489,7 +590,6 @@ def build_data():
|
||||
"authorName": "张工"
|
||||
}
|
||||
|
||||
# 第一轮对话为上传 URS 需求文档 (挂载真实文件附件及可点击 docId)
|
||||
if pair_idx == 0:
|
||||
urs_att = dict(p["urs_file"])
|
||||
urs_att["docId"] = doc_urs_id
|
||||
@@ -582,7 +682,7 @@ def build_data():
|
||||
messages.append(asst_msg)
|
||||
msg_idx += 1
|
||||
|
||||
# 3. 生成李主管 (u2) 审核对话 (调阅张工上传的 URS 文档并挂载【审核确认卡】)
|
||||
# 3. 生成李主管 (u2) 审核对话 (调阅张工共享的 URS 文档并挂载【审核确认卡】)
|
||||
u2_sess = f"sess-{pkey}-u2"
|
||||
messages.append({
|
||||
"id": f"m-{pkey}-u2-1",
|
||||
@@ -598,7 +698,12 @@ def build_data():
|
||||
"role": "user",
|
||||
"category": "review",
|
||||
"intentTag": "🔍 调阅 URS 对标合规审查",
|
||||
"content": f"我是审核人李主管。我已调阅张工上传的用户需求文档《{p['urs_file']['name']}》及新编制的《{p['srs_title']}》。请重点核查:\n1. URS 中临床提出的核心指标({p['highlight_tech']})是否已 100% 转译为受控 REQ 条目;\n2. 适用强标({p['target_market']})有无遗漏;\n3. 指标是否具备明确公差与检验方法,准备出具初审结论。",
|
||||
"content": script["u2_ask"].format(
|
||||
srs_title=p["srs_title"],
|
||||
urs_name=p["urs_file"]["name"],
|
||||
highlight_tech=p["highlight_tech"],
|
||||
target_market=p["target_market"]
|
||||
),
|
||||
"timestamp": "10:05",
|
||||
"authorName": "李主管"
|
||||
})
|
||||
@@ -608,7 +713,7 @@ def build_data():
|
||||
"role": "assistant",
|
||||
"category": "review",
|
||||
"intentTag": "📋 URS 溯源覆盖核查与合规审核",
|
||||
"content": f"李主管您好!针对张工上传的 URS 输入《{p['urs_file']['name']}》与所编制《{p['srs_title']}》的合规对标审核报告如下:\n\n1. **URS 需求条目覆盖度**:原文档提取的全部临床与工程需求已全量转译,覆盖率 100%,已分配全局唯一受控编号(REQ-001 ~ REQ-XXX);\n2. **关键参数与公差界限**:核心技术亮点({p['highlight_tech']})均已设定精确公差区间与安全切断保护;\n3. **强制性标准审查**:完全符合 {p['target_market']} 现行有效版本,无漏项;\n4. **可检验性审查**:所有条目均已指明验证方法(分析/型检/测试),无模糊占位描述。\n\n已为您生成技术与合规审核门禁卡片,请您核验后执行确认:",
|
||||
"content": f"李主管您好!针对张工共享的 URS 输入《{p['urs_file']['name']}》与所编制《{p['srs_title']}》的合规对标审核报告如下:\n\n1. **URS 需求条目覆盖度**:原文档提取的全部临床与工程需求已全量转译,覆盖率 100%,已分配全局唯一受控编号(REQ-001 ~ REQ-XXX);\n2. **关键参数与公差界限**:核心技术亮点({p['highlight_tech']})均已设定精确公差区间与安全切断保护;\n3. **强制性标准审查**:完全符合 {p['target_market']} 现行有效版本,无漏项;\n4. **可检验性审查**:所有条目均已指明验证方法(分析/型检/测试),无模糊占位描述。\n\n已为您生成技术与合规审核门禁卡片,请您核验后执行确认:",
|
||||
"timestamp": "10:06",
|
||||
"authorName": "项目助手",
|
||||
"interactiveCard": {
|
||||
@@ -618,7 +723,7 @@ def build_data():
|
||||
"targetDocId": doc_srs_id,
|
||||
"targetDocTitle": p["srs_title"],
|
||||
"sectionTitle": f"URS 需求追溯({p['urs_file']['name']})与强标审查",
|
||||
"proposedContent": f"李主管已完成合规性初审:已对标张工上传的 URS 文档《{p['urs_file']['name']}》,{p['target_market']} 相关法规与工程参数({p['highlight_tech']})转译无误,需求溯源覆盖率 100%,建议确认通过并流转总监终审。",
|
||||
"proposedContent": f"李主管已完成合规性初审:已对标张工共享的 URS 文档《{p['urs_file']['name']}》,{p['target_market']} 相关法规与工程参数({p['highlight_tech']})转译无误,需求溯源覆盖率 100%,建议确认通过并流转总监终审。",
|
||||
"impactRisk": "中风险:确认后文档保持锁定并移交终审批准人;若有疑义可执行驳回退回编制修订",
|
||||
"status": "resolved",
|
||||
"ttlTurns": 3,
|
||||
@@ -648,10 +753,27 @@ def build_data():
|
||||
"sessionId": u2_sess,
|
||||
"role": "user",
|
||||
"category": "review",
|
||||
"content": f"审核意见:已核验 URS 原文,技术指标分解详尽,强标依据充分,同意通过并转交王总监终审。",
|
||||
"content": script["u2_pass"].format(
|
||||
srs_title=p["srs_title"],
|
||||
urs_name=p["urs_file"]["name"],
|
||||
highlight_tech=p["highlight_tech"]
|
||||
),
|
||||
"timestamp": "10:08",
|
||||
"authorName": "李主管"
|
||||
})
|
||||
messages.append({
|
||||
"id": f"m-{pkey}-u2-5",
|
||||
"sessionId": u2_sess,
|
||||
"role": "assistant",
|
||||
"category": "review",
|
||||
"intentTag": "✅ 初审通过归档并派发终审",
|
||||
"content": script["u2_ack"].format(
|
||||
srs_title=p["srs_title"],
|
||||
urs_name=p["urs_file"]["name"]
|
||||
),
|
||||
"timestamp": "10:09",
|
||||
"authorName": "项目助手"
|
||||
})
|
||||
|
||||
# 4. 生成王总监 (u3) 批准对话 (确认 URS 输入基线到 SRS 的闭环并挂载【终审批准卡】)
|
||||
u3_sess = f"sess-{pkey}-u3"
|
||||
@@ -669,7 +791,10 @@ def build_data():
|
||||
"role": "user",
|
||||
"category": "review",
|
||||
"intentTag": "👑 终审签批与基线决策",
|
||||
"content": f"我是批准人王总监。李主管已完成对基于 URS 原始输入《{p['urs_file']['name']}》到《{p['srs_title']}》编制的初审,请汇报该受控交付物终审批准的整体合规结论与权威基线发布。",
|
||||
"content": script["u3_ask"].format(
|
||||
srs_title=p["srs_title"],
|
||||
urs_name=p["urs_file"]["name"]
|
||||
),
|
||||
"timestamp": "10:20",
|
||||
"authorName": "王总监"
|
||||
})
|
||||
@@ -713,22 +838,39 @@ def build_data():
|
||||
"sessionId": u3_sess,
|
||||
"role": "user",
|
||||
"category": "review",
|
||||
"content": "终审批准通过。请立即下达工程指令,按计划启动系统验证方案编制。",
|
||||
"content": script["u3_pass"].format(
|
||||
srs_title=p["srs_title"]
|
||||
),
|
||||
"timestamp": "10:25",
|
||||
"authorName": "王总监"
|
||||
})
|
||||
messages.append({
|
||||
"id": f"m-{pkey}-u3-5",
|
||||
"sessionId": u3_sess,
|
||||
"role": "assistant",
|
||||
"category": "review",
|
||||
"intentTag": "🚀 权威基线发布并解锁测试",
|
||||
"content": script["u3_ack"].format(
|
||||
srs_title=p["srs_title"],
|
||||
urs_name=p["urs_file"]["name"]
|
||||
),
|
||||
"timestamp": "10:26",
|
||||
"authorName": "项目助手"
|
||||
})
|
||||
|
||||
# 交付物元数据
|
||||
# 0) 用户需求说明书 (URS) 交付物 (作为张工上传的个人私密文档,带一键共享)
|
||||
# 0) 用户需求说明书 (URS) 交付物 (由张工上传并已一键共享至项目参考库)
|
||||
deliverables.append({
|
||||
"docId": doc_urs_id,
|
||||
"projectId": pid,
|
||||
"taskKey": "user_requirements",
|
||||
"title": urs_title,
|
||||
"stage": "V0.5",
|
||||
"category": "private",
|
||||
"category": "shared",
|
||||
"space": "project_shared",
|
||||
"creatorId": 1,
|
||||
"creatorName": "张工",
|
||||
"sharedAt": "2026-09-11 09:05",
|
||||
"isFixedWorkflow": False,
|
||||
"isTemplateOnly": False,
|
||||
"lifecycleState": "approved",
|
||||
@@ -736,9 +878,8 @@ def build_data():
|
||||
"author": "张工",
|
||||
"reviewer": "李主管",
|
||||
"approver": "王总监",
|
||||
"updatedAt": "2026-09-11 09:00",
|
||||
"summary": f"由临床科室与研发团队联合编制的《{p['name']}》用户需求说明书 (URS),已由张工上传至个人私密文档库,可一键共享至项目参考库。",
|
||||
"space": "my_private",
|
||||
"updatedAt": "2026-09-11 09:05",
|
||||
"summary": f"由临床科室与研发团队联合编制的《{p['name']}》用户需求说明书 (URS),已由张工上传并一键共享至项目协作参考库,供李主管、王总监及全组查阅。",
|
||||
"governanceMode": "freeform"
|
||||
})
|
||||
deliverables.append({
|
||||
@@ -787,21 +928,22 @@ def build_data():
|
||||
"taskKey": "user_requirements",
|
||||
"title": urs_title,
|
||||
"stage": "V0.5",
|
||||
"category": "private",
|
||||
"category": "shared",
|
||||
"space": "project_shared",
|
||||
"creatorId": 1,
|
||||
"creatorName": "张工",
|
||||
"sharedAt": "2026-09-11 09:05",
|
||||
"version": "V1.0",
|
||||
"lifecycleState": "approved",
|
||||
"isClaimed": True,
|
||||
"author": "张工",
|
||||
"reviewer": "李主管",
|
||||
"approver": "王总监",
|
||||
"updatedAt": "2026-09-11 09:00:00",
|
||||
"summary": f"{p['name']}用户需求说明书 (URS),已归档至个人私密文档库,支持一键共享至项目参考库。",
|
||||
"updatedAt": "2026-09-11 09:05",
|
||||
"summary": f"由临床科室与研发团队联合编制的《{p['name']}》用户需求说明书 (URS),已由张工上传并一键共享至项目协作参考库,供李主管、王总监及全组查阅。",
|
||||
"markdown": urs_md,
|
||||
"content": urs_md,
|
||||
"sha256": urs_hash,
|
||||
"space": "my_private",
|
||||
"governanceMode": "freeform"
|
||||
}
|
||||
documents[doc_srs_id] = {
|
||||
|
||||
Reference in New Issue
Block a user