Files
ai-contract-platform/project-docs/V2-legal-assets-management-page-2026-06-27.md
T
yuqei a3bb78e06b
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 16m35s
release: freeze V2 release candidate
2026-07-12 15:32:24 +08:00

3.9 KiB
Raw Permalink Blame History

V2 标准条款库 / 审查规则库管理页

日期:2026-06-27

背景

V1 Phase13 已沉淀标准条款库、审查规则库和模板绑定关系。V2 已完成模板库、条款推荐和一键修订闭环的基础能力后,需要给法务和管理员提供统一的资产管理视图,方便审阅条款、规则、法源绑定和风险修复关联。

本次完成

  • 新增 V2 管理页:/admin/legal-assets
  • 接入已有合同 API:
    • GET /api/v1/standard-clauses
    • GET /api/v1/standard-clauses/{clause_id}
    • GET /api/v1/review-rules
    • GET /api/v1/review-rules/{rule_id}
  • 新增前端代理:
    • /api/contract-platform/standard-clauses
    • /api/contract-platform/standard-clauses/[clauseId]
    • /api/contract-platform/review-rules
    • /api/contract-platform/review-rules/[ruleId]
  • 页面能力:
    • 标准条款和审查规则统计
    • 关键字搜索
    • 合同类型、条款分类、规则分类、风险等级筛选
    • 标准条款推荐文本、适用条件、不适用条件、使用提示、风险提示展示
    • 审查规则触发条件、审核输出模板、修改建议、人工复核边界展示
    • 法源 ID 展示
    • 条款到关联审查规则的跳转筛选
  • 权限入口:
    • 管理员和法务可访问
    • 左侧管理导航新增“条款规则库”
    • 管理首页新增“条款规则库”卡片

生命周期增强

本页已从只读管理视图增强为“静态正文 + V2 生命周期状态”模式:

  • 标准条款和审查规则正文仍来源于 V1 Phase13 静态 Markdown 迁移库。
  • 发布、下线、回滚、版本历史和审计 metadata 已进入 V2 数据库持久化。
  • 页面卡片展示当前状态、版本、变更次数和最近历史。
  • 页面卡片支持发布、下线、回滚操作。

新增持久化表:

  • legal_asset_lifecycle_events

新增 API:

  • GET /api/v1/standard-clauses/{clause_id}/history
  • POST /api/v1/standard-clauses/{clause_id}/publish
  • POST /api/v1/standard-clauses/{clause_id}/offline
  • POST /api/v1/standard-clauses/{clause_id}/rollback
  • GET /api/v1/review-rules/{rule_id}/history
  • POST /api/v1/review-rules/{rule_id}/publish
  • POST /api/v1/review-rules/{rule_id}/offline
  • POST /api/v1/review-rules/{rule_id}/rollback

当前边界

条款/规则正文编辑、diff 和发布前校验尚未接入。下一步建议参考模板编辑能力,增加法律资产草稿、字段级 diff、绑定法源/绑定条款校验,再将发布动作改为使用草稿快照。

后续建议

下一步可进入条款/规则编辑校验:

  1. 设计 legal_asset_edit_drafts 或拆分 standard_clause_edit_drafts、review_rule_edit_drafts。
  2. 增加条款正文、触发条件、修改建议、法源绑定、关联条款的 diff。
  3. 增加发布前校验,校验法源 ID、条款 ID、规则 ID 是否存在。
  4. 将 AI 审查风险项的条款推荐优先读取已发布版本,避免静态资产和管理状态脱节。

验证

  • npm run web:typecheck 通过。
  • npm run web:build 通过。
  • python -m pytest yuqei-contract-platform/services/contract-api/tests/test_contract_workflow.py -q 通过。
  • 本地 smoke:
    • GET http://localhost:8100/api/v1/standard-clauses 返回 8 条标准条款。
    • GET http://localhost:8100/api/v1/review-rules 返回 8 条审查规则。
    • GET http://localhost:3000/api/contract-platform/review-rules 代理返回 200。
    • 浏览器打开 http://localhost:3000/admin/legal-assets,页面显示 8 条标准条款、8 条审查规则。
    • 浏览器打开 http://localhost:3000/admin/legal-assets?tab=rules&risk_level=高,页面显示 4 条高风险规则。

备注:本次本地后端 smoke 使用临时 SQLite 文件 .runtime/contract-api-legal-assets-smoke.sqlite3。当前默认 .runtime/contract-api.sqlite3 是旧 schema,启动时报 contracts has no column named tenant_id,需要迁移后再作为默认本地库使用。