ADR-003:卓安Claw 单壳一体化重构
本页目录
- 状态:方案 A 已按“案件业务壳”落地 S1–S6(P1/P2 完成,P3 主体完成;S5 演示硬化进行中;待项目组最终确认)
- 日期:2026-11-11
- 关联:ADR-002、
卓安Claw-及锋多用户改造可行性报告-v0.1.md、docs/prototype/卓安Claw-融合版壳设计-v1.0.md、docs/progress/2026-11-11-单壳一体化进展.md
1. 问题:现在不是“高度结合”,是两套东西并排
当前仓库里同时存在:
/zhuoan:真实案管数据、12 节点、材料、时限、审计,但没有会话;点“用 Agent 办理本案”会跳到独立聊天页。/zhuoan-app:完整 React 五屏和真实 Agent 会话,但工作台、案件详情、小程序仍读demoApi;它是另一个产品壳。- Agent 集成只有
extra_system_suffix注入案件文字;没有卓安专用工具、阶段化技能、结构化写回。 - 12 节点
zhuoan_case_stage与案管 5 段phase曾经不同步;清单在 React 里是 mock。 - 身份、账号、管理员各自一套:
zhuoan-admin.db+ 自定义 session + 演示 cookie,没有统一到及锋会话。 - React 源码在
zaclaw,构建后手工拷到zhuoan-claw/static,不是及锋构建链的一部分。
结论:这是两套壳 + 两套案件状态 + 两个 Agent 入口,不是“卓安功能长在及锋底座上”。
2. 决策:一个壳、一个案件对象、一个 Agent、一个身份、一个构建链
2.1 产品壳
默认采用 方案 A:及锋控制台单壳。
及锋 Web 控制台(唯一产品壳)
├─ 案件工作台 /zhuoan
│ ├─ 左:12 节点
│ ├─ 中:案件/清单/文档/审计
│ └─ 右:现有及锋会话(复用 chat/*.js,不另写聊天)
├─ 工作台 / 驾驶舱 / 客户 / 知识(原生视图)
├─ 管理后台 /zhuoan-admin(同一会话)
└─ 及锋原有:设置、能力、记忆、通道、定时、日志
/zhuoan-app退出产品导航,只保留为视觉/交互参考;不删除,避免丢历史。- 不再新增 React 页面作为产品主路径;后续 UI 迁移以及锋控制台模板/JS 为准。
2.2 案件对象
- 案管仍以
case_manager为唯一事实源。 - 卓安扩展只通过
zhuoan_case_stage、zhuoan_checklist、zhuoan_case_scope、zhuoan_document_policy等扩展表关联case_id,不复制案件主表。 - 12 节点与案管
phase双向同步;清单是真实表,不再由 React mock。 - 进入结果/结案、归档前,必做清单未完成则阻断。
2.3 Agent
- 会话仍是及锋
chat/*.js+/message+/stream。 - 服务端
ZhuoanContextService统一生成案件上下文:案件、12 节点、清单、文档索引、角色、数据范围、C 类约束。 - 注册卓安工具
zhuoan_case: context/checklist:只读;propose_checklist/propose_stage:只生成待确认动作,不直接写入;- 律师在案件工作台确认后,才执行清单更新/节点推进并写审计。
- 阶段决定可选技能/提示,不再把全部技能一次性塞给模型。
zhuoan_draft_writeback尚未实现,留待 P3/P4。- C 类文档只返回索引/摘要,不返回全文。
2.4 身份
- 企业微信 OAuth + 本地管理员共用一套
zhuoan_session。 - 会话角色优先于演示 cookie;
/zhuoan、/api/zhuoan/*、/message、/zhuoan-admin统一校验。 - 数据范围
本人/部门/分所/全所/案件团队在案件、客户、驾驶舱、Agent 工具层生效。
2.5 构建
- 产品页面和及锋控制台同一构建;不再手工拷
dist。 - 保留
zaclaw作为方案/视觉原型仓,不作为运行时产品。 - 兼容上游:卓安新增文件/扩展表为主,核心补丁登记台账。
3. 分阶段原型计划
| 阶段 | 内容 | 验收 |
|---|---|---|
| P0 归位 | 冻结 /zhuoan-app 产品定位;明确 /zhuoan 为主壳;建立本 ADR |
团队只认一个入口 |
| P1 案件闭环 | 真实清单、12 节点与 phase 同步、结果/归档清单门禁 | 同一案件页可完成节点推进 |
| P2 Agent 闭环 | zhuoan_case 工具、阶段化上下文、会话侧栏嵌入 |
Agent 能读当前节点/清单;聊天与案件同屏 |
| P3 五屏归位 | 工作台/驾驶舱/客户/知识原生视图接真实 API | 不再依赖 demoApi |
| P4 身份/后台 | 统一会话、企业微信真实联调、管理后台、审计 | 一套登录、一套权限 |
| P5 演示硬化 | 11/27 脚本、断网备份、彩排 | 8 分钟稳定走通 |
4. 已完成的第一批(2026-11-11)
- 新增
zhuoan_checklist真实清单表;24 项 12 节点模板。 - 清单 API:读取、更新、审计;结果/归档前必做项门禁。
- 12 节点推进同步案管
phase。 - Agent 新增
zhuoan_case只读工具(context/checklist),并注入当前节点清单摘要。 /zhuoan增加办案清单卡片,可直接更新状态。
4.1 第二批已完成(2026-11-11 晚)
对应提交(及锋定制层 zhuoan/dev):
| 能力 | 提交 | 验收 |
|---|---|---|
| 案件 + 会话同屏 | ba35c1f0 |
1920 下办理按钮不跳页,焦点进会话输入框 |
| 每案独立会话 | e0403961 |
两案切换各自恢复,新建会话自动回绑 |
| 12 节点技能收敛 | 33dd2385 |
治疗/办案 105→10 技能,提示 40k→4.8k 字符 |
| Agent 提议/律师确认 | d64e1224 |
清单与节点确认写回,取消/确认均审计 |
| 驾驶舱/客户/知识原生化 | 7fd356f5 |
三页签真实 API、筛选、下钻案件 |
| 原生律师工作台 | bd30a654 |
待办/风险/动态聚合并可下钻 |
| 待确认角标 / 侧栏改名 | 831afe43 |
案件页签显示待确认数量,侧栏统一“卓安办案台” |
当前 /zhuoan 已具备五页签:工作台、案件、驾驶舱、客户、知识;右侧保留及锋会话。
真实对话已实机验证:Agent 能回答当前案件节点和清单,服务端日志确认技能过滤生效。
4.2 壳重做:从“五个页签”到“案件业务壳”(2026-11-11 晚)
第一批五个页签虽然解决了“两个壳并排”,但仍然像“及锋里加了一个卓安模块”。项目组
明确指出后,改为以案件为中心的业务壳,提交 ace3dca4:
- 默认首页
/改为卓安办案台;及锋全屏会话退到/chat。 - 左侧一级导航改为角色化业务导航(工作 / 客户与线索 / 案件办理 / 复核与结案 / 管理与知识);及锋能力统一沉到“系统与 AI”。
- 顶部多标签承载工作台/案件/客户/驾驶舱/检查等页面。
- 案件图:案件头 + 案件切换 + 12 节点横向轨 + 10 个案件标签;移除旧右侧导轨。
- 右侧 Agent 副驾常驻;新增空状态、快捷提示、案件上下文条。
- 工作台按角色显示工作面入口;非案件模块用真实案件数据提供队列占位。
- 演示大屏保留为侧栏底部“备份”入口,不删除。
实机截图:docs/progress/assets/shell-s1-workbench.png、shell-s1-case.png。
S2/S3 增量(提交 e54f4894):案件列表带 12 节点 stage_key;工作台增加角色工作队列;
诊断/方案/复核接入真实清单项和节点进度;三个节点卡增加“让 Agent 分析/起草/复核”按钮,
点击把带案件上下文的提示词填入右侧 Agent。截图:shell-s2-workbench.png、shell-s2-diagnosis.png。
S3 节点工作记录(提交 e86a3f32):新增 zhuoan_node_record,检查/诊断/方案/复核四个
节点卡可保存记录并写审计;Agent 案件上下文注入最近记录。
S4 结案与归档(提交 65ce9870):新增 close/archive/unarchive 接口;结案复用案管
时限/排期/程序门禁,归档复用四项材料核对并要求先结案、节点在“归档/质控”;归档后
案件只读(节点推进/清单/记录均拒绝)。复核/结案标签形成完整动作卡。截图:
shell-s4-closed.png、shell-s4-archived.png。
S6 经营与质量(提交 46c02d47,V2 5c8c4a3d):新增 zhuoan_case_finance、
zhuoan_lead_ops、zhuoan_lead_event、zhuoan_channel_cost 扩展表与
GET /api/zhuoan/ops(ops:view 仅管理者);经营分析六页签覆盖渠道投放/ROI、
谈案漏斗(邀约/上门/签约)、律师评定(谈案/承办分开)、案件盈利(退款/净收)、
质量监控。财务/质量/律师评定为演示口径,正式版接财务、质控、人力数据源。
截图:shell-s6-ops-*.png(V1)、shell-s7-ops-*.png(V2)。
5. 明确不做
- 不在 V1 重写聊天前端;不保留第二套 Agent 入口。
- 不让 Agent 直接写案卷/推进阶段;写操作必须律师确认。
- 不把 C 类全文发给外部模型。
- 不在本轮删除
/zhuoan-app文件;先退出导航、留作参考。
6. 待确认
- 方案 A(及锋单壳)是否最终采纳;当前已按 A 落地,若改选方案 B(React 单壳), 本 ADR 的 2.1 和 P3 需要重写。
/zhuoan-app侧栏“演示大屏”入口是否下线。按“删除/剥离前先确认”的规则, 本轮只把五屏能力迁入原生页签,未移除该入口与文件。- 11/27 前是否保留
/zhuoan-app作为备份演示,不参加主流程。