架构与实现
卓安Claw 分诊承办律师分配 v1.0
日期:2026-11-13
状态:分诊推荐/分配/改派与预约排期均已落地
关联:卓安Claw-任务链-v1.0.md、卓安Claw-用户身份与权限上下文-v1.0.md、卓安Claw-预约排期-v1.0.md
0. 一句话
分诊不是“把案件丢给一个人”,而是按专长、分所、当前负荷推荐承办律师,分配后写负责人/团队、推进到接诊,并自动生成接诊任务。
1. 队列
- 待分诊:
zhuoan_case_stage.stage_key='triage' - 接诊中:
stage_key='receive'(可改派) - 只显示当前账号数据范围内、状态为在办/搁置的案件。
2. 推荐算法(V1,可解释)
对每个候选承办律师:
- 基础分 50
- 专长匹配(案件类型出现在部门/专长):+25
- 同分所:+15
- 负荷:
max(0, 20 - 在办案件数 × 5) - 上限 99,按分数降序、负荷升序推荐前三
候选卡展示:姓名、分所、专长、当前负荷、评分、推荐理由(专长匹配/同分所/负荷较低/负荷偏高)。
V1 是规则推荐,不是黑箱排名;后续可加入冲突检索、质量分、客户评分、历史同类案件。
3. 分配动作
POST /api/zhuoan/triage/assign:
- 校验角色:管理者/谈案律师。
- 校验案件数据范围、未归档、未结案。
- 校验候选:有效、承办律师、active。
- 写
zhuoan_case_scope:负责人、分所、部门、案件团队。 - 若当前节点是
triage,推进到receive,写zhuoan_stage_log。 - 更新案件阶段为谈案。
- 创建接诊任务(任务链:转化 / 接诊节点 / 执行人=DRI=承办律师)。
- 写审计
zhuoan_triage_assigned。
4. API / UI
GET /api/zhuoan/triage:待分诊/接诊队列 + 每案候选前三 + 汇总。POST /api/zhuoan/triage/assign:分配/改派。- 前端侧栏「客户与线索 → 分诊」:
- 待分诊/接诊中/承办候选/当前队列指标
- 每案候选卡(推荐/负荷/评分/理由)
- 分配/改派弹窗,确认后刷新队列
5. 权限与边界
- 客服可见分诊队列但不能分配(无 case:view/分配角色)。
- 管理者/谈案律师可分配。
- 分配只写负责人/团队/分所与任务,不复制案卷内容。
- 候选推荐只使用账号资料与案件聚合负荷,不读取案卷正文。
6. 验证
GET /api/zhuoan/triage:3 个接诊中案件、4 名承办候选;首推周航(65 分)。- Playwright 1920×1080:3 张分诊卡、3 个分配按钮;分配弹窗 4 名候选;确认后队列刷新,0 console error。
- 截图:
C:\tmp\triage.png。
7. 下一步
- 预约排期 V1 已完成(时间段/冲突校验/状态流转),见
卓安Claw-预约排期-v1.0.md;企微提醒待接。 - 冲突预筛接入分诊(利益冲突命中时阻止分配)。
- 推荐算法加入质量分、同类案件经验、客户评分。
- 分配后通知承办律师(企微/站内)。