feat: 完成三角色工作台及金租对公Skills全流程演示

This commit is contained in:
NathanAlex7
2026-09-15 10:32:24 +08:00
parent 5f0b1f9409
commit 47ec090345
58 changed files with 2534 additions and 609 deletions
@@ -0,0 +1,187 @@
# 三角色对公业务工作台开发任务 v1.1
更新日期:2026-09-14
状态:开发基线(客户经理、评审员、配置管理员需求已确认)
## 1. 首要原则
1. 简洁、好用、可用是第一要务。业务用户只处理业务问题,不学习 SQL、提示词或 Agent 技术。
2. 所有预审、评审、计算和报告生成统一由 mini-openclaw 调度已发布的 Skills、规则、经验和模板,不建立旁路计算链。
3. 页面明显位置始终显示当前身份和当前项目;越权操作由后端拒绝,不能只靠前端隐藏。
4. 每次运行冻结项目数据和组件版本。历史预审、评审和报告不可覆盖,并可从项目内点击查看。
5. 重要数字、风险和建议均可追溯到数据卡、证据、Skill、规则、经验、模板和运行编号。
6. 时间事件自动记录,不要求工作人员手工打卡;统计区分处理、排队、外部等待和系统执行。
## 2. 统一架构
```text
页面按钮 / 对话指令
↓
统一业务命令与项目权限
↓
mini-openclaw 运行(run_id)
↓
数据卡 + Skills + 规则 + 经验 + 报告模板
↓
问题、补件、方案、报告、经验和时间事件
```
系统使用一个组件目录和两套角色业务方案:
- `corporate.pre-review`:客户经理提交正式评审前的风险筛查。
- `corporate.independent-review`:评审员独立复核及评审报告生成。
公共事实、确定性计算和正式规则保持同源;角色方案的深度、动作权限和输出不同。
## 3. 客户经理工作台
主线:选择项目 → 补充证据 → AI 预审 → 回应风险/现场核实 → 再次预审 → AI 预审报告 → 提交主审。
首版页面只保留:
- 我的项目:待补材料、待回应风险、最近预审、明确的下一步。
- 项目办理:材料与问题、AI 预审记录、报告、时间轴。
- 提交准备卡:材料、时效、必做检查、风险处理和报告状态,不使用来源不明的综合分。
- 现场尽调清单:由未闭环风险生成,支持说明和附件回填证据链。
客户经理使用系统默认方案,可选已发布专项 Skill,并可输入仅作用于本项目的自然语言检查要求;不能配置数据源、SQL、模型或发布公司规则。
## 4. 评审员工作台
主线:接收项目 → 独立复核 → 质疑补件 → 方案测算 → 评审报告 → 上会摘要 → 经验候选。
首版页面只保留:
- 我的待审:收件时间、排队时间、当前阶段、补件等待和下一步。
- 独立评审:查看送审包,但新建独立 `review_run_id`,不覆盖客户经理预审。
- 风险分歧:同意、证据覆盖、误报、遗漏、计算修正、现场核实、方案调整。
- 评审报告:统一核心要素,行业/部门模板可配置;一键生成上会摘要。
- 经验沉淀:系统预填经验候选,评审员只做确认、修改或放弃。
个人意见不自动成为公司经验;经验经评测、审核和发布后才能反哺客户经理预审,反复验证后才能升级为正式规则。
## 5. 配置管理员
管理端只保留三个入口:
1. 模型与运行:模型 URL、服务端 Key 引用、本地/私有云模型、连接测试和运行状态。
2. 数据与权限:统一数据连接、数据卡、字段口径、角色模板、人员和项目授权。
3. 业务组件:Skills、规则、经验、业务方案和报告模板的草稿、评测、审核、发布及回退。
数据连接按数据域统一配置,不为每个人复制连接;人员配置的是角色、项目和数据权限。管理员能配置权限,不代表自动获得全部项目内容。
## 6. 对话式业务入口
原 mini-openclaw 对话框调整为受身份和项目约束的便捷业务入口。页面操作和对话操作必须调用同一业务服务。
首版支持:
- 查询项目缺件、风险、最近预审和下一步。
- 上传材料到当前项目并进入项目材料版本及证据链。
- 发起 AI 预审或评审员独立复核。
- 生成相应角色的报告草稿。
- 打开项目、预审记录、报告和时间轴。
提交正式评审、定稿、发布组件、修改权限、删除资料和外发文件必须二次确认。
## 7. 报告模板
模板是展示协议,不是业务事实来源。首版包含:
- AI 预审报告(业务提交前)
- 独立评审报告
- 上会摘要
统一核心章节不可删除;允许按行业或部门增加章节。报告冻结模板版本,正文的重要事实与风险可点击查看执行依据。客户经理预审报告不作审批结论;评审员报告保留独立专业判断和责任边界。
## 8. 时间追踪与看板
客户经理阶段:资料收集、AI 预审、补件等待、报告整理、提交准备。
评审员阶段:收件排队、材料初核、独立审查、补件等待、复核、报告编制、内部审核、上会准备。
看板提供:
- 单项目高端时间轴和阶段占比。
- 业务端准备周期与评审周期两个口径。
- 中位数、P75、各阶段分布、补件轮次和报告修改轮次。
- 按角色、行业、月份筛选;个人只看授权项目,负责人看汇总。
不把外部等待算作人员实际处理时间,不做缺乏业务解释的个人排名。
## 9. SQLite 演示数据
使用 `backend/xingbang_data/project_assistant.sqlite3` 作为本地运行库,由版本化 fixture 自动初始化。新增规范化时间事件表,用于真实记录阶段开始、结束、角色、来源运行和耗时。
另提供 `backend/xingbang_data/xingbang_business_demo.sqlite3` 作为脱敏多表业务源,包含客户、项目、融资方案、多期财务、租赁物、保险、增信、征信、涉诉、还款来源和材料索引。数据卡通过只读参数化 SQL 读取指定字段并映射为标准字段,配置说明见《对公多表业务库与数据卡说明》。
演示最小数据集包含:
- DEMO-A:资料完整、可快速形成预审报告。
- DEMO-B:现金流缺失、负债口径冲突、设备重复及覆盖不足,可演示补件和重跑。
- DEMO-C:回款依赖,可演示评审经验发布后反哺预审。
数据库必须由 SQL schema 和固定 fixture 可重复生成;运行数据目录不进入 Git。
## 10. 首版验收流程
1. 切换客户经理身份,页面明显显示身份。
2. 打开 DEMO-B,查看提交准备卡和时间轴。
3. 上传补件并确认来源,发起 mini-openclaw AI 预审。
4. 点击任一历史预审查看冻结卡片、证据和执行轨迹。
5. 生成 AI 预审报告并提交评审。
6. 切换评审员身份,看到待审项目和评审耗时。
7. 发起独立评审,处理分歧,生成评审报告和上会摘要。
8. 将一条评审修正保存为经验候选并发布演示经验。
9. 对 DEMO-C 运行预审,确认已发布经验增加了核实动作。
10. 切换配置管理员,查看模型、数据权限和组件治理;管理员默认不自动打开项目内容。
11. 在对话入口查询项目、上传材料或发起检查,项目页面出现对应真实记录。
12. 运行 `python scripts/verify.py`,全部通过后方可构建和部署。
## 11. 业务易用性缺陷修复清单
共同验收原则:一眼看懂、一步到达、能选不写、技术信息后置;任何单条异常数据不得造成整页崩溃。
| 编号 | 问题 | 修复目标 |
| --- | --- | --- |
| BUG-001 | 缺少 mini-openclaw 原生入口 | 业务助手内增加项目上下文绑定的原生对话选项卡 |
| BUG-002 | 问题数量无法直达 | 概览卡点击直达未处理问题,并显示问题、影响和解决动作 |
| BUG-003 | 检查结果直接显示 JSON | 默认改为中文业务结论卡,技术明细折叠 |
| BUG-004 | 历史记录是技术日志 | 分类汇总、中文关键事件时间轴、对象可点击 |
| BUG-005 | 评审员卡片没有提交与等待时间 | 提交后进入公共待评审池;与客户经理提交事件使用同一时间源,按等待时长排序,评审员领取后停止排队计时并留痕 |
| BUG-006 | 评审员缺少全链路决策视图 | 数据来源、AI判断、客户经理说明、评审选择与报告串联 |
| BUG-007 | 时间轨迹渲染对象导致崩溃 | 详情安全格式化并提供异常数据降级显示 |
| BUG-008 | 时效页角色筛选与身份切换混淆 | 复用首页身份组件;管理员另设统计范围筛选 |
| BUG-009 | 项目评审池缺少独立入口和客户经理视图 | 新增统一“项目评审池”页面;评审员领取项目,客户经理查看自己的送审项目、撤回并重新推送 |
| BUG-010 | “方案比较”没有明确使用价值 | 从客户经理和评审员界面移除该功能,减少无效入口 |
| BUG-011 | 评审员页面只突出 AI 问题,容易把“AI 未报错”误解为“无需人工评审” | 改为覆盖全部必审事项的节点式三链评审,逐项形成评审员结论 |
| BUG-012 | 提交成功后仍停留在报告页,用户无法确认项目是否进入评审池 | 提交成功后直接进入项目评审池,高亮刚提交项目并明确显示提交时间和等待状态 |
### BUG-009 项目评审池交互约定
- 顶部导航新增“项目评审池”,不再把评审池仅作为项目工作台的隐含首页。
- 评审员视图:显示待领取和本人已领取项目;按等待时长排序;卡片显示客户经理提交时间、等待时长、当前状态和“领取/继续办理”。
- 客户经理视图:只显示本人提交的项目;卡片显示提交版本、提交时间、等待时长、领取状态和评审进度。
- 客户经理可撤回尚未形成最终评审结论的当前有效送审版本;撤回必须二次确认,并同步终止该版本的排队或评审计时、通知当前评审员并写入操作留痕。
- 撤回后可重新推送。重新推送只替换评审池中的“当前有效版本”,不得删除或覆盖历史报告、输入快照、Skills/规则版本、评审动作和撤回记录。
- 同一项目在评审池中最多只有一个当前有效送审版本,避免重复领取和多人同时办理。
### BUG-010 方案比较移除约定
- 客户经理和评审员工作台删除一级“方案比较”页签及其操作界面。
- 不新增替代入口,避免用低频演示能力增加业务人员理解负担。
- 已形成的历史情景对象和兼容接口暂不删除,仅作为旧数据的只读追溯能力保留,不在新业务主线中展示。
### BUG-011 全链路节点式评审约定
- 评审员页面必须展示全部必审事项,AI 未发现异常不等于人工已完成评审,不能自动跳过或自动确认。
- 按主体信息、财务与现金流、租赁物、增信措施、征信与涉诉、交易结构等业务主题组织节点,避免按技术 Skill 名称组织页面。
- 每个业务节点固定为三条并行信息链:
1. 数据链:关键数据、材料来源、定位、口径一致性和缺失状态,来源可点击查看。
2. AI 判断链:AI 结论、理由、命中的 Skill/规则和证据;正常、待关注、异常分别显示明确文字、图标和颜色。
3. 评审决策链:评审员选择“认可 / 要求补件 / 不采纳 AI 判断”,并选择常用意见或补充简短说明。
- AI 认为有问题的节点使用醒目的红色;材料缺失或口径冲突使用橙色;检查正常使用绿色;尚未人工评审使用灰色。状态不能只依赖颜色表达。
- 默认优先展开红色、橙色和未评审节点;绿色检查项保持折叠,由评审员按业务章节一次确认,避免逐条点击增加负担。
- 页面顶部显示“已评审节点数 / 必审节点总数、异常数、待补件数”,点击数字可定位到对应节点。
- 所有必审章节形成明确人工结论后,才允许执行“批准并生成评审报告”;异常项须逐项闭环,正常项允许章节批量确认。仍有未评审章节、待补件或待现场核查事项时,按钮禁用并直接提示缺少哪些确认。
- 评审报告按相同业务节点汇总数据来源、AI 判断、评审员结论和意见,保证页面与最终报告一一对应。
- 每次评审判断由服务端自动绑定运行、冻结快照、证据编号、材料定位和 Skill/规则版本;不能由前端自行填写或删改追溯关系。
@@ -0,0 +1,64 @@
# 对公多表业务库与数据卡说明
## 1. 定位
本库是脱敏的业务演示库,表结构按融资租赁对公项目拆分,不包含真实客户信息。它用于验证:一个数据卡可以通过受控 SQL 连接多张表、选取部分字段、映射为统一业务字段,再交给 mini-openclaw 的 Skills 和规则使用。
客户经理不配置数据库或 SQL。配置管理员维护数据连接、允许访问的表、参数化 SQL、字段映射和口径;客户经理只选择已发布的业务方案。
## 2. 文件
- 可重复生成的结构与数据:`backend/fixtures/xingbang_demo/business_database.sql`
- 生成服务:`backend/services/business_demo_database.py`
- 手工生成入口:`scripts/build_business_demo_db.py`
- 本地运行库:`backend/xingbang_data/xingbang_business_demo.sqlite3`(运行数据,不提交 Git)
重新生成:
```powershell
.\backend\venv\Scripts\python.exe scripts\build_business_demo_db.py --force
```
## 3. 业务表
| 表 | 用途 |
|---|---|
| `corporate_customer` | 对公客户主数据 |
| `lease_project` | 租赁项目主数据 |
| `financing_scheme` | 融资方案及版本 |
| `financial_statement` | 多期、多口径财务报表 |
| `lease_asset` | 租赁物明细及唯一编号 |
| `insurance_policy` | 保险保单 |
| `guarantee_measure` | 保证金、保证及质押措施 |
| `credit_snapshot` | 征信快照 |
| `legal_case` | 涉诉与执行案件 |
| `repayment_source` | 还款来源及佐证状态 |
| `project_document` | 项目材料索引,不保存文件正文 |
库内提供 `DEMO-A`、`DEMO-B`、`DEMO-C` 三个项目。金额、名称和编号均为演示数据。
## 4. 已配置的数据卡
| 数据卡 | SQL 涉及的表 | 主要标准字段 |
|---|---|---|
| 项目与授信方案 | 客户、项目、融资方案 | `project.id`、`customer.name`、`facility.amount`、`facility.term` |
| 多期财务报表 | 财务报表 | 期间、口径、资产、负债、经营现金流 |
| 征信与涉诉汇总 | 征信、涉诉 | 报告日期、逾期、查询次数、案件数量和金额 |
| 租赁物与增信汇总 | 租赁物、保险、增信 | 租赁物价值、重复编号、保额、保证金、保证金额 |
| 还款来源与材料 | 还款来源 | 是否依赖特定回款、材料状态、预计金额 |
已发布方案 `plan-business-sql` 在配置工作台用于单独自查;项目工作台中的 `corporate.business-sql` 使用同一组数据卡完成 AI 预审。
## 5. SQL 配置约束
- 仅允许一条参数化 `SELECT` 或 `WITH ... SELECT`。
- 项目条件使用服务端参数 `:project_id`,不得字符串拼接。
- 数据连接配置允许表白名单,SQL 不能访问白名单之外的表或系统表。
- SQLite 以只读模式打开,并由数据库授权器再次禁止写操作。
- 每次查询限制时间和行数;数据卡负责多期、口径、单位和唯一粒度对齐。
- 数据库密码只引用服务器环境变量,不进入 SQL、数据卡或运行快照。
- 每次运行冻结数据卡版本、字段映射、查询结果哈希和字段级来源,AI 不具备自行执行 SQL 的工具。
## 6. 生产替换方式
正式环境可将连接类型从 SQLite 换为 PostgreSQL 或 MySQL,SQL 改为只读视图查询,字段仍映射到相同的标准字段。Skills、规则和报告模板不需要理解源系统的表名,从而避免 ERP 字段变化直接影响业务逻辑。
+50
View File
@@ -0,0 +1,50 @@
# 金租对公业务 Skills 说明
## 1. 设计目标
本轮将通用风险分析拆成可选择、可追溯的金租对公业务方法。客户经理与评审员只选择已经发布的 Skill 卡;配置管理员维护 Skill 文件、适用角色、输入字段和版本。
监管条文用于确定核查方向,不直接生成公司内部数值阈值。金额、比率和规则命中仍由确定性程序及已发布规则完成,AI 只形成带证据的核查建议。
## 2. 已装载 Skills
| Skill 卡 | 用途 | 原生文件 |
| --- | --- | --- |
| 承租人及还款能力核查 | 经营、财务、信用、现金流、还款来源 | `financial-leasing-lessee-review/SKILL.md` |
| 租赁物适格性与权属核查 | 类型、权属、特定化、估值、保险、处置 | `financial-leasing-asset-review/SKILL.md` |
| 售后回租真实性核查 | 原始权属、所有权转移、估值、需求和用途 | `financial-leasing-sale-leaseback-review/SKILL.md` |
| 增信、关联交易与集中度核查 | 保证、抵质押、关联关系和集中度缺口 | `financial-leasing-guarantee-concentration/SKILL.md` |
| 独立评审与报告证据核查 | 全链路复核、人工决策和报告证据 | `financial-leasing-review-report/SKILL.md` |
配置方案 `plan-financial-leasing-corporate` 将五张业务数据卡、确定性检查和前四项金租方法组合为“金租对公项目全链路预审”。
## 3. 官方依据
- 国家金融监督管理总局令2024年第6号《金融租赁公司管理办法》:https://www.nfra.gov.cn/cn/view/pages/ItemDetail.html?docId=1179609&itemId=4214
- 金规〔2025〕25号《金融租赁公司融资租赁业务管理办法》(2026年1月1日起施行):https://www.nfra.gov.cn/cn/view/pages/ItemDetail.html?docId=1236230&itemId=928
- 国家金融监督管理总局相关答记者问:https://www.nfra.gov.cn/cn/view/pages/ItemDetail.html?docId=1236281&itemId=917
- 银监发〔2004〕51号《商业银行授信工作尽职指引》,仅作为其他银行业金融机构可参照的对公授信分析方法:https://fgw.sh.gov.cn/cmsres/82/8294942ccaef4bdfb40dd22e18d3f59c/04c522136bc6274c13ec74c9bda51674.pdf
## 4. 从本地文件夹导入
配置管理员进入“配置治理 → Skills 能力库”,点击“从本地文件夹导入”,选择包含一个或多个 `SKILL.md` 的目录。系统只读取 `SKILL.md`,不上传或执行 Python、Shell 等脚本。
每个文件必须包含:
```yaml
---
name: my-financial-leasing-skill
description: 一句话说明什么时候使用这个 Skill
metadata:
display_name: 页面显示名称
category: 业务分类
inputs: [facility.amount, lease.total_value]
version: 1.0.0
---
```
本机预览环境导入后直接发布;正式身份环境导入为草稿,需走独立审核发布。文件保存到受管理的 `backend/skills/imported/`,Skill 卡保存其相对路径和版本,运行时冻结文件内容及哈希。
## 5. 旧 Skills 处理
改造前的完整副本保存在 `backend/skills_backup_pre_financial_leasing_20260915/`。天气类 Skills 已设为归档,不再出现在原生 Skills 列表;原文件未删除,历史运行不受影响。